diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 2f6fa64a9..000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,143 +0,0 @@ -version: 2 -updates: - - package-ecosystem: maven - directory: / - open-pull-requests-limit: 10 - schedule: - interval: daily - labels: - - "version-upgrade" - - # npm dependencies - - package-ecosystem: npm - directory: ui-super-heroes/src/main/webui - open-pull-requests-limit: 10 - schedule: - interval: daily - target-branch: main - labels: - - "version-upgrade" - - ui - - # Dependencies for the 3.8.Final branch - - package-ecosystem: maven - directory: / - open-pull-requests-limit: 10 - schedule: - interval: daily - target-branch: 3.8.Final - labels: - - "version-upgrade" - ignore: - - dependency-name: org.apache.maven.plugins:maven-compiler-plugin - - dependency-name: "io.quarkus.platform:quarkus-bom" - update-types: [ "version-update:semver-major", "version-update:semver-minor" ] - - dependency-name: "io.quarkus.platform:quarkus-maven-plugin" - update-types: [ "version-update:semver-major", "version-update:semver-minor" ] - - dependency-name: "io.quarkus:quarkus-panache-common" - update-types: ["version-update:semver-major", "version-update:semver-minor"] - - dependency-name: "io.github.microcks.quarkus:quarkus-microcks" - - dependency-name: "io.quarkiverse.langchain4j:quarkus-langchain4j-bom" - - dependency-name: "org.wiremock:wiremock-grpc-extension" - - # Dependencies for the 3.2.Final branch - - package-ecosystem: maven - directory: / - open-pull-requests-limit: 10 - schedule: - interval: daily - target-branch: 3.2.Final - labels: - - "version-upgrade" - ignore: - - dependency-name: org.apache.maven.plugins:maven-compiler-plugin - - dependency-name: "io.quarkus.platform:quarkus-bom" - update-types: ["version-update:semver-major", "version-update:semver-minor"] - - dependency-name: "io.quarkus.platform:quarkus-maven-plugin" - update-types: ["version-update:semver-major", "version-update:semver-minor"] - - dependency-name: "io.quarkus:quarkus-panache-common" - update-types: ["version-update:semver-major", "version-update:semver-minor"] - - # Dependencies for the rhbq-3.8 branch - - package-ecosystem: maven - directory: / - open-pull-requests-limit: 10 - schedule: - interval: daily - target-branch: rhbq-3.8 - labels: - - "version-upgrade" - ignore: - - dependency-name: org.apache.maven.plugins:maven-compiler-plugin - - dependency-name: "com.redhat.quarkus.platform:quarkus-bom" - update-types: [ "version-update:semver-major", "version-update:semver-minor" ] - - dependency-name: "com.redhat.quarkus.platform:quarkus-maven-plugin" - update-types: [ "version-update:semver-major", "version-update:semver-minor" ] - - dependency-name: "io.quarkus:quarkus-panache-common" - update-types: ["version-update:semver-major", "version-update:semver-minor"] - - dependency-name: "io.github.microcks.quarkus:quarkus-microcks" - - dependency-name: "io.quarkiverse.langchain4j:quarkus-langchain4j-bom" - - dependency-name: "org.wiremock:wiremock-grpc-extension" - - # Dependencies for the rhbq-3.2 branch - - package-ecosystem: maven - directory: / - open-pull-requests-limit: 10 - schedule: - interval: daily - target-branch: rhbq-3.2 - labels: - - "version-upgrade" - ignore: - - dependency-name: org.apache.maven.plugins:maven-compiler-plugin - - dependency-name: "com.redhat.quarkus.platform:quarkus-bom" - update-types: ["version-update:semver-major", "version-update:semver-minor"] - - dependency-name: "com.redhat.quarkus.platform:quarkus-maven-plugin" - update-types: ["version-update:semver-major", "version-update:semver-minor"] - - dependency-name: "io.quarkus:quarkus-panache-common" - update-types: ["version-update:semver-major", "version-update:semver-minor"] - - # Maintain dependencies for GitHub Actions - - package-ecosystem: github-actions - directory: / - open-pull-requests-limit: 10 - schedule: - interval: daily - labels: - - "version-upgrade" - - - package-ecosystem: github-actions - directory: / - open-pull-requests-limit: 10 - schedule: - interval: daily - target-branch: 3.2.Final - labels: - - "version-upgrade" - - - package-ecosystem: github-actions - directory: / - open-pull-requests-limit: 10 - schedule: - interval: daily - target-branch: rhbq-3.2 - labels: - - "version-upgrade" - - - package-ecosystem: github-actions - directory: / - open-pull-requests-limit: 10 - schedule: - interval: daily - target-branch: 3.8.Final - labels: - - "version-upgrade" - - - package-ecosystem: github-actions - directory: / - open-pull-requests-limit: 10 - schedule: - interval: daily - target-branch: rhbq-3.8 - labels: - - "version-upgrade" diff --git a/.github/quarkus-ecosystem-test b/.github/quarkus-ecosystem-test deleted file mode 100755 index b42f27057..000000000 --- a/.github/quarkus-ecosystem-test +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -set -e - -run_build() { - local java_version=$1 - - for project in "event-statistics" "rest-fights" "rest-heroes" "rest-villains" "rest-narration" "grpc-locations" "ui-super-heroes" - do - $project/mvnw -f $project/pom.xml \ - --settings .github/quarkus-ecosystem-maven-settings.xml \ - -B clean verify \ - -Dquarkus.platform.group-id=io.quarkus \ - -Dquarkus.platform.version=${QUARKUS_VERSION} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dmaven.compiler.release=$java_version \ - -DisNightlyEcosystemTest=true - done -} - -echo "Running build for Java 17" -echo "JAVA_HOME=${JAVA_HOME}" -run_build 17 diff --git a/.github/workflows/azure-static-web-apps-orange-rock-0d20a680f.yml b/.github/workflows/azure-static-web-apps-orange-rock-0d20a680f.yml deleted file mode 100644 index ec598011f..000000000 --- a/.github/workflows/azure-static-web-apps-orange-rock-0d20a680f.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Azure Static Web Apps CI/CD - -on: - workflow_dispatch: - -jobs: - build_and_deploy_job: - if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') - runs-on: ubuntu-latest - name: Build and Deploy Job - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - name: Build And Deploy - id: builddeploy - uses: Azure/static-web-apps-deploy@v1 - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_ORANGE_ROCK_0D20A680F }} - repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) - action: "upload" - ###### Repository/Build Configurations - These values can be configured to match your app requirements. ###### - # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig - app_location: "/ui-super-heroes" # App source code path - api_location: "." # Api source code path - optional - output_location: ".github/workflows" # Built app content directory - optional - ###### End of Repository/Build Configurations ###### - - close_pull_request_job: - if: github.event_name == 'pull_request' && github.event.action == 'closed' - runs-on: ubuntu-latest - name: Close Pull Request Job - steps: - - name: Close Pull Request - id: closepullrequest - uses: Azure/static-web-apps-deploy@v1 - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_ORANGE_ROCK_0D20A680F }} - action: "close" diff --git a/.github/workflows/build-push-container-images-2.13.Final.yml b/.github/workflows/build-push-container-images-2.13.Final.yml deleted file mode 100644 index 75bec3d39..000000000 --- a/.github/workflows/build-push-container-images-2.13.Final.yml +++ /dev/null @@ -1,521 +0,0 @@ -name: Build and Push Container images - 2.13.Final - -env: - IMAGE_BASE_NAME: "quay.io/quarkus-super-heroes" - MANDREL_IMAGE: "quay.io/quarkus/ubi-quarkus-mandrel-builder-image" - MANDREL_VERSION: "22.3" - LATEST_IMAGE_TAG: "latest" - NATIVE_JAVA_VERSION: "17" - -on: - workflow_run: - workflows: - - "Basic build and test" - branches: - - 2.13.Final - types: - - completed - workflow_dispatch: - -concurrency: - group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.workflow_run.head_branch || github.event.ref || github.ref }}" - cancel-in-progress: false - -jobs: - build-jvm-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == '2.13.Final')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == '2.13.Final'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '11' - - '17' - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - arch: - - amd64 - - arm64 - name: "Build JVM images (${{ matrix.arch }}-${{ matrix.project }}-java${{ matrix.java }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create env vars - working-directory: ${{ matrix.project }} - run: | - if [[ ${{ matrix.java }} == '11' ]]; then - echo "JVM_DOCKERFILE=Dockerfile.jvm" >> "$GITHUB_ENV" - else - echo "JVM_DOCKERFILE=Dockerfile.jvm${{ matrix.java }}" >> "$GITHUB_ENV" - fi - - - name: Create container tags - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Set up QEMU - if: matrix.arch == 'arm64' - uses: docker/setup-qemu-action@v3 - with: - platforms: ${{ matrix.arch }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Build JVM image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - working-directory: ${{ matrix.project }} - run: | - ./mvnw -B clean package -DskipTests \ - -Dmaven.compiler.release=${{ matrix.java }} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dquarkus.container-image.build=true \ - -Dquarkus.container-image.push=false \ - -Dquarkus.container-image.tag=${{ env.CONTAINER_TAG }} \ - -Dquarkus.docker.dockerfile-jvm-path=src/main/docker/${{ env.JVM_DOCKERFILE }} \ - -Dquarkus.docker.buildx.platform=linux/${{ matrix.arch }} - - - name: Save JVM Image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}" - - build-native-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == '2.13.Final')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == '2.13.Final'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - arch: - - amd64 - name: "Build Native images (${{ matrix.arch }}-${{ matrix.project }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ env.NATIVE_JAVA_VERSION }} - distribution: temurin - cache: maven - - - name: Create container tags - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=native-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Build native image (${{ matrix.project }}-${{ matrix.arch }}) - working-directory: ${{ matrix.project }} - run: | - ./mvnw -B clean package -DskipTests -Pnative \ - -Dmaven.compiler.release=${{ env.NATIVE_JAVA_VERSION }} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dquarkus.native.container-build=true \ - -Dquarkus.native.builder-image=${{ env.MANDREL_IMAGE }}:${{ env.MANDREL_VERSION }}-java${{ env.NATIVE_JAVA_VERSION }} \ - -Dquarkus.container-image.build=true \ - -Dquarkus.container-image.push=false \ - -Dquarkus.container-image.tag=${{ env.CONTAINER_TAG }} - - - name: Save native Image (${{ matrix.project }}-${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}" - - build-ui-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == '2.13.Final')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == '2.13.Final'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - amd64 - - arm64 - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Set up QEMU - if: matrix.arch == 'arm64' - uses: docker/setup-qemu-action@v3 - with: - platforms: arm64 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Create container tag (main branch) - if: env.BRANCH == 'main' - run: echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Create container tag (other branch) - if: env.BRANCH != 'main' - run: echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Build UI image (${{ matrix.arch }}) - uses: docker/build-push-action@v6 - with: - context: ui-super-heroes - platforms: linux/${{ matrix.arch }} - push: false - load: true - tags: ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }} - - - name: Save UI image (${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }}" - - push-app-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == '2.13.Final')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == '2.13.Final'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - needs: - - build-jvm-images - - build-native-images - - build-ui-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '11' - - '17' - kind: - - "" - - "native-" - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - arch: - - amd64 - - arm64 - exclude: - # Excludes native java 11 from the matrix - - kind: 'native-' - java: '11' - # Excludes native arm64 from the matrix - - kind: 'native-' - arch: 'arm64' - name: "Push app images (${{ matrix.arch }}-${{ matrix.project }}-${{ matrix.kind }}java${{ matrix.java }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create CONTAINER_TAG (JVM) - if: matrix.kind == '' - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Create CONTAINER_TAG (native) - if: matrix.kind == 'native-' - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=native-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Get saved images (${{ matrix.project }}:${{ env.CONTAINER_TAG }}) - uses: ishworkh/container-image-artifact-download@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}" - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Push images - working-directory: ${{ matrix.project }} - run: "docker push -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}" - - push-ui-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == '2.13.Final')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == '2.13.Final'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - needs: - - build-jvm-images - - build-native-images - - build-ui-images - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - amd64 - - arm64 - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: 17 - distribution: temurin - cache: maven - - - name: Create env vars (main branch) - if: env.BRANCH == 'main' - working-directory: ui-super-heroes - run: echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Create env vars (other branch) - if: env.BRANCH != 'main' - working-directory: ui-super-heroes - run: echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Get Saved UI Image (${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-download@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }}" - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Push UI image (${{ matrix.arch }}) - working-directory: ui-super-heroes - run: "docker push -a ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes" - - create-app-multiarch-manifests: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == '2.13.Final')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == '2.13.Final'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - needs: push-app-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '11' - - '17' - kind: - - "" - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - name: Create app multiarch manifests (${{ matrix.project }}-${{ matrix.kind }}java${{ matrix.java }}) - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create Create container tags - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Create and push multi-arch JVM manifests - shell: bash - run: | - docker manifest create ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-amd64 \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-arm64 - docker manifest push ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} - - create-ui-multiarch-manifests: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == '2.13.Final')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == '2.13.Final'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - needs: push-ui-images - runs-on: ubuntu-latest - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: 17 - distribution: temurin - cache: maven - - - name: Create env vars (main branch) - if: env.BRANCH == 'main' - working-directory: ui-super-heroes - run: echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}" >> $GITHUB_ENV - - - name: Create env vars (other branch) - if: env.BRANCH != 'main' - working-directory: ui-super-heroes - run: echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Create and push multi-arch manifests - shell: bash - run: | - docker manifest create ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }} \ - -a ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }}-amd64 \ - -a ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }}-arm64 - docker manifest push ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }} - - deploy-resources-workflow-run: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == '2.13.Final')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == '2.13.Final'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - needs: - - create-app-multiarch-manifests - - create-ui-multiarch-manifests - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.event.workflow_run.head_commit.id }} - branch: ${{ github.event.workflow_run.head_branch }} - - deploy-resources-workflow-dispatch: - if: ((github.event_name == 'workflow_dispatch') && (github.repository == 'quarkusio/quarkus-super-heroes')) && (github.ref_name == '2.13.Final') - needs: - - create-app-multiarch-manifests - - create-ui-multiarch-manifests - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.sha }} - branch: ${{ github.ref_name }} - - cleanup-artifacts: - needs: - - deploy-resources-workflow-run - - deploy-resources-workflow-dispatch - if: always() - runs-on: ubuntu-latest - steps: - - name: Delete artifacts - env: - WEBHOOK_SECRET: ${{ secrets.WEBHOOK_SECRET }} - run: | - echo "::add-mask::$WEBHOOK_SECRET" - curl --verbose --fail --show-error --location --request POST "https://api.github.com/repos/$GITHUB_REPOSITORY/dispatches" --header "Authorization: token $WEBHOOK_SECRET" --header 'Content-Type: application/json' --header 'Accept: application/vnd.github.everest-preview+json' --data-raw "{ \"event_type\": \"delete_all_artifacts\", \"client_payload\": {\"parent_runid\": \"$GITHUB_RUN_ID\", \"parent_repo\": \"$GITHUB_REPOSITORY\"} }" diff --git a/.github/workflows/build-push-container-images.yml b/.github/workflows/build-push-container-images-3.15.Final.yml similarity index 91% rename from .github/workflows/build-push-container-images.yml rename to .github/workflows/build-push-container-images-3.15.Final.yml index d1f83eaa9..f54e24ac5 100644 --- a/.github/workflows/build-push-container-images.yml +++ b/.github/workflows/build-push-container-images-3.15.Final.yml @@ -1,22 +1,16 @@ -name: Build and Push Container images +name: Build and Push Container images (3.15.Final) env: IMAGE_BASE_NAME: "quay.io/quarkus-super-heroes" MANDREL_IMAGE: "quay.io/quarkus/ubi-quarkus-mandrel-builder-image" LATEST_IMAGE_TAG: "latest" DEFAULT_TIMEFRAME: "24 hours" + BRANCH: 3.15.Final on: -# workflow_run: -# workflows: -# - "Basic build and test" -# branches: -# - main -# types: -# - completed workflow_dispatch: schedule: - - cron: "0 0 * * *" + - cron: "0 2 * * *" concurrency: group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.workflow_run.head_branch || github.event.ref || github.ref }}" @@ -31,20 +25,16 @@ jobs: runs-on: ubuntu-latest outputs: ref: ${{ steps.calculate_branch.outputs.ref}} - branch: ${{ steps.calculate_branch.outputs.branch}} steps: - name: Calculate Branch id: calculate_branch run: | if [[ ${{ github.event_name }} == 'workflow_run' ]]; then echo "ref=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_OUTPUT - echo "branch=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_OUTPUT elif [[ ${{ github.event_name}} == 'workflow_dispatch' ]]; then echo "ref=${{ github.sha }}" >> $GITHUB_OUTPUT - echo "branch=${{ github.ref_name }}" >> $GITHUB_OUTPUT elif [[ ${{ github.event_name }} == 'schedule' ]]; then echo "ref=${{ github.sha }}" >> $GITHUB_OUTPUT - echo "branch=${{ github.ref_name }}" >> $GITHUB_OUTPUT fi check-commit-count: @@ -53,17 +43,14 @@ jobs: outputs: has_commits: ${{ steps.calculate_commits.outputs.has_commits}} ref: ${{ needs.calculate-refs.outputs.ref}} - branch: ${{ needs.calculate-refs.outputs.branch}} steps: - name: Print inputs - run: | - echo "ref = ${{ needs.calculate-refs.outputs.ref }}" - echo "branch = ${{ needs.calculate-refs.outputs.branch }}" + run: echo "ref = ${{ needs.calculate-refs.outputs.ref }}" - uses: actions/checkout@v4 with: fetch-depth: 0 - ref: ${{ needs.calculate-refs.outputs.branch }} + ref: ${{ env.BRANCH }} - name: Calculate whether there are commits id: calculate_commits @@ -88,7 +75,7 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - ref: ${{ needs.check-commit-count.outputs.branch }} + ref: ${{ env.BRANCH }} - name: Setup Java uses: actions/setup-java@v4 @@ -107,7 +94,7 @@ jobs: needs: - check-commit-count - calculate-modules - if: (needs.check-commit-count.outputs.has_commits == 'true') && (needs.calculate-modules.outputs.projects_matrix != '[]') && (github.repository == 'quarkusio/quarkus-super-heroes') && (contains(fromJSON('["workflow_dispatch", "schedule"]'), github.event_name) || ((github.event_name == 'worflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch') && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'main')))) + if: (needs.check-commit-count.outputs.has_commits == 'true') && (needs.calculate-modules.outputs.projects_matrix != '[]') && (github.repository == 'quarkusio/quarkus-super-heroes') && (contains(fromJSON('["workflow_dispatch", "schedule"]'), github.event_name) || ((github.event_name == 'worflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch') && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == '3.15.Final')))) runs-on: ubuntu-latest strategy: matrix: @@ -147,7 +134,7 @@ jobs: - name: Create CONTAINER_TAG working-directory: .github/workflows/scripts - run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "" ${{ matrix.java }} ${{ env.LATEST_IMAGE_TAG }} ${{ needs.check-commit-count.outputs.branch }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV + run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "" ${{ matrix.java }} ${{ env.LATEST_IMAGE_TAG }} ${{ env.BRANCH }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV - name: Set up QEMU if: matrix.arch == 'arm64' @@ -213,7 +200,7 @@ jobs: - name: Create CONTAINER_TAG working-directory: .github/workflows/scripts - run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "native-" ${{ matrix.java.jvm }} ${{ env.LATEST_IMAGE_TAG }} ${{ needs.check-commit-count.outputs.branch }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV + run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "native-" ${{ matrix.java.jvm }} ${{ env.LATEST_IMAGE_TAG }} ${{ env.BRANCH }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV - name: Set up QEMU if: matrix.arch == 'arm64' @@ -273,7 +260,7 @@ jobs: - name: Create CONTAINER_TAG working-directory: .github/workflows/scripts - run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "${{ matrix.kind }}" ${{ matrix.java }} ${{ env.LATEST_IMAGE_TAG }} ${{ needs.check-commit-count.outputs.branch }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV + run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "${{ matrix.kind }}" ${{ matrix.java }} ${{ env.LATEST_IMAGE_TAG }} ${{ env.BRANCH }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV - name: Get saved images (${{ matrix.project.name }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}) uses: ishworkh/container-image-artifact-download@v2.0.0 @@ -315,7 +302,7 @@ jobs: - name: Create CONTAINER_TAG working-directory: .github/workflows/scripts - run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "${{ matrix.kind }}" ${{ matrix.java }} ${{ env.LATEST_IMAGE_TAG }} ${{ needs.check-commit-count.outputs.branch }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV + run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "${{ matrix.kind }}" ${{ matrix.java }} ${{ env.LATEST_IMAGE_TAG }} ${{ env.BRANCH }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV - name: Login to quay uses: docker/login-action@v3 @@ -340,7 +327,7 @@ jobs: secrets: inherit with: commit_id: ${{ needs.check-commit-count.outputs.ref }} - branch: ${{ needs.check-commit-count.outputs.branch }} + branch: ${{ env.BRANCH }} cleanup-artifacts: needs: deploy-resources diff --git a/.github/workflows/build-push-container-images-3.2.Final.yml b/.github/workflows/build-push-container-images-3.2.Final.yml deleted file mode 100644 index 3a5199186..000000000 --- a/.github/workflows/build-push-container-images-3.2.Final.yml +++ /dev/null @@ -1,343 +0,0 @@ -name: Build and Push Container images - 3.2.Final - -env: - IMAGE_BASE_NAME: "quay.io/quarkus-super-heroes" - MANDREL_IMAGE: "quay.io/quarkus/ubi-quarkus-mandrel-builder-image" - MANDREL_VERSION: "23.0" - LATEST_IMAGE_TAG: "latest" - BRANCH: 3.2.Final - -on: - workflow_run: - workflows: - - "Basic build and test" - branches: - - 3.2.Final - types: - - completed - workflow_dispatch: - -concurrency: - group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.workflow_run.head_branch || github.event.ref || github.ref }}" - cancel-in-progress: false - -jobs: - build-jvm-images: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == '3.2.Final'))) - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '17' - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - - ui-super-heroes - arch: - - amd64 - - arm64 - name: "Build JVM images (${{ matrix.arch }}-${{ matrix.project }}-java${{ matrix.java }})" - steps: - - name: Calculate Ref (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Ref (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create env vars - working-directory: ${{ matrix.project }} - run: | - if [[ ${{ matrix.java }} == '17' ]]; then - echo "JVM_DOCKERFILE=Dockerfile.jvm" >> "$GITHUB_ENV" - else - echo "JVM_DOCKERFILE=Dockerfile.jvm${{ matrix.java }}" >> "$GITHUB_ENV" - fi - - - name: Create container tags - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Set up QEMU - if: matrix.arch == 'arm64' - uses: docker/setup-qemu-action@v3 - with: - platforms: ${{ matrix.arch }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Build JVM image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - working-directory: ${{ matrix.project }} - run: | - ./mvnw -B clean package -DskipTests \ - -Dmaven.compiler.release=${{ matrix.java }} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dquarkus.container-image.build=true \ - -Dquarkus.container-image.push=false \ - -Dquarkus.container-image.tag=${{ env.CONTAINER_TAG }} \ - -Dquarkus.docker.dockerfile-jvm-path=src/main/docker/${{ env.JVM_DOCKERFILE }} \ - -Dquarkus.docker.buildx.platform=linux/${{ matrix.arch }} - - - name: Save JVM Image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}" - - build-native-images: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == '3.2.Final'))) - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - java: - - '17' - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - - ui-super-heroes - arch: - - amd64 - - arm64 - name: "Build Native images (${{ matrix.arch }}-${{ matrix.project }}-java${{ matrix.java }})" - steps: - - name: Calculate Ref (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Ref (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create container tag - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=native-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Set up QEMU - if: matrix.arch == 'arm64' - uses: docker/setup-qemu-action@v3 - with: - platforms: ${{ matrix.arch }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Build native image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - working-directory: ${{ matrix.project }} - run: | - ./mvnw -B clean package -DskipTests -Pnative \ - -Dmaven.compiler.release=${{ matrix.java }} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dquarkus.native.container-build=true \ - -Dquarkus.native.builder-image=${{ env.MANDREL_IMAGE }}:${{ env.MANDREL_VERSION }}-java${{ matrix.java }} \ - -Dquarkus.native.container-runtime-options=--platform=linux/${{ matrix.arch }} \ - -Dquarkus.container-image.build=true \ - -Dquarkus.container-image.push=false \ - -Dquarkus.container-image.tag=${{ env.CONTAINER_TAG }} \ - -Dquarkus.docker.buildx.platform=linux/${{ matrix.arch }} - - - name: Save native Image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}" - - push-app-images: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == '3.2.Final'))) - needs: - - build-jvm-images - - build-native-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '17' - kind: - - "" - - "native-" - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - - ui-super-heroes - arch: - - amd64 - - arm64 - name: "Push app images (${{ matrix.arch }}-${{ matrix.project }}-${{ matrix.kind }}java${{ matrix.java }})" - steps: - - name: Calculate Ref (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Ref (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create container tag (JVM) - if: matrix.kind == '' - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Create container tag (native) - if: matrix.kind == 'native-' - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=native-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Get saved images (${{ matrix.project }}:${{ env.CONTAINER_TAG }}) - uses: ishworkh/container-image-artifact-download@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}" - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Push images - working-directory: ${{ matrix.project }} - run: "docker push -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}" - - create-app-multiarch-manifests: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == '3.2.Final'))) - needs: push-app-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '17' - kind: - - "" - - "native-" - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - - ui-super-heroes - name: Create app multiarch manifests (${{ matrix.project }}-${{ matrix.kind }}java${{ matrix.java }}) - steps: - - name: Calculate Ref (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Ref (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create container tag (JVM) - if: matrix.kind == '' - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Create container tag (native) - if: matrix.kind == 'native-' - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=native-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Create and push multi-arch JVM manifests - shell: bash - run: | - docker manifest create ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-amd64 \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-arm64 - docker manifest push ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} - - deploy-resources-workflow-run: - if: ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.repository == 'quarkusio/quarkus-super-heroes')) && ((github.event.workflow_run.head_branch == '3.2.Final')) - needs: - - create-app-multiarch-manifests - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.event.workflow_run.head_commit.id }} - branch: ${{ github.event.workflow_run.head_branch }} - - deploy-resources-workflow-dispatch: - if: ((github.event_name == 'workflow_dispatch') && (github.repository == 'quarkusio/quarkus-super-heroes')) && ((github.ref_name == '3.2.Final')) - needs: - - create-app-multiarch-manifests - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.sha }} - branch: ${{ github.ref_name }} - - cleanup-artifacts: - needs: - - deploy-resources-workflow-run - - deploy-resources-workflow-dispatch - if: always() - runs-on: ubuntu-latest - steps: - - name: Delete artifacts - env: - WEBHOOK_SECRET: ${{ secrets.WEBHOOK_SECRET }} - run: | - echo "::add-mask::$WEBHOOK_SECRET" - curl --verbose --fail --show-error --location --request POST "https://api.github.com/repos/$GITHUB_REPOSITORY/dispatches" --header "Authorization: token $WEBHOOK_SECRET" --header 'Content-Type: application/json' --header 'Accept: application/vnd.github.everest-preview+json' --data-raw "{ \"event_type\": \"delete_all_artifacts\", \"client_payload\": {\"parent_runid\": \"$GITHUB_RUN_ID\", \"parent_repo\": \"$GITHUB_REPOSITORY\"} }" diff --git a/.github/workflows/build-push-container-images-3.8.Final.yml b/.github/workflows/build-push-container-images-3.8.Final.yml deleted file mode 100644 index 6df247cfd..000000000 --- a/.github/workflows/build-push-container-images-3.8.Final.yml +++ /dev/null @@ -1,340 +0,0 @@ -name: Build and Push Container images - 3.8.Final - -env: - IMAGE_BASE_NAME: "quay.io/quarkus-super-heroes" - MANDREL_IMAGE: "quay.io/quarkus/ubi-quarkus-mandrel-builder-image" - LATEST_IMAGE_TAG: "latest" - BRANCH: 3.8.Final - -on: - workflow_run: - workflows: - - "Basic build and test" - branches: - - 3.8.Final - types: - - completed - workflow_dispatch: - -concurrency: - group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.workflow_run.head_branch || github.event.ref || github.ref }}" - cancel-in-progress: false - -jobs: - build-jvm-images: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == '3.8.Final'))) - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '17' - project: - - { name: event-statistics } - - { name: rest-fights } - - { name: rest-heroes } - - { name: rest-villains } - - { name: rest-narration } - - { name: rest-narration, openai-type: azure-openai } - - { name: grpc-locations } - - { name: ui-super-heroes } - arch: - - amd64 - - arm64 - name: "Build JVM images (${{ matrix.arch }}-${{ matrix.project.name }}-java${{ matrix.java }}-${{ matrix.project.openai-type }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create env vars - working-directory: ${{ matrix.project.name }} - run: | - if [[ ${{ matrix.java }} == '17' ]]; then - echo "JVM_DOCKERFILE=Dockerfile.jvm" >> "$GITHUB_ENV" - else - echo "JVM_DOCKERFILE=Dockerfile.jvm${{ matrix.java }}" >> "$GITHUB_ENV" - fi - - - name: Create OpenAI env vars - if: matrix.project.openai-type - working-directory: ${{ matrix.project.name }} - run: echo "QUARKUS_PROFILE=${{ matrix.project.openai-type }}" >> $GITHUB_ENV - - - name: Create CONTAINER_TAG - working-directory: .github/workflows/scripts - shell: bash - run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "" ${{ matrix.java }} ${{ env.LATEST_IMAGE_TAG }} ${{ env.BRANCH }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV - - - name: Set up QEMU - if: matrix.arch == 'arm64' - uses: docker/setup-qemu-action@v3 - with: - platforms: ${{ matrix.arch }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Build JVM image (${{ matrix.project.name }}-java${{ matrix.java }}-${{ matrix.arch }}-${{ matrix.project.openai-type }}) - working-directory: ${{ matrix.project.name }} - run: | - ./mvnw -B clean package -DskipTests \ - -Dmaven.compiler.release=${{ matrix.java }} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dquarkus.container-image.build=true \ - -Dquarkus.container-image.push=false \ - -Dquarkus.container-image.tag=${{ env.CONTAINER_TAG }}-${{ matrix.arch }} \ - -Dquarkus.docker.dockerfile-jvm-path=src/main/docker/${{ env.JVM_DOCKERFILE }} \ - -Dquarkus.docker.buildx.platform=linux/${{ matrix.arch }} - - - name: Save JVM Image (${{ matrix.project.name }}-java${{ matrix.java }}-${{ matrix.arch }}-${{ matrix.project.openai-type }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}" - - build-native-images: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == '3.8.Final'))) - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - java: - - { jvm: '17', mandrel: '21' } - project: - - { name: event-statistics } - - { name: rest-fights } - - { name: rest-heroes } - - { name: rest-villains } - - { name: rest-narration } - - { name: rest-narration, openai-type: azure-openai } - - { name: grpc-locations } - - { name: ui-super-heroes } - arch: - - amd64 - - arm64 - name: "Build Native images (${{ matrix.arch }}-${{ matrix.project.name }}-java${{ matrix.java.jvm }}-${{ matrix.project.openai-type }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java.jvm }} - distribution: temurin - cache: maven - - - name: Create OpenAI env vars - if: matrix.project.openai-type - working-directory: ${{ matrix.project.name }} - run: echo "QUARKUS_PROFILE=${{ matrix.project.openai-type }}" >> $GITHUB_ENV - - - name: Create CONTAINER_TAG - working-directory: .github/workflows/scripts - shell: bash - run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "native-" ${{ matrix.java.jvm }} ${{ env.LATEST_IMAGE_TAG }} ${{ env.BRANCH }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV - - - name: Set up QEMU - if: matrix.arch == 'arm64' - uses: docker/setup-qemu-action@v3 - with: - platforms: ${{ matrix.arch }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Build native image (${{ matrix.project.name }}-java${{ matrix.java.jvm }}-${{ matrix.arch }}-${{ matrix.project.openai-type }}) - working-directory: ${{ matrix.project.name }} - run: | - ./mvnw -B clean package -DskipTests -Pnative \ - -Dmaven.compiler.release=${{ matrix.java.jvm }} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dquarkus.native.container-build=true \ - -Dquarkus.native.builder-image=${{ env.MANDREL_IMAGE }}:jdk-${{ matrix.java.mandrel }} \ - -Dquarkus.native.container-runtime-options=--platform=linux/${{ matrix.arch }} \ - -Dquarkus.container-image.build=true \ - -Dquarkus.container-image.push=false \ - -Dquarkus.container-image.tag=${{ env.CONTAINER_TAG }}-${{ matrix.arch }} \ - -Dquarkus.docker.buildx.platform=linux/${{ matrix.arch }} - - - name: Save native Image (${{ matrix.project.name }}-java${{ matrix.java.jvm }}-${{ matrix.arch }}-${{ matrix.project.openai-type }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}" - - push-app-images: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == '3.8.Final'))) - needs: - - build-jvm-images - - build-native-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '17' - kind: - - "" - - "native-" - project: - - { name: event-statistics } - - { name: rest-fights } - - { name: rest-heroes } - - { name: rest-villains } - - { name: rest-narration } - - { name: rest-narration, openai-type: azure-openai } - - { name: grpc-locations } - - { name: ui-super-heroes } - arch: - - amd64 - - arm64 - name: "Push app images (${{ matrix.arch }}-${{ matrix.project.name }}-${{ matrix.kind }}java${{ matrix.java }}-${{ matrix.project.openai-type }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Create CONTAINER_TAG - working-directory: .github/workflows/scripts - shell: bash - run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "${{ matrix.kind }}" ${{ matrix.java }} ${{ env.LATEST_IMAGE_TAG }} ${{ env.BRANCH }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV - - - name: Get saved images (${{ matrix.project.name }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-download@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}" - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Push images - working-directory: ${{ matrix.project.name }} - run: "docker push -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}" - - create-app-multiarch-manifests: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == '3.8.Final'))) - needs: push-app-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '17' - kind: - - "" - - "native-" - project: - - { name: event-statistics } - - { name: rest-fights } - - { name: rest-heroes } - - { name: rest-villains } - - { name: rest-narration } - - { name: rest-narration, openai-type: azure-openai } - - { name: grpc-locations } - - { name: ui-super-heroes } - name: Create app multiarch manifests (${{ matrix.project.name }}-${{ matrix.kind }}java${{ matrix.java }}-${{ matrix.project.openai-type }}) - steps: - - name: Calculate Branch (workflow_run) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Create CONTAINER_TAG - working-directory: .github/workflows/scripts - shell: bash - run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "${{ matrix.kind }}" ${{ matrix.java }} ${{ env.LATEST_IMAGE_TAG }} ${{ env.BRANCH }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Create and push multi-arch manifests - shell: bash - run: | - docker manifest create ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }} \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }}-amd64 \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }}-arm64 - docker manifest push ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }} - - deploy-resources-workflow-run: - if: ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.repository == 'quarkusio/quarkus-super-heroes')) && ((github.event.workflow_run.head_branch == '3.8.Final')) - needs: create-app-multiarch-manifests - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.event.workflow_run.head_commit.id }} - branch: ${{ github.event.workflow_run.head_branch }} - - deploy-resources-workflow-dispatch: - if: ((github.event_name == 'workflow_dispatch') && (github.repository == 'quarkusio/quarkus-super-heroes')) && ((github.ref_name == '3.8.Final')) - needs: create-app-multiarch-manifests - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.sha }} - branch: ${{ github.ref_name }} - - cleanup-artifacts: - needs: - - deploy-resources-workflow-run - - deploy-resources-workflow-dispatch - if: always() - runs-on: ubuntu-latest - steps: - - name: Delete artifacts - env: - WEBHOOK_SECRET: ${{ secrets.WEBHOOK_SECRET }} - run: | - echo "::add-mask::$WEBHOOK_SECRET" - curl --verbose --fail --show-error --location --request POST "https://api.github.com/repos/$GITHUB_REPOSITORY/dispatches" --header "Authorization: token $WEBHOOK_SECRET" --header 'Content-Type: application/json' --header 'Accept: application/vnd.github.everest-preview+json' --data-raw "{ \"event_type\": \"delete_all_artifacts\", \"client_payload\": {\"parent_runid\": \"$GITHUB_RUN_ID\", \"parent_repo\": \"$GITHUB_REPOSITORY\"} }" diff --git a/.github/workflows/build-push-container-images-rhbq-2.13.yml b/.github/workflows/build-push-container-images-rhbq-2.13.yml deleted file mode 100644 index 05416d677..000000000 --- a/.github/workflows/build-push-container-images-rhbq-2.13.yml +++ /dev/null @@ -1,459 +0,0 @@ -name: Build and Push Container images - rhbq-2.13 - -env: - IMAGE_BASE_NAME: "quay.io/quarkus-super-heroes" - MANDREL_IMAGE: "quay.io/quarkus/ubi-quarkus-mandrel-builder-image" - MANDREL_VERSION: "22.3" - LATEST_IMAGE_TAG: "latest" - NATIVE_JAVA_VERSION: "17" - -on: - workflow_run: - workflows: - - "Basic build and test" - branches: - - rhbq-2.13 - types: - - completed - workflow_dispatch: - -concurrency: - group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.workflow_run.head_branch || github.event.ref || github.ref }}" - cancel-in-progress: false - -jobs: - build-jvm-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.13')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.13'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '11' - - '17' - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - arch: - - amd64 - - arm64 - name: "Build JVM images (${{ matrix.arch }}-${{ matrix.project }}-java${{ matrix.java }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create env vars - working-directory: ${{ matrix.project }} - run: | - echo "QUARKUS_VERSION=$(./mvnw help:evaluate -Dexpression=quarkus.platform.version -q -DforceStdout)" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV && - if [[ ${{ matrix.java }} == '11' ]]; then - echo "JVM_DOCKERFILE=Dockerfile.jvm" >> "$GITHUB_ENV" - else - echo "JVM_DOCKERFILE=Dockerfile.jvm${{ matrix.java }}" >> "$GITHUB_ENV" - fi - - - name: Create container tags - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=${{ env.APP_VERSION }}-quarkus-${{ env.QUARKUS_VERSION }}-java${{ matrix.java }}" >> $GITHUB_ENV - - - name: Set up QEMU - if: matrix.arch == 'arm64' - uses: docker/setup-qemu-action@v3 - with: - platforms: ${{ matrix.arch }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Build JVM image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - working-directory: ${{ matrix.project }} - run: | - ./mvnw -B clean package -DskipTests \ - -Dmaven.compiler.release=${{ matrix.java }} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dquarkus.container-image.build=true \ - -Dquarkus.container-image.push=false \ - -Dquarkus.container-image.tag=${{ env.CONTAINER_TAG }}-${{ matrix.arch }} \ - -Dquarkus.docker.dockerfile-jvm-path=src/main/docker/${{ env.JVM_DOCKERFILE }} \ - -Dquarkus.docker.buildx.platform=linux/${{ matrix.arch }} - - - name: Save JVM Image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}" - - build-native-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.13')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.13'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - arch: - - amd64 - name: "Build Native images (${{ matrix.arch }}-${{ matrix.project }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ env.NATIVE_JAVA_VERSION }} - distribution: temurin - cache: maven - - - name: Create env vars - working-directory: ${{ matrix.project }} - run: | - echo "QUARKUS_VERSION=$(./mvnw help:evaluate -Dexpression=quarkus.platform.version -q -DforceStdout)" >> $GITHUB_ENV && \ - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV - - - name: Create container tags - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=${{ env.APP_VERSION }}-quarkus-${{ env.QUARKUS_VERSION }}-native" >> $GITHUB_ENV - - - name: Build native image (${{ matrix.project }}-${{ matrix.arch }}) - working-directory: ${{ matrix.project }} - run: | - ./mvnw -B clean package -DskipTests -Pnative \ - -Dmaven.compiler.release=${{ env.NATIVE_JAVA_VERSION }} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dquarkus.native.container-build=true \ - -Dquarkus.native.builder-image=${{ env.MANDREL_IMAGE }}:${{ env.MANDREL_VERSION }}-java${{ env.NATIVE_JAVA_VERSION }} \ - -Dquarkus.container-image.build=true \ - -Dquarkus.container-image.push=false \ - -Dquarkus.container-image.tag=${{ env.CONTAINER_TAG }}-${{ matrix.arch }} - - - name: Save native Image (${{ matrix.project }}-${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}" - - build-push-ui-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.13')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.13'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - runs-on: ubuntu-latest - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - with: - platforms: arm64 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: 17 - distribution: temurin - cache: maven - - - name: Create env vars (main branch) - if: env.BRANCH == 'main' - working-directory: ui-super-heroes - run: | - echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV - - - name: Create env vars (other branch) - if: env.BRANCH != 'main' - working-directory: ui-super-heroes - run: | - echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Build and push UI image - uses: docker/build-push-action@v6 - with: - context: ui-super-heroes - platforms: linux/amd64,linux/arm64 - push: true - tags: ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }},${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.APP_VERSION }} - - push-app-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.13')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.13'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - needs: - - build-jvm-images - - build-native-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '11' - - '17' - kind: - - "" - - "native-" - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - arch: - - amd64 - - arm64 - exclude: - # Excludes native java 11 from the matrix - - kind: 'native-' - java: '11' - # Excludes native arm64 from the matrix - - kind: 'native-' - arch: 'arm64' - name: "Push app images (${{ matrix.arch }}-${{ matrix.project }}-${{ matrix.kind }}java${{ matrix.java }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create env vars - working-directory: ${{ matrix.project }} - run: | - echo "QUARKUS_VERSION=$(./mvnw help:evaluate -Dexpression=quarkus.platform.version -q -DforceStdout)" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV - - - name: Create CONTAINER_TAG (JVM) - if: matrix.kind == '' - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=${{ env.APP_VERSION }}-quarkus-${{ env.QUARKUS_VERSION }}-${{ matrix.kind }}java${{ matrix.java }}" >> $GITHUB_ENV - - - name: Create CONTAINER_TAG (native) - if: matrix.kind == 'native-' - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=${{ env.APP_VERSION }}-quarkus-${{ env.QUARKUS_VERSION }}-native" >> $GITHUB_ENV - - - name: Create ADDITIONAL_TAG (JVM) - if: matrix.kind == '' - working-directory: ${{ matrix.project }} - run: echo "ADDITIONAL_TAG=${{ matrix.kind }}java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Create ADDITIONAL_TAG (Native) - if: matrix.kind == 'native-' - working-directory: ${{ matrix.project }} - run: echo "ADDITIONAL_TAG=${{ matrix.kind }}${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Get saved images (${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-download@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}" - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Tag image (JVM) - if: matrix.kind != 'native-' - working-directory: ${{ matrix.project }} - run: "docker tag ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }} ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }}-${{ matrix.arch }}" - - - name: Tag image (Native) - if: matrix.kind == 'native-' - working-directory: ${{ matrix.project }} - run: | - docker tag ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }} ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }} - docker tag ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }} ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} - - - name: Push images - working-directory: ${{ matrix.project }} - run: "docker push -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}" - - create-app-multiarch-manifests: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.13')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.13'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - needs: push-app-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '11' - - '17' - kind: - - "" - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - name: Create app multiarch manifests (${{ matrix.project }}-${{ matrix.kind }}java${{ matrix.java }}) - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create env vars - working-directory: ${{ matrix.project }} - run: | - echo "QUARKUS_VERSION=$(./mvnw help:evaluate -Dexpression=quarkus.platform.version -q -DforceStdout)" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV - - - name: Create Create container tags - working-directory: ${{ matrix.project }} - run: | - echo "CONTAINER_TAG=${{ env.APP_VERSION }}-quarkus-${{ env.QUARKUS_VERSION }}-${{ matrix.kind }}java${{ matrix.java }}" >> $GITHUB_ENV && - echo "ADDITIONAL_TAG=${{ matrix.kind }}java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Create and push multi-arch JVM manifests - shell: bash - run: | - docker manifest create ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-amd64 \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-arm64 - docker manifest push ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} - docker manifest create ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }} \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }}-amd64 \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }}-arm64 - docker manifest push ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }} - - deploy-resources-workflow-run: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.13')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.13'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - needs: - - create-app-multiarch-manifests - - build-push-ui-images - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.event.workflow_run.head_commit.id }} - branch: ${{ github.event.workflow_run.head_branch }} - - deploy-resources-workflow-dispatch: - if: ((github.event_name == 'workflow_dispatch') && (github.repository == 'quarkusio/quarkus-super-heroes')) && (github.ref_name == 'rhbq-2.13') - needs: - - create-app-multiarch-manifests - - build-push-ui-images - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.sha }} - branch: ${{ github.ref_name }} - - cleanup-artifacts: - needs: - - deploy-resources-workflow-run - - deploy-resources-workflow-dispatch - if: always() - runs-on: ubuntu-latest - steps: - - name: Delete artifacts - env: - WEBHOOK_SECRET: ${{ secrets.WEBHOOK_SECRET }} - run: | - echo "::add-mask::$WEBHOOK_SECRET" - curl --verbose --fail --show-error --location --request POST "https://api.github.com/repos/$GITHUB_REPOSITORY/dispatches" --header "Authorization: token $WEBHOOK_SECRET" --header 'Content-Type: application/json' --header 'Accept: application/vnd.github.everest-preview+json' --data-raw "{ \"event_type\": \"delete_all_artifacts\", \"client_payload\": {\"parent_runid\": \"$GITHUB_RUN_ID\", \"parent_repo\": \"$GITHUB_REPOSITORY\"} }" diff --git a/.github/workflows/build-push-container-images-rhbq-2.7.yml b/.github/workflows/build-push-container-images-rhbq-2.7.yml deleted file mode 100644 index 68c1f4e1b..000000000 --- a/.github/workflows/build-push-container-images-rhbq-2.7.yml +++ /dev/null @@ -1,604 +0,0 @@ -name: Build and Push Container images - rhbq-2.7 - -env: - IMAGE_BASE_NAME: "quay.io/quarkus-super-heroes" - MANDREL_IMAGE: "quay.io/quarkus/ubi-quarkus-mandrel" - MANDREL_VERSION: "22.0" - LATEST_IMAGE_TAG: "latest" - -on: - workflow_run: - workflows: - - "Basic build and test" - branches: - - rhbq-2.7 - types: - - completed - workflow_dispatch: - -concurrency: - group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.workflow_run.head_branch || github.event.ref || github.ref }}" - cancel-in-progress: false - -jobs: - build-jvm-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.7')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.7'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '11' - - '17' - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - arch: - - amd64 - - arm64 - name: "Build JVM images (${{ matrix.arch}}-${{ matrix.project }}-java${{ matrix.java }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create env vars - working-directory: ${{ matrix.project }} - run: | - echo "QUARKUS_VERSION=$(./mvnw help:evaluate -Dexpression=quarkus.platform.version -q -DforceStdout)" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV && - if [[ ${{ matrix.java }} == '11' ]]; then - echo "JVM_DOCKERFILE=Dockerfile.jvm" >> "$GITHUB_ENV" - else - echo "JVM_DOCKERFILE=Dockerfile.jvm${{ matrix.java }}" >> "$GITHUB_ENV" - fi - - - name: Create container tags - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=${{ env.APP_VERSION }}-quarkus-${{ env.QUARKUS_VERSION }}-java${{ matrix.java }}" >> $GITHUB_ENV - - - name: Build app (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch}}) - working-directory: ${{ matrix.project }} - run: ./mvnw -B clean package -DskipTests -Dmaven.compiler.release=${{ matrix.java }} -Dquarkus.http.host=0.0.0.0 - - - name: Set up QEMU - if: matrix.arch == 'arm64' - uses: docker/setup-qemu-action@v3 - with: - platforms: arm64 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Build JVM image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch}}) - uses: docker/build-push-action@v6 - with: - context: ${{ matrix.project }} - platforms: linux/${{ matrix.arch }} - push: false - load: true - file: ${{ matrix.project }}/src/main/docker/${{ env.JVM_DOCKERFILE }} - tags: ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }} - - - name: Save JVM Image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}" - - build-native-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.7')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.7'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - java: - - '11' - - '17' - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - arch: - - amd64 - # - arm64 - name: "Build Native images (${{ matrix.arch}}-${{ matrix.project }}-java${{ matrix.java }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create env vars - working-directory: ${{ matrix.project }} - run: | - echo "QUARKUS_VERSION=$(./mvnw help:evaluate -Dexpression=quarkus.platform.version -q -DforceStdout)" >> $GITHUB_ENV && \ - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV - - - name: Create container tags - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=${{ env.APP_VERSION }}-quarkus-${{ env.QUARKUS_VERSION }}-native-java${{ matrix.java }}" >> $GITHUB_ENV - - - name: Build native image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch}}) - working-directory: ${{ matrix.project }} - run: | - ./mvnw -B clean package -DskipTests -Pnative \ - -Dmaven.compiler.release=${{ matrix.java }} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dquarkus.native.container-build=true \ - -Dquarkus.native.builder-image=${{ env.MANDREL_IMAGE }}:${{ env.MANDREL_VERSION }}-java${{ matrix.java }} \ - -Dquarkus.container-image.build=true \ - -Dquarkus.container-image.push=false \ - -Dquarkus.container-image.tag=${{ env.CONTAINER_TAG }}-${{ matrix.arch }} - - - name: Save native Image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}" - - build-ui-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.7')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.7'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - amd64 - - arm64 - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Set up QEMU - if: matrix.arch == 'arm64' - uses: docker/setup-qemu-action@v3 - with: - platforms: arm64 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Create container tag (main branch) - if: env.BRANCH == 'main' - run: echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Create container tag (other branch) - if: env.BRANCH != 'main' - run: echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Build UI image (${{ matrix.arch }}) - uses: docker/build-push-action@v6 - with: - context: ui-super-heroes - platforms: linux/${{ matrix.arch }} - push: false - load: true - tags: ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }} - - - name: Save UI image (${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }}" - - push-app-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.7')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.7'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - needs: - - build-jvm-images - - build-native-images - - build-ui-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '11' - - '17' - kind: - - "" - - "native-" - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - arch: - - amd64 - - arm64 - name: "Push app images (${{ matrix.arch}}-${{ matrix.project }}-${{ matrix.kind }}java${{ matrix.java }})" - steps: - - name: Calculate Branch (workflow_run event) - if: ((matrix.arch == 'amd64') || (matrix.kind != 'native-')) && (github.event_name == 'workflow_run') - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: ((matrix.arch == 'amd64') || (matrix.kind != 'native-')) && (github.event_name == 'workflow_dispatch') - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - if: (matrix.arch == 'amd64') || (matrix.kind != 'native-') - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - if: (matrix.arch == 'amd64') || (matrix.kind != 'native-') - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create env vars - if: (matrix.arch == 'amd64') || (matrix.kind != 'native-') - working-directory: ${{ matrix.project }} - run: | - echo "QUARKUS_VERSION=$(./mvnw help:evaluate -Dexpression=quarkus.platform.version -q -DforceStdout)" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV - - - name: Create container tags (main branch) - if: (env.BRANCH == 'main') && ((matrix.arch == 'amd64') || (matrix.kind != 'native-')) - working-directory: ${{ matrix.project }} - run: | - echo "CONTAINER_TAG=${{ env.APP_VERSION }}-quarkus-${{ env.QUARKUS_VERSION }}-${{ matrix.kind }}java${{ matrix.java }}" >> $GITHUB_ENV && - echo "ADDITIONAL_TAG=${{ matrix.kind }}java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}" >> $GITHUB_ENV - - - name: Create container tags (other branch) - if: (env.BRANCH != 'main') && ((matrix.arch == 'amd64') || (matrix.kind != 'native-')) - working-directory: ${{ matrix.project }} - run: | - echo "CONTAINER_TAG=${{ env.APP_VERSION }}-quarkus-${{ env.QUARKUS_VERSION }}-${{ matrix.kind }}java${{ matrix.java }}" >> $GITHUB_ENV && - echo "ADDITIONAL_TAG=${{ matrix.kind }}java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Get saved images (${{ matrix.project }}-${{ matrix.kind }}java${{ matrix.java }}-${{ matrix.arch }}) - if: (matrix.arch == 'amd64') || (matrix.kind != 'native-') - uses: ishworkh/container-image-artifact-download@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}" - - - name: Login to quay - if: (matrix.arch == 'amd64') || (matrix.kind != 'native-') - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Tag image - if: (matrix.arch == 'amd64') || (matrix.kind != 'native-') - working-directory: ${{ matrix.project }} - run: "docker tag ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }} ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }}-${{ matrix.arch }}" - - - name: Tag native image (amd64) - if: (matrix.arch == 'amd64') && (matrix.kind == 'native-') - working-directory: ${{ matrix.project }} - run: | - docker tag ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }} ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }} - docker tag ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }} ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} - - - name: Push images - if: (matrix.arch == 'amd64') || (matrix.kind != 'native-') - working-directory: ${{ matrix.project }} - run: "docker push -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}" - - push-ui-images: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.7')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.7'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - needs: - - build-jvm-images - - build-native-images - - build-ui-images - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - amd64 - - arm64 - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: 17 - distribution: temurin - cache: maven - - - name: Create env vars (main branch) - if: env.BRANCH == 'main' - working-directory: ui-super-heroes - run: | - echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}-${{ matrix.arch }}" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV - - - name: Create env vars (other branch) - if: env.BRANCH != 'main' - working-directory: ui-super-heroes - run: | - echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Get Saved UI Image (${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-download@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }}" - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Tag UI image (${{ matrix.arch }}) - working-directory: ui-super-heroes - run: docker tag ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }} ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.APP_VERSION }}-${{ matrix.arch }} - - - name: Push UI image (${{ matrix.arch }}) - working-directory: ui-super-heroes - run: "docker push -a ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes" - - create-app-multiarch-manifests: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.7')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.7'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - needs: push-app-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '11' - - '17' - kind: - - "" -# - "native-" - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - name: Create app multiarch manifests (${{ matrix.project }}-${{ matrix.kind }}java${{ matrix.java }}) - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create env vars - working-directory: ${{ matrix.project }} - run: | - echo "QUARKUS_VERSION=$(./mvnw help:evaluate -Dexpression=quarkus.platform.version -q -DforceStdout)" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV - - - name: Create container tags (main branch) - if: env.BRANCH == 'main' - working-directory: ${{ matrix.project }} - run: | - echo "CONTAINER_TAG=${{ env.APP_VERSION }}-quarkus-${{ env.QUARKUS_VERSION }}-${{ matrix.kind }}java${{ matrix.java }}" >> $GITHUB_ENV && - echo "ADDITIONAL_TAG=${{ matrix.kind }}java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}" >> $GITHUB_ENV - - - name: Create container tags (other branch) - if: env.BRANCH != 'main' - working-directory: ${{ matrix.project }} - run: | - echo "CONTAINER_TAG=${{ env.APP_VERSION }}-quarkus-${{ env.QUARKUS_VERSION }}-${{ matrix.kind }}java${{ matrix.java }}" >> $GITHUB_ENV && - echo "ADDITIONAL_TAG=${{ matrix.kind }}java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Create and push multi-arch JVM manifests - shell: bash - run: | - docker manifest create ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-amd64 \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-arm64 - docker manifest push ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} - docker manifest create ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }} \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }}-amd64 \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }}-arm64 - docker manifest push ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }} - -# - name: Create and push single-arch native manifests -# if: matrix.kind == 'native-' -# shell: bash -# run: | -# docker manifest create ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} \ -# -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-amd64 -# docker manifest push ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} -# docker manifest create ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }} \ -# -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }}-amd64 -# docker manifest push ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.ADDITIONAL_TAG }} - - - create-ui-multiarch-manifests: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.7')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.7'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - needs: push-ui-images - runs-on: ubuntu-latest - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: | - echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.event.workflow_run.head_branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: 17 - distribution: temurin - cache: maven - - - name: Create env vars (main branch) - if: env.BRANCH == 'main' - working-directory: ui-super-heroes - run: | - echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV - - - name: Create env vars (other branch) - if: env.BRANCH != 'main' - working-directory: ui-super-heroes - run: | - echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Create and push multi-arch manifests - shell: bash - run: | - docker manifest create ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }} \ - -a ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }}-amd64 \ - -a ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }}-arm64 - docker manifest push ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }} - docker manifest create ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.APP_VERSION }} \ - -a ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.APP_VERSION }}-amd64 \ - -a ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.APP_VERSION }}-arm64 - docker manifest push ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.APP_VERSION }} - - deploy-resources-workflow-run: - if: (((github.event_name == 'workflow_dispatch') && (github.ref_name == 'rhbq-2.7')) || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.event.workflow_run.head_branch == 'rhbq-2.7'))) && (github.repository == 'quarkusio/quarkus-super-heroes') - needs: - - create-app-multiarch-manifests - - create-ui-multiarch-manifests - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.event.workflow_run.head_commit.id }} - branch: ${{ github.event.workflow_run.head_branch }} - - deploy-resources-workflow-dispatch: - if: ((github.event_name == 'workflow_dispatch') && (github.repository == 'quarkusio/quarkus-super-heroes')) && (github.ref_name == 'rhbq-2.7') - needs: - - create-app-multiarch-manifests - - create-ui-multiarch-manifests - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.sha }} - branch: ${{ github.ref_name }} - - cleanup-artifacts: - needs: - - deploy-resources-workflow-run - - deploy-resources-workflow-dispatch - if: always() - runs-on: ubuntu-latest - steps: - - name: Delete artifacts - env: - WEBHOOK_SECRET: ${{ secrets.WEBHOOK_SECRET }} - run: | - echo "::add-mask::$WEBHOOK_SECRET" - curl --verbose --fail --show-error --location --request POST "https://api.github.com/repos/$GITHUB_REPOSITORY/dispatches" --header "Authorization: token $WEBHOOK_SECRET" --header 'Content-Type: application/json' --header 'Accept: application/vnd.github.everest-preview+json' --data-raw "{ \"event_type\": \"delete_all_artifacts\", \"client_payload\": {\"parent_runid\": \"$GITHUB_RUN_ID\", \"parent_repo\": \"$GITHUB_REPOSITORY\"} }" diff --git a/.github/workflows/build-push-container-images-rhbq-3.2.yml b/.github/workflows/build-push-container-images-rhbq-3.2.yml deleted file mode 100644 index a03571fc0..000000000 --- a/.github/workflows/build-push-container-images-rhbq-3.2.yml +++ /dev/null @@ -1,343 +0,0 @@ -name: Build and Push Container images - RHBQ 3.2 - -env: - IMAGE_BASE_NAME: "quay.io/quarkus-super-heroes" - MANDREL_IMAGE: "quay.io/quarkus/ubi-quarkus-mandrel-builder-image" - MANDREL_VERSION: "23.0" - LATEST_IMAGE_TAG: "latest" - BRANCH: rhbq-3.2 - -on: - workflow_run: - workflows: - - "Basic build and test" - branches: - - rhbq-3.2 - types: - - completed - workflow_dispatch: - -concurrency: - group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.workflow_run.head_branch || github.event.ref || github.ref }}" - cancel-in-progress: false - -jobs: - build-jvm-images: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == 'rhbq-3.2'))) - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '17' - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - - ui-super-heroes - arch: - - amd64 - - arm64 - name: "Build JVM images (${{ matrix.arch }}-${{ matrix.project }}-java${{ matrix.java }})" - steps: - - name: Calculate Ref (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Ref (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create env vars - working-directory: ${{ matrix.project }} - run: | - if [[ ${{ matrix.java }} == '17' ]]; then - echo "JVM_DOCKERFILE=Dockerfile.jvm" >> "$GITHUB_ENV" - else - echo "JVM_DOCKERFILE=Dockerfile.jvm${{ matrix.java }}" >> "$GITHUB_ENV" - fi - - - name: Create container tags - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Set up QEMU - if: matrix.arch == 'arm64' - uses: docker/setup-qemu-action@v3 - with: - platforms: ${{ matrix.arch }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Build JVM image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - working-directory: ${{ matrix.project }} - run: | - ./mvnw -B clean package -DskipTests \ - -Dmaven.compiler.release=${{ matrix.java }} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dquarkus.container-image.build=true \ - -Dquarkus.container-image.push=false \ - -Dquarkus.container-image.tag=${{ env.CONTAINER_TAG }} \ - -Dquarkus.docker.dockerfile-jvm-path=src/main/docker/${{ env.JVM_DOCKERFILE }} \ - -Dquarkus.docker.buildx.platform=linux/${{ matrix.arch }} - - - name: Save JVM Image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}" - - build-native-images: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == 'rhbq-3.2'))) - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - java: - - '17' - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - - ui-super-heroes - arch: - - amd64 - - arm64 - name: "Build Native images (${{ matrix.arch }}-${{ matrix.project }}-java${{ matrix.java }})" - steps: - - name: Calculate Ref (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Ref (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create container tag - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=native-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Set up QEMU - if: matrix.arch == 'arm64' - uses: docker/setup-qemu-action@v3 - with: - platforms: ${{ matrix.arch }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Build native image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - working-directory: ${{ matrix.project }} - run: | - ./mvnw -B clean package -DskipTests -Pnative \ - -Dmaven.compiler.release=${{ matrix.java }} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dquarkus.native.container-build=true \ - -Dquarkus.native.builder-image=${{ env.MANDREL_IMAGE }}:${{ env.MANDREL_VERSION }}-java${{ matrix.java }} \ - -Dquarkus.native.container-runtime-options=--platform=linux/${{ matrix.arch }} \ - -Dquarkus.container-image.build=true \ - -Dquarkus.container-image.push=false \ - -Dquarkus.container-image.tag=${{ env.CONTAINER_TAG }} \ - -Dquarkus.docker.buildx.platform=linux/${{ matrix.arch }} - - - name: Save native Image (${{ matrix.project }}-java${{ matrix.java }}-${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}" - - push-app-images: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == 'rhbq-3.2'))) - needs: - - build-jvm-images - - build-native-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '17' - kind: - - "" - - "native-" - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - - ui-super-heroes - arch: - - amd64 - - arm64 - name: "Push app images (${{ matrix.arch }}-${{ matrix.project }}-${{ matrix.kind }}java${{ matrix.java }})" - steps: - - name: Calculate Ref (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Ref (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create container tag (JVM) - if: matrix.kind == '' - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Create container tag (native) - if: matrix.kind == 'native-' - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=native-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}-${{ matrix.arch }}" >> $GITHUB_ENV - - - name: Get saved images (${{ matrix.project }}:${{ env.CONTAINER_TAG }}) - uses: ishworkh/container-image-artifact-download@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}" - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Push images - working-directory: ${{ matrix.project }} - run: "docker push -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}" - - create-app-multiarch-manifests: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == 'rhbq-3.2'))) - needs: push-app-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '17' - kind: - - "" - - "native-" - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - - ui-super-heroes - name: Create app multiarch manifests (${{ matrix.project }}-${{ matrix.kind }}java${{ matrix.java }}) - steps: - - name: Calculate Ref (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Ref (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create container tag (JVM) - if: matrix.kind == '' - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=java${{ matrix.java }}-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Create container tag (native) - if: matrix.kind == 'native-' - working-directory: ${{ matrix.project }} - run: echo "CONTAINER_TAG=native-${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Create and push multi-arch JVM manifests - shell: bash - run: | - docker manifest create ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-amd64 \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }}-arm64 - docker manifest push ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project }}:${{ env.CONTAINER_TAG }} - - deploy-resources-workflow-run: - if: ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.repository == 'quarkusio/quarkus-super-heroes')) && ((github.event.workflow_run.head_branch == 'rhbq-3.2')) - needs: - - create-app-multiarch-manifests - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.event.workflow_run.head_commit.id }} - branch: ${{ github.event.workflow_run.head_branch }} - - deploy-resources-workflow-dispatch: - if: ((github.event_name == 'workflow_dispatch') && (github.repository == 'quarkusio/quarkus-super-heroes')) && ((github.ref_name == 'rhbq-3.2')) - needs: - - create-app-multiarch-manifests - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.sha }} - branch: ${{ github.ref_name }} - - cleanup-artifacts: - needs: - - deploy-resources-workflow-run - - deploy-resources-workflow-dispatch - if: always() - runs-on: ubuntu-latest - steps: - - name: Delete artifacts - env: - WEBHOOK_SECRET: ${{ secrets.WEBHOOK_SECRET }} - run: | - echo "::add-mask::$WEBHOOK_SECRET" - curl --verbose --fail --show-error --location --request POST "https://api.github.com/repos/$GITHUB_REPOSITORY/dispatches" --header "Authorization: token $WEBHOOK_SECRET" --header 'Content-Type: application/json' --header 'Accept: application/vnd.github.everest-preview+json' --data-raw "{ \"event_type\": \"delete_all_artifacts\", \"client_payload\": {\"parent_runid\": \"$GITHUB_RUN_ID\", \"parent_repo\": \"$GITHUB_REPOSITORY\"} }" diff --git a/.github/workflows/build-push-container-images-rhbq-3.8.yml b/.github/workflows/build-push-container-images-rhbq-3.8.yml deleted file mode 100644 index 4c045de8a..000000000 --- a/.github/workflows/build-push-container-images-rhbq-3.8.yml +++ /dev/null @@ -1,338 +0,0 @@ -name: Build and Push Container images - rhbq-3.8 - -env: - IMAGE_BASE_NAME: "quay.io/quarkus-super-heroes" - LATEST_IMAGE_TAG: "latest" - BRANCH: rhbq-3.8 - -on: - workflow_run: - workflows: - - "Basic build and test" - branches: - - rhbq-3.8 - types: - - completed - workflow_dispatch: - -concurrency: - group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.workflow_run.head_branch || github.event.ref || github.ref }}" - cancel-in-progress: false - -jobs: - build-jvm-images: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == 'rhbq-3.8'))) - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '17' - project: - - { name: event-statistics } - - { name: rest-fights } - - { name: rest-heroes } - - { name: rest-villains } - - { name: rest-narration } - - { name: rest-narration, openai-type: azure-openai } - - { name: grpc-locations } - - { name: ui-super-heroes } - arch: - - amd64 - - arm64 - name: "Build JVM images (${{ matrix.arch }}-${{ matrix.project.name }}-java${{ matrix.java }}-${{ matrix.project.openai-type }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create env vars - working-directory: ${{ matrix.project.name }} - run: | - if [[ ${{ matrix.java }} == '17' ]]; then - echo "JVM_DOCKERFILE=Dockerfile.jvm" >> "$GITHUB_ENV" - else - echo "JVM_DOCKERFILE=Dockerfile.jvm${{ matrix.java }}" >> "$GITHUB_ENV" - fi - - - name: Create OpenAI env vars - if: matrix.project.openai-type - working-directory: ${{ matrix.project.name }} - run: echo "QUARKUS_PROFILE=${{ matrix.project.openai-type }}" >> $GITHUB_ENV - - - name: Create CONTAINER_TAG - working-directory: .github/workflows/scripts - shell: bash - run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "" ${{ matrix.java }} ${{ env.LATEST_IMAGE_TAG }} ${{ env.BRANCH }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV - - - name: Set up QEMU - if: matrix.arch == 'arm64' - uses: docker/setup-qemu-action@v3 - with: - platforms: ${{ matrix.arch }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Build JVM image (${{ matrix.project.name }}-java${{ matrix.java }}-${{ matrix.arch }}-${{ matrix.project.openai-type }}) - working-directory: ${{ matrix.project.name }} - run: | - ./mvnw -B clean package -DskipTests \ - -Dmaven.compiler.release=${{ matrix.java }} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dquarkus.container-image.build=true \ - -Dquarkus.container-image.push=false \ - -Dquarkus.container-image.tag=${{ env.CONTAINER_TAG }}-${{ matrix.arch }} \ - -Dquarkus.docker.dockerfile-jvm-path=src/main/docker/${{ env.JVM_DOCKERFILE }} \ - -Dquarkus.docker.buildx.platform=linux/${{ matrix.arch }} - - - name: Save JVM Image (${{ matrix.project.name }}-java${{ matrix.java }}-${{ matrix.arch }}-${{ matrix.project.openai-type }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}" - - build-native-images: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == 'rhbq-3.8'))) - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - java: - - '17' - project: - - { name: event-statistics } - - { name: rest-fights } - - { name: rest-heroes } - - { name: rest-villains } - - { name: rest-narration } - - { name: rest-narration, openai-type: azure-openai } - - { name: grpc-locations } - - { name: ui-super-heroes } - arch: - - amd64 - - arm64 - name: "Build Native images (${{ matrix.arch }}-${{ matrix.project.name }}-java${{ matrix.java }}-${{ matrix.project.openai-type }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: temurin - cache: maven - - - name: Create OpenAI env vars - if: matrix.project.openai-type - working-directory: ${{ matrix.project.name }} - run: echo "QUARKUS_PROFILE=${{ matrix.project.openai-type }}" >> $GITHUB_ENV - - - name: Create CONTAINER_TAG - working-directory: .github/workflows/scripts - shell: bash - run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "native-" ${{ matrix.java }} ${{ env.LATEST_IMAGE_TAG }} ${{ env.BRANCH }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV - - - name: Set up QEMU - if: matrix.arch == 'arm64' - uses: docker/setup-qemu-action@v3 - with: - platforms: ${{ matrix.arch }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Build native image (${{ matrix.project.name }}-java${{ matrix.java }}-${{ matrix.arch }}-${{ matrix.project.openai-type }}) - working-directory: ${{ matrix.project.name }} - run: | - ./mvnw -B clean package -DskipTests -Pnative \ - -Dmaven.compiler.release=${{ matrix.java }} \ - -Dquarkus.http.host=0.0.0.0 \ - -Dquarkus.native.container-build=true \ - -Dquarkus.native.container-runtime-options=--platform=linux/${{ matrix.arch }} \ - -Dquarkus.container-image.build=true \ - -Dquarkus.container-image.push=false \ - -Dquarkus.container-image.tag=${{ env.CONTAINER_TAG }}-${{ matrix.arch }} \ - -Dquarkus.docker.buildx.platform=linux/${{ matrix.arch }} - - - name: Save native Image (${{ matrix.project.name }}-java${{ matrix.java }}-${{ matrix.arch }}-${{ matrix.project.openai-type }}) - uses: ishworkh/container-image-artifact-upload@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}" - - push-app-images: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == 'rhbq-3.8'))) - needs: - - build-jvm-images - - build-native-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '17' - kind: - - "" - - "native-" - project: - - { name: event-statistics } - - { name: rest-fights } - - { name: rest-heroes } - - { name: rest-villains } - - { name: rest-narration } - - { name: rest-narration, openai-type: azure-openai } - - { name: grpc-locations } - - { name: ui-super-heroes } - arch: - - amd64 - - arm64 - name: "Push app images (${{ matrix.arch }}-${{ matrix.project.name }}-${{ matrix.kind }}java${{ matrix.java }}-${{ matrix.project.openai-type }})" - steps: - - name: Calculate Branch (workflow_run event) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Create CONTAINER_TAG - working-directory: .github/workflows/scripts - shell: bash - run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "${{ matrix.kind }}" ${{ matrix.java }} ${{ env.LATEST_IMAGE_TAG }} ${{ env.BRANCH }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV - - - name: Get saved images (${{ matrix.project.name }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}) - uses: ishworkh/container-image-artifact-download@v2.0.0 - with: - image: "${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }}-${{ matrix.arch }}" - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Push images - working-directory: ${{ matrix.project.name }} - run: "docker push -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}" - - create-app-multiarch-manifests: - if: ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success'))) && ((github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event.workflow_run.head_branch == 'rhbq-3.8'))) - needs: push-app-images - runs-on: ubuntu-latest - strategy: - matrix: - java: - - '17' - kind: - - "" - - "native-" - project: - - { name: event-statistics } - - { name: rest-fights } - - { name: rest-heroes } - - { name: rest-villains } - - { name: rest-narration } - - { name: rest-narration, openai-type: azure-openai } - - { name: grpc-locations } - - { name: ui-super-heroes } - name: Create app multiarch manifests (${{ matrix.project.name }}-${{ matrix.kind }}java${{ matrix.java }}-${{ matrix.project.openai-type }}) - steps: - - name: Calculate Branch (workflow_run) - if: github.event_name == 'workflow_run' - run: echo "REF=${{ github.event.workflow_run.head_commit.id }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: echo "REF=${{ github.sha }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Create CONTAINER_TAG - working-directory: .github/workflows/scripts - shell: bash - run: echo "CONTAINER_TAG=$(./compute-container-tag.sh "${{ matrix.kind }}" ${{ matrix.java }} ${{ env.LATEST_IMAGE_TAG }} ${{ env.BRANCH }} "${{ matrix.project.openai-type }}")" >> $GITHUB_ENV - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Create and push multi-arch manifests - shell: bash - run: | - docker manifest create ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }} \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }}-amd64 \ - -a ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }}-arm64 - docker manifest push ${{ env.IMAGE_BASE_NAME }}/${{ matrix.project.name }}:${{ env.CONTAINER_TAG }} - - deploy-resources-workflow-run: - if: ((github.event_name == 'workflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch')) && (github.event.workflow_run.conclusion == 'success') && (github.repository == 'quarkusio/quarkus-super-heroes')) && ((github.event.workflow_run.head_branch == 'rhbq-3.8')) - needs: create-app-multiarch-manifests - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.event.workflow_run.head_commit.id }} - branch: ${{ github.event.workflow_run.head_branch }} - - deploy-resources-workflow-dispatch: - if: ((github.event_name == 'workflow_dispatch') && (github.repository == 'quarkusio/quarkus-super-heroes')) && ((github.ref_name == 'rhbq-3.8')) - needs: create-app-multiarch-manifests - uses: quarkusio/quarkus-super-heroes/.github/workflows/create-deploy-resources.yml@main - secrets: inherit - with: - commit_id: ${{ github.sha }} - branch: ${{ github.ref_name }} - - cleanup-artifacts: - needs: - - deploy-resources-workflow-run - - deploy-resources-workflow-dispatch - if: always() - runs-on: ubuntu-latest - steps: - - name: Delete artifacts - env: - WEBHOOK_SECRET: ${{ secrets.WEBHOOK_SECRET }} - run: | - echo "::add-mask::$WEBHOOK_SECRET" - curl --verbose --fail --show-error --location --request POST "https://api.github.com/repos/$GITHUB_REPOSITORY/dispatches" --header "Authorization: token $WEBHOOK_SECRET" --header 'Content-Type: application/json' --header 'Accept: application/vnd.github.everest-preview+json' --data-raw "{ \"event_type\": \"delete_all_artifacts\", \"client_payload\": {\"parent_runid\": \"$GITHUB_RUN_ID\", \"parent_repo\": \"$GITHUB_REPOSITORY\"} }" diff --git a/.github/workflows/build-push-ui-images.yml b/.github/workflows/build-push-ui-images.yml deleted file mode 100644 index a252007a9..000000000 --- a/.github/workflows/build-push-ui-images.yml +++ /dev/null @@ -1,81 +0,0 @@ -name: Build and push UI image -# Note: this is not used on main, but needs to be on the default branch so it can be manually triggered - -env: - LATEST_IMAGE_TAG: "latest" - IMAGE_BASE_NAME: "quay.io/quarkus-super-heroes" - DEFAULT_BRANCH: rhbq-2.13 - -on: - workflow_dispatch: - inputs: - branch: - description: The branch to build/push - required: true - type: string - default: rhbq-2.13 - workflow_call: - inputs: - branch: - description: The branch to build/push - required: true - type: string - default: rhbq-2.13 - -jobs: - build-push-ui-images: - runs-on: ubuntu-latest - steps: - - name: Set variable defaults - run: echo "BRANCH=${{ github.event.inputs.branch || env.DEFAULT_BRANCH }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.BRANCH }} - uses: actions/checkout@v4 - with: - ref: ${{ env.BRANCH }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - with: - platforms: arm64 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: 17 - distribution: temurin - cache: maven - - - name: Calculate Tags (main branch) - if: env.BRANCH == 'main' - working-directory: ui-super-heroes - run: | - echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV - - - name: Calculate Tags (other branch) - if: env.BRANCH != 'main' - working-directory: ui-super-heroes - run: | - echo "CONTAINER_TAG=${{ env.LATEST_IMAGE_TAG }}-${{ env.BRANCH }}" >> $GITHUB_ENV && - echo "APP_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)-${{ env.BRANCH }}" >> $GITHUB_ENV - - - name: Login to quay - uses: docker/login-action@v3 - with: - registry: quay.io - username: ${{ secrets.QUAY_REPO_USERNAME }} - password: ${{ secrets.QUAY_REPO_TOKEN }} - - - name: Build and push UI image - uses: docker/build-push-action@v6 - with: - context: ui-super-heroes - platforms: linux/amd64,linux/arm64 - push: true - tags: ${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.CONTAINER_TAG }},${{ env.IMAGE_BASE_NAME }}/ui-super-heroes:${{ env.APP_VERSION }} diff --git a/.github/workflows/create-deploy-resources.yml b/.github/workflows/create-deploy-resources.yml deleted file mode 100644 index 42653950c..000000000 --- a/.github/workflows/create-deploy-resources.yml +++ /dev/null @@ -1,85 +0,0 @@ -name: Create deploy resources - -env: - IMAGE_BASE_NAME: "quay.io/quarkus-super-heroes" - -on: - workflow_call: - inputs: - commit_id: - description: The commit id of the original commit which triggered the workflow - required: true - type: string - branch: - description: The target branch of the commit id - required: true - type: string - workflow_dispatch: - -jobs: - create-deploy-resources: - if: (github.repository == 'quarkusio/quarkus-super-heroes') && (contains(fromJSON('["workflow_dispatch", "schedule"]'), github.event_name) || ((github.event_name == 'worflow_run') && ((github.event.workflow_run.event == 'push') || (github.event.workflow_run.event == 'workflow_dispatch') && (github.event.workflow_run.conclusion == 'success') && ((inputs.branch == 'main') || (inputs.branch == 'rhbq-2.7') || (inputs.branch == 'rhbq-2.13') || (inputs.branch == '2.13.Final') || (inputs.branch == '3.2.Final') || (inputs.branch == 'rhbq-3.2') || (inputs.branch == '3.8.Final') || (inputs.branch == 'rhbq-3.8'))))) - runs-on: ubuntu-latest - permissions: - actions: read - contents: write - pull-requests: write - steps: - - name: Calculate Branch (NOT workflow_dispatch event) - if: github.event_name != 'workflow_dispatch' - run: | - echo "REF=${{ inputs.commit_id }}" >> $GITHUB_ENV - echo "BRANCH=${{ inputs.branch }}" >> $GITHUB_ENV - - - name: Calculate Branch (workflow_dispatch event) - if: github.event_name == 'workflow_dispatch' - run: | - echo "REF=${{ github.sha }}" >> $GITHUB_ENV - echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV - - - name: Checkout from ${{ env.REF }} - uses: actions/checkout@v4 - with: - ref: ${{ env.REF }} - - - name: Setup Java - uses: actions/setup-java@v4 - with: - java-version: 17 - distribution: temurin - cache: maven - - - name: Create k8s resources - shell: bash - run: scripts/generate-k8s-resources.sh - - - name: Create docker-compose resources - shell: bash - run: scripts/generate-docker-compose-resources.sh - - - name: Commit generated resources via PR - id: create-pr - uses: peter-evans/create-pull-request@v7 - with: - add-paths: | - **/deploy/k8s/*.yml - deploy/k8s/*.yml - **/deploy/docker-compose/*.yml - deploy/docker-compose/*.yml - deploy/db-init/** - commit-message: "Generate deploy resources (from ${{ github.workflow }} run # ${{ github.run_number }})" - branch: create-deploy-resources/sourceref - branch-suffix: short-commit-hash - delete-branch: true - base: ${{ env.BRANCH }} - title: "Generate deploy resources (from ${{ github.workflow }} run # ${{ github.run_number }})" - body: "Generated deployment resource changes from [${{ github.workflow }} run # ${{ github.run_number }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}), which was triggered by commit ${{ env.REF }}." - labels: | - Generated Resources - - - name: Merge PR - if: (steps.create-pr.outputs.pull-request-operation == 'created') && (steps.create-pr.outputs.pull-request-number) - run: | - echo "${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}" | gh auth login --with-token - gh pr review --approve ${{ steps.create-pr.outputs.pull-request-number }} - gh pr merge --squash --admin ${{ steps.create-pr.outputs.pull-request-number }} diff --git a/.github/workflows/delete-artifacts.yml b/.github/workflows/delete-artifacts.yml deleted file mode 100644 index a2f5dacc9..000000000 --- a/.github/workflows/delete-artifacts.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Delete Calling job's artifacts - -on: repository_dispatch - -jobs: - delete-calling-jobs-artifacts: - runs-on: ubuntu-latest - steps: - - name: Delete artifacts - if: github.event.action == 'delete_all_artifacts' - uses: christian-korneck/delete-run-artifacts-action@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - parent_runid: ${{ github.event.client_payload.parent_runid }} - parent_repo: ${{ github.event.client_payload.parent_repo }} diff --git a/.github/workflows/dependabot-automerge.yml b/.github/workflows/dependabot-automerge.yml index 5bac1b27f..78347451e 100644 --- a/.github/workflows/dependabot-automerge.yml +++ b/.github/workflows/dependabot-automerge.yml @@ -7,6 +7,7 @@ on: - 2.13.Final - 3.2.Final - 3.8.Final + - 3.15.Final - rhbq-2.7 - rhbq-2.13 - rhbq-3.2 diff --git a/.github/workflows/quarkus-snapshot.yaml b/.github/workflows/quarkus-snapshot.yaml deleted file mode 100644 index e52ba8259..000000000 --- a/.github/workflows/quarkus-snapshot.yaml +++ /dev/null @@ -1,44 +0,0 @@ -name: Quarkus ecosystem CI - -on: - watch: - types: [started] - -env: - ECOSYSTEM_CI_REPO: quarkusio/quarkus-ecosystem-ci - ECOSYSTEM_CI_REPO_FILE: context.yaml - ECOSYSTEM_CI_REPO_PATH: quarkus-super-heroes - -jobs: - build: - name: "Build" - runs-on: ubuntu-latest - if: github.actor == 'quarkusbot' - steps: - - name: Install yq - run: sudo add-apt-repository ppa:rmescandon/yq && sudo apt update && sudo apt install yq -y - - - name: Set up Java - uses: actions/setup-java@v4 - with: - java-version: 17 - distribution: temurin - - - name: Checkout repo - uses: actions/checkout@v4 - with: - path: current-repo - - - name: Checkout Ecosystem - uses: actions/checkout@v4 - with: - repository: ${{ env.ECOSYSTEM_CI_REPO }} - path: ecosystem-ci - - - name: Setup and Run Tests - run: ./ecosystem-ci/setup-and-test - env: - ECOSYSTEM_CI_TOKEN: ${{ secrets.ECOSYSTEM_CI_TOKEN }} - QUARKUS_VERSION_POM_PATH: rest-fights - QUARKUS_VERSION_POM_PROPERTY: quarkus.platform.version - # ALTERNATIVE: 3.14.x diff --git a/.github/workflows/simple-build-test.yml b/.github/workflows/simple-build-test.yml index 0a12ae22e..68fbe0e1d 100644 --- a/.github/workflows/simple-build-test.yml +++ b/.github/workflows/simple-build-test.yml @@ -25,7 +25,7 @@ on: - 'scripts/watch-services.sh' - '**/hyperfoil/**' branches: - - main + - 3.15.Final pull_request: types: - opened @@ -33,7 +33,7 @@ on: - reopened - ready_for_review branches: - - main + - 3.15.Final paths-ignore: - '.editorconfig' - '**/deploy/**' diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml deleted file mode 100644 index 3a55b6ec8..000000000 --- a/.github/workflows/sonar-scan.yml +++ /dev/null @@ -1,88 +0,0 @@ -name: Sonar scan - -env: - BASE_JAVA_VERSION: '17' - SONAR_ORG: quarkusio-quarkus-super-heroes - SONAR_HOST_URL: https://sonarcloud.io - -on: - workflow_run: - workflows: - - "Basic build and test" - branches: - - main - types: - - completed - workflow_dispatch: - -concurrency: - group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.workflow_run.head_branch || github.event.ref || github.ref }}" - cancel-in-progress: false - -jobs: - sonar-scan: - if: (github.repository == 'quarkusio/quarkus-super-heroes') && ((github.event_name == 'workflow_dispatch') || ((github.event_name == 'workflow_run') && (github.event.workflow_run.conclusion == 'success'))) - name: "sonar-scan-${{ matrix.project }}" - strategy: - fail-fast: false - matrix: - project: - - event-statistics - - rest-fights - - rest-heroes - - rest-villains - - rest-narration - - grpc-locations - - ui-super-heroes - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup Java ${{ env.BASE_JAVA_VERSION }} - uses: actions/setup-java@v4 - with: - java-version: ${{ env.BASE_JAVA_VERSION }} - distribution: temurin - cache: maven - - - name: Sonar scan (Non-ui project) - if: matrix.project != 'ui-super-heroes' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - working-directory: ${{ matrix.project }} - run: | - ./mvnw -B clean verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Pit-coverage \ - -Dquarkus.http.host=0.0.0.0 \ - -Dmaven.compiler.release=${{ env.BASE_JAVA_VERSION }} \ - -Dquarkus.package.write-transformed-bytecode-to-build-output=true \ - -Dsonar.host.url=${{ env.SONAR_HOST_URL }} \ - -Dsonar.organization=${{ env.SONAR_ORG }} \ - -Dsonar.projectKey=${{ env.SONAR_ORG }}_${{ matrix.project }} \ - -Dsonar.coverage.jacoco.xmlReportPaths=target/jacoco-report/jacoco.xml \ - -Dsonar.junit.reportPaths=target/surefire-reports,target/failsafe-reports - - - name: Sonar scan (ui project) - if: matrix.project == 'ui-super-heroes' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - working-directory: ${{ matrix.project }} - run: | - ./mvnw -B clean verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Pit-coverage \ - -Dquarkus.http.host=0.0.0.0 \ - -Dmaven.compiler.release=${{ env.BASE_JAVA_VERSION }} \ - -Dquarkus.package.write-transformed-bytecode-to-build-output=true \ - -Dquarkus.quinoa.package-manager-command.test="run coverage" \ - -Dsonar.host.url=${{ env.SONAR_HOST_URL }} \ - -Dsonar.organization=${{ env.SONAR_ORG }} \ - -Dsonar.projectKey=${{ env.SONAR_ORG }}_${{ matrix.project }} \ - -Dsonar.coverage.jacoco.xmlReportPaths=target/jacoco-report/jacoco.xml \ - -Dsonar.junit.reportPaths=target/surefire-reports,target/failsafe-reports \ - -Dsonar.test.inclusions="**/*.test.js" \ - -Dsonar.exclusions="**/*.test.js" \ - -Dsonar.coverage.exclusions="src/test/java/**/*" \ - -Dsonar.javascript.lcov.reportPaths=src/main/webui/coverage/lcov.info \ - -Dsonar.sources=src/main/java,src/test/java,src/main/webui/src diff --git a/README.md b/README.md index b55b2eb43..c321770c6 100644 --- a/README.md +++ b/README.md @@ -99,10 +99,10 @@ Pick one of the 4 versions of the application from the table below and execute t > > Run `scripts/watch-services.sh -h` for details about it's usage. -| Description | Image Tag | Docker Compose Run Command | Docker Compose Run Command with Monitoring | -|-------------|-----------------|--------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------| -| JVM Java 17 | `java17-latest` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | `docker compose -f deploy/docker-compose/java17.yml -f deploy/docker-compose/monitoring.yml up --remove-orphans` | -| Native | `native-latest` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | `docker compose -f deploy/docker-compose/native.yml -f deploy/docker-compose/monitoring.yml up --remove-orphans` | +| Description | Image Tag | Docker Compose Run Command | Docker Compose Run Command with Monitoring | +|-------------|----------------------------|--------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------| +| JVM Java 17 | `java17-latest-3.15.Final` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | `docker compose -f deploy/docker-compose/java17.yml -f deploy/docker-compose/monitoring.yml up --remove-orphans` | +| Native | `native-latest-3.15.Final` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | `docker compose -f deploy/docker-compose/native.yml -f deploy/docker-compose/monitoring.yml up --remove-orphans` | > [!TIP] > If your system does not have the `compose` sub-command, you can try the above commands with the `docker-compose` command instead of `docker compose`. @@ -143,10 +143,10 @@ Pick one of the 4 versions of the system from the table below and deploy the app > > For a production-ready Apicurio Schema Registry, please see the [Apicurio Registry Operator documentation](https://www.apicur.io/registry/docs/apicurio-registry-operator/1.0.0/index.html). You can also try out a [fully hosted and managed Schema Registry service](https://console.redhat.com/application-services/service-registry)! -| Description | Image Tag | OpenShift Descriptor | Minikube Descriptor | Kubernetes Descriptor | Knative Descriptor | -|-------------|-----------------|-----------------------------------------------------------|---------------------------------------------------------|-------------------------------------------------------------|-------------------------------------------------------| -| JVM Java 17 | `java17-latest` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | -| Native | `native-latest` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | +| Description | Image Tag | OpenShift Descriptor | Minikube Descriptor | Kubernetes Descriptor | Knative Descriptor | +|-------------|----------------------------|-----------------------------------------------------------|---------------------------------------------------------|-------------------------------------------------------------|-------------------------------------------------------| +| JVM Java 17 | `java17-latest-3.15.Final` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | +| Native | `native-latest-3.15.Final` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | ### Monitoring There are also Kubernetes deployment descriptors for monitoring with [OpenTelemetry](https://opentelemetry.io), [Prometheus](https://prometheus.io), and [Jaeger](https://www.jaegertracing.io) in the [`deploy/k8s` directory](deploy/k8s) ([`monitoring-openshift.yml`](deploy/k8s/monitoring-openshift.yml), [`monitoring-minikube.yml`](deploy/k8s/monitoring-minikube.yml), [`monitoring-kubernetes.yml`](deploy/k8s/monitoring-kubernetes.yml)). Each descriptor contains the resources necessary to monitor and gather metrics and traces from all of the applications in the system. Deploy the appropriate descriptor to your cluster if you want it. diff --git a/docs/automation.md b/docs/automation.md index 937c762dd..3d2cd77ae 100644 --- a/docs/automation.md +++ b/docs/automation.md @@ -68,8 +68,8 @@ The job [Builds native executable container images](https://quarkus.io/guides/bu > The [`rest-narration`](../rest-narration) application currently doesn't support native compilation Each container image created has 2 tags: -- `native-latest-amd64` -- `native-latest-arm64` +- `native-latest-3.15.Final-amd64` +- `native-latest-3.15.Final-arm64` There are a total of 14 images built (7 applications x 2 platforms). diff --git a/docs/deploying-to-azure-containerapps.md b/docs/deploying-to-azure-containerapps.md index 2c2768b80..dd6557871 100644 --- a/docs/deploying-to-azure-containerapps.md +++ b/docs/deploying-to-azure-containerapps.md @@ -84,7 +84,7 @@ For that, we need to set the following environment variables: ```shell # Images SUPERHEROES_IMAGES_BASE="quay.io/quarkus-super-heroes" -IMAGES_TAG="java17-latest" +IMAGES_TAG="java17-latest-3.15.Final" # Azure RESOURCE_GROUP="super-heroes" diff --git a/event-statistics/README.md b/event-statistics/README.md index c6b8a0227..4b028b622 100644 --- a/event-statistics/README.md +++ b/event-statistics/README.md @@ -91,10 +91,10 @@ Pick one of the 4 versions of the application from the table below and execute t > [!NOTE] > You may see errors as the applications start up. This may happen if an application completes startup before one if its required services (i.e. database, kafka, etc). This is fine. Once everything completes startup things will work fine. -| Description | Image Tag | Docker Compose Run Command | -|-------------|-----------------|--------------------------------------------------------------------------| -| JVM Java 17 | `java17-latest` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | -| Native | `native-latest` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | +| Description | Image Tag | Docker Compose Run Command | +|-------------|----------------------------|--------------------------------------------------------------------------| +| JVM Java 17 | `java17-latest-3.15.Final` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | +| Native | `native-latest-3.15.Final` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | These Docker Compose files are meant for standing up this application and the required Kafka broker only. If you want to stand up the entire system, [follow these instructions](../README.md#running-locally-via-docker-compose). @@ -113,10 +113,10 @@ Deployment descriptors for these images are provided in the [`deploy/k8s`](deplo Pick one of the 4 versions of the application from the table below and deploy the appropriate descriptor from the [`deploy/k8s` directory](deploy/k8s). -| Description | Image Tag | OpenShift Descriptor | Minikube Descriptor | Kubernetes Descriptor | Knative Descriptor | -|-------------|-----------------|-----------------------------------------------------------|---------------------------------------------------------|-------------------------------------------------------------|-------------------------------------------------------| -| JVM Java 17 | `java17-latest` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | -| Native | `native-latest` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | +| Description | Image Tag | OpenShift Descriptor | Minikube Descriptor | Kubernetes Descriptor | Knative Descriptor | +|-------------|----------------------------|-----------------------------------------------------------|---------------------------------------------------------|-------------------------------------------------------------|-------------------------------------------------------| +| JVM Java 17 | `java17-latest-3.15.Final` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | +| Native | `native-latest-3.15.Final` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | The application is exposed outside of the cluster on port `80`. diff --git a/event-statistics/src/main/docker-compose/java17.yml b/event-statistics/src/main/docker-compose/java17.yml index 4ed418205..15913ec1b 100644 --- a/event-statistics/src/main/docker-compose/java17.yml +++ b/event-statistics/src/main/docker-compose/java17.yml @@ -1,6 +1,6 @@ event-statistics-java17: - image: quay.io/quarkus-super-heroes/event-statistics:java17-latest + image: quay.io/quarkus-super-heroes/event-statistics:java17-latest-3.15.Final container_name: event-statistics-java17 depends_on: - apicurio diff --git a/event-statistics/src/main/docker-compose/native.yml b/event-statistics/src/main/docker-compose/native.yml index d34d6c936..b77081487 100644 --- a/event-statistics/src/main/docker-compose/native.yml +++ b/event-statistics/src/main/docker-compose/native.yml @@ -1,6 +1,6 @@ event-statistics-native: - image: quay.io/quarkus-super-heroes/event-statistics:native-latest + image: quay.io/quarkus-super-heroes/event-statistics:native-latest-3.15.Final container_name: event-statistics-native depends_on: - apicurio diff --git a/grpc-locations/README.md b/grpc-locations/README.md index 18ab926d8..ebfeec4c5 100644 --- a/grpc-locations/README.md +++ b/grpc-locations/README.md @@ -68,8 +68,8 @@ Pick one of the versions of the application from the table below and execute the | Description | Image Tag | Docker Compose Run Command | |-------------|-----------------|--------------------------------------------------------------------------| -| JVM Java 17 | `java17-latest` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | -| Native | `native-latest` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | +| JVM Java 17 | `java17-latest-3.15.Final` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | +| Native | `native-latest-3.15.Final` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | These Docker Compose files are meant for standing up this application and the required database only. If you want to stand up the entire system, [follow these instructions](../README.md#running-locally-via-docker-compose). @@ -90,8 +90,8 @@ Pick one of the versions of the application from the table below and deploy the | Description | Image Tag | OpenShift Descriptor | Minikube Descriptor | Kubernetes Descriptor | Knative Descriptor | |-------------|-----------------|-----------------------------------------------------------|---------------------------------------------------------|-------------------------------------------------------------|-------------------------------------------------------| -| JVM Java 17 | `java17-latest` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | -| Native | `native-latest` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | +| JVM Java 17 | `java17-latest-3.15.Final` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | +| Native | `native-latest-3.15.Final` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | The application is exposed outside of the cluster on port `80`. diff --git a/grpc-locations/src/main/docker-compose/java17.yml b/grpc-locations/src/main/docker-compose/java17.yml index 92a129aa4..c6c159dc0 100644 --- a/grpc-locations/src/main/docker-compose/java17.yml +++ b/grpc-locations/src/main/docker-compose/java17.yml @@ -1,6 +1,6 @@ grpc-locations-java17: - image: quay.io/quarkus-super-heroes/grpc-locations:java17-latest + image: quay.io/quarkus-super-heroes/grpc-locations:java17-latest-3.15.Final container_name: grpc-locations-java17 depends_on: - locations-db diff --git a/grpc-locations/src/main/docker-compose/native.yml b/grpc-locations/src/main/docker-compose/native.yml index fd89390ff..b6775ef10 100644 --- a/grpc-locations/src/main/docker-compose/native.yml +++ b/grpc-locations/src/main/docker-compose/native.yml @@ -1,6 +1,6 @@ grpc-locations-native: - image: quay.io/quarkus-super-heroes/grpc-locations:native-latest + image: quay.io/quarkus-super-heroes/grpc-locations:native-latest-3.15.Final container_name: grpc-locations-native depends_on: - locations-db diff --git a/rest-fights/README.md b/rest-fights/README.md index fd6e4fe06..c7e87072e 100644 --- a/rest-fights/README.md +++ b/rest-fights/README.md @@ -193,8 +193,8 @@ Pick one of the versions of the application from the table below and execute the | Description | Image Tag | Docker Compose Run Command | |-------------|-----------------|--------------------------------------------------------------------------| -| JVM Java 17 | `java17-latest` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | -| Native | `native-latest` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | +| JVM Java 17 | `java17-latest-3.15.Final` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | +| Native | `native-latest-3.15.Final` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | ### Fights Service and all Downstream Dependencies The above Docker Compose files are meant for standing up this application and the required database, Kafka broker, and Apicurio Schema Registry only. If you want to stand up this application and its downstream services ([rest-villains](../rest-villains), [rest-heroes](../rest-heroes), [rest-narration](../rest-narration), & [grpc-locations](../grpc-locations)), pick one of the versions from the table below and execute the appropriate docker compose command from the `quarkus-super-heroes/rest-fights` directory. @@ -204,8 +204,8 @@ The above Docker Compose files are meant for standing up this application and th | Description | Image Tag | Docker Compose Run Command | |-------------|-----------------|-----------------------------------------------------------------------------------------| -| JVM Java 17 | `java17-latest` | `docker compose -f deploy/docker-compose/java17-all-downstream.yml up --remove-orphans` | -| Native | `native-latest` | `docker compose -f deploy/docker-compose/native-all-downstream.yml up --remove-orphans` | +| JVM Java 17 | `java17-latest-3.15.Final` | `docker compose -f deploy/docker-compose/java17-all-downstream.yml up --remove-orphans` | +| Native | `native-latest-3.15.Final` | `docker compose -f deploy/docker-compose/native-all-downstream.yml up --remove-orphans` | ### Only Downstream Dependencies If you want to develop the Fights service (i.e. via [Quarkus Dev Mode](https://quarkus.io/guides/maven-tooling#dev-mode)) but want to stand up just it's downstream services ([rest-villains](../rest-villains), [rest-heroes](../rest-heroes), [rest-narration](../rest-narration), & [grpc-locations](../grpc-locations)), pick one of the versions from the table below and execute the appropriate docker compose command from the `quarkus-super-heroes` directory. @@ -215,8 +215,8 @@ If you want to develop the Fights service (i.e. via [Quarkus Dev Mode](https://q | Description | Image Tag | Docker Compose Run Command | |-------------|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| JVM Java 17 | `java17-latest` | `docker compose -f rest-heroes/deploy/docker-compose/java17.yml -f rest-villains/deploy/docker-compose/java17.yml -f rest-narration/deploy/docker-compose/java17.yml -f grpc-locations/deploy/docker-compose/java17.yml up --remove-orphans` | -| Native | `native-latest` | `docker compose -f rest-heroes/deploy/docker-compose/native.yml -f rest-villains/deploy/docker-compose/native.yml -f rest-narration/deploy/docker-compose/native.yml -f grpc-locations/deploy/docker-compose/java17.yml up --remove-orphans` | +| JVM Java 17 | `java17-latest-3.15.Final` | `docker compose -f rest-heroes/deploy/docker-compose/java17.yml -f rest-villains/deploy/docker-compose/java17.yml -f rest-narration/deploy/docker-compose/java17.yml -f grpc-locations/deploy/docker-compose/java17.yml up --remove-orphans` | +| Native | `native-latest-3.15.Final` | `docker compose -f rest-heroes/deploy/docker-compose/native.yml -f rest-villains/deploy/docker-compose/native.yml -f rest-narration/deploy/docker-compose/native.yml -f grpc-locations/deploy/docker-compose/java17.yml up --remove-orphans` | If you want to stand up the entire system, [follow these instructions](../README.md#running-locally-via-docker-compose). @@ -237,8 +237,8 @@ Pick one of the versions of the application from the table below and deploy the | Description | Image Tag | OpenShift Descriptor | Minikube Descriptor | Kubernetes Descriptor | Knative Descriptor | |-------------|-----------------|-----------------------------------------------------------|---------------------------------------------------------|-------------------------------------------------------------|-------------------------------------------------------| -| JVM Java 17 | `java17-latest` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | -| Native | `native-latest` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | +| JVM Java 17 | `java17-latest-3.15.Final` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | +| Native | `native-latest-3.15.Final` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | The application is exposed outside of the cluster on port `80`. @@ -246,8 +246,8 @@ These are only the descriptors for this application and the required database, K | Description | Image Tag | OpenShift Descriptor | Minikube Descriptor | Kubernetes Descriptor | Knative Descriptor | |-------------|-----------------|-----------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| -| JVM Java 17 | `java17-latest` | [`java17-openshift-all-downstream.yml`](deploy/k8s/java17-openshift-all-downstream.yml) | [`java17-minikube-all-downstream.yml`](deploy/k8s/java17-minikube-all-downstream.yml) | [`java17-kubernetes-all-downstream.yml`](deploy/k8s/java17-kubernetes-all-downstream.yml) | [`java17-knative-all-downstream.yml`](deploy/k8s/java17-knative-all-downstream.yml) | -| Native | `native-latest` | [`native-openshift-all-downstream.yml`](deploy/k8s/native-openshift-all-downstream.yml) | [`native-minikube-all-downstream.yml`](deploy/k8s/native-minikube-all-downstream.yml) | [`native-kubernetes-all-downstream.yml`](deploy/k8s/native-kubernetes-all-downstream.yml) | [`native-knative-all-downstream.yml`](deploy/k8s/native-knative-all-downstream.yml) | +| JVM Java 17 | `java17-latest-3.15.Final` | [`java17-openshift-all-downstream.yml`](deploy/k8s/java17-openshift-all-downstream.yml) | [`java17-minikube-all-downstream.yml`](deploy/k8s/java17-minikube-all-downstream.yml) | [`java17-kubernetes-all-downstream.yml`](deploy/k8s/java17-kubernetes-all-downstream.yml) | [`java17-knative-all-downstream.yml`](deploy/k8s/java17-knative-all-downstream.yml) | +| Native | `native-latest-3.15.Final` | [`native-openshift-all-downstream.yml`](deploy/k8s/native-openshift-all-downstream.yml) | [`native-minikube-all-downstream.yml`](deploy/k8s/native-minikube-all-downstream.yml) | [`native-kubernetes-all-downstream.yml`](deploy/k8s/native-kubernetes-all-downstream.yml) | [`native-knative-all-downstream.yml`](deploy/k8s/native-knative-all-downstream.yml) | Each application is exposed outside of the cluster on port `80`. diff --git a/rest-fights/src/main/docker-compose/java17.yml b/rest-fights/src/main/docker-compose/java17.yml index 4ed47bacb..958352962 100644 --- a/rest-fights/src/main/docker-compose/java17.yml +++ b/rest-fights/src/main/docker-compose/java17.yml @@ -1,6 +1,6 @@ rest-fights-java17: - image: quay.io/quarkus-super-heroes/rest-fights:java17-latest + image: quay.io/quarkus-super-heroes/rest-fights:java17-latest-3.15.Final container_name: rest-fights-java17 depends_on: - fights-db diff --git a/rest-fights/src/main/docker-compose/native.yml b/rest-fights/src/main/docker-compose/native.yml index 06701d1ca..db0d2dd79 100644 --- a/rest-fights/src/main/docker-compose/native.yml +++ b/rest-fights/src/main/docker-compose/native.yml @@ -1,6 +1,6 @@ rest-fights-native: - image: quay.io/quarkus-super-heroes/rest-fights:native-latest + image: quay.io/quarkus-super-heroes/rest-fights:native-latest-3.15.Final container_name: rest-fights-native depends_on: - fights-db diff --git a/rest-heroes/README.md b/rest-heroes/README.md index 686c37093..8011adfd1 100644 --- a/rest-heroes/README.md +++ b/rest-heroes/README.md @@ -96,8 +96,8 @@ Pick one of the 4 versions of the application from the table below and execute t | Description | Image Tag | Docker Compose Run Command | |-------------|-----------------|--------------------------------------------------------------------------| -| JVM Java 17 | `java17-latest` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | -| Native | `native-latest` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | +| JVM Java 17 | `java17-latest-3.15.Final` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | +| Native | `native-latest-3.15.Final` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | These Docker Compose files are meant for standing up this application and the required database only. If you want to stand up the entire system, [follow these instructions](../README.md#running-locally-via-docker-compose). @@ -118,8 +118,8 @@ Pick one of the 4 versions of the application from the table below and deploy th | Description | Image Tag | OpenShift Descriptor | Minikube Descriptor | Kubernetes Descriptor | Knative Descriptor | |-------------|-----------------|-----------------------------------------------------------|---------------------------------------------------------|-------------------------------------------------------------|-------------------------------------------------------| -| JVM Java 17 | `java17-latest` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | -| Native | `native-latest` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | +| JVM Java 17 | `java17-latest-3.15.Final` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | +| Native | `native-latest-3.15.Final` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | The application is exposed outside of the cluster on port `80`. diff --git a/rest-heroes/src/main/docker-compose/java17.yml b/rest-heroes/src/main/docker-compose/java17.yml index 226466289..fddf611f0 100644 --- a/rest-heroes/src/main/docker-compose/java17.yml +++ b/rest-heroes/src/main/docker-compose/java17.yml @@ -1,6 +1,6 @@ rest-heroes-java17: - image: quay.io/quarkus-super-heroes/rest-heroes:java17-latest + image: quay.io/quarkus-super-heroes/rest-heroes:java17-latest-3.15.Final container_name: rest-heroes-java17 depends_on: - heroes-db diff --git a/rest-heroes/src/main/docker-compose/native.yml b/rest-heroes/src/main/docker-compose/native.yml index 0b9b79873..17afef2f2 100644 --- a/rest-heroes/src/main/docker-compose/native.yml +++ b/rest-heroes/src/main/docker-compose/native.yml @@ -1,6 +1,6 @@ rest-heroes-native: - image: quay.io/quarkus-super-heroes/rest-heroes:native-latest + image: quay.io/quarkus-super-heroes/rest-heroes:native-latest-3.15.Final container_name: rest-heroes-native depends_on: - heroes-db diff --git a/rest-narration/README.md b/rest-narration/README.md index 84d17d091..6bc97e5d9 100644 --- a/rest-narration/README.md +++ b/rest-narration/README.md @@ -133,10 +133,10 @@ Pick one of the versions of the application from the table below and execute the | Description | Image Tag | Docker Compose Run Command | |----------------------------|------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| JVM Java 17 | `java17-latest` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | -| JVM Java 17 (Azure OpenAI) | `java17-latest-azure-openai` | Modify the image in `deploy/docker-compose/java17.yml`, update environment variables, then run `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | -| Native | `native-latest` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | -| Native (Azure OpenAI) | `native-latest-azure-openai` | Modify the image in `deploy/docker-compose/native.yml`, update environment variables, then run `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | +| JVM Java 17 | `java17-latest-3.15.Final` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | +| JVM Java 17 (Azure OpenAI) | `java17-latest-3.15.Final-azure-openai` | Modify the image in `deploy/docker-compose/java17.yml`, update environment variables, then run `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | +| Native | `native-latest-3.15.Final` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | +| Native (Azure OpenAI) | `native-latest-3.15.Final-azure-openai` | Modify the image in `deploy/docker-compose/native.yml`, update environment variables, then run `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | > [!IMPORTANT] > The running application will **NOT** make live calls to an OpenAI provider. You will need to [modify the descriptors accordingly](#making-live-calls-to-openai-providers) to have the application make live calls to an OpenAI provider. @@ -162,13 +162,13 @@ Pick one of the versions of the application from the table below and deploy the | Description | Image Tag | OpenShift Descriptor | Minikube Descriptor | Kubernetes Descriptor | Knative Descriptor | |-------------|-----------------|-----------------------------------------------------------|---------------------------------------------------------|-------------------------------------------------------------|-------------------------------------------------------| -| JVM Java 17 | `java17-latest` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | -| Native | `native-latest` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | +| JVM Java 17 | `java17-latest-3.15.Final` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | +| Native | `native-latest-3.15.Final` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | > [!IMPORTANT] > As with the [Docker compose descriptors above](#running-locally-via-docker-compose), the running application will **NOT** make live calls to an OpenAI provider. You will need to [modify the descriptors accordingly](#making-live-calls-to-openai-providers) to have the application make live calls to an OpenAI provider. > -> Additionally, there are also `java17-latest-azure-openai` and `native-latest-azure-openai` image tags available. You would need to modify the Kubernetes descriptor manually before deploying. +> Additionally, there are also `java17-latest-3.15.Final-azure-openai` and `native-latest-3.15.Final-azure-openai` image tags available. You would need to modify the Kubernetes descriptor manually before deploying. > > You would first need to modify the image with the appropriate image tag, then update the environment variables according to the [Azure OpenAI properties](#azure-openai-properties). diff --git a/rest-narration/src/main/docker-compose/java17.yml b/rest-narration/src/main/docker-compose/java17.yml index e96642773..8d9e3997a 100644 --- a/rest-narration/src/main/docker-compose/java17.yml +++ b/rest-narration/src/main/docker-compose/java17.yml @@ -1,6 +1,6 @@ rest-narration-java17: - image: quay.io/quarkus-super-heroes/rest-narration:java17-latest + image: quay.io/quarkus-super-heroes/rest-narration:java17-latest-3.15.Final container_name: rest-narration-java17 ports: - "8087:8087" diff --git a/rest-narration/src/main/docker-compose/native.yml b/rest-narration/src/main/docker-compose/native.yml index c0351e609..87ee6e336 100644 --- a/rest-narration/src/main/docker-compose/native.yml +++ b/rest-narration/src/main/docker-compose/native.yml @@ -1,6 +1,6 @@ rest-narration-native: - image: quay.io/quarkus-super-heroes/rest-narration:native-latest + image: quay.io/quarkus-super-heroes/rest-narration:native-latest-3.15.Final container_name: rest-narration-native ports: - "8087:8087" diff --git a/rest-villains/README.md b/rest-villains/README.md index 1e8eb1633..9bfa6a0b8 100644 --- a/rest-villains/README.md +++ b/rest-villains/README.md @@ -94,8 +94,8 @@ Pick one of the 4 versions of the application from the table below and execute t | Description | Image Tag | Docker Compose Run Command | |-------------|-----------------|--------------------------------------------------------------------------| -| JVM Java 17 | `java17-latest` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | -| Native | `native-latest` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | +| JVM Java 17 | `java17-latest-3.15.Final` | `docker compose -f deploy/docker-compose/java17.yml up --remove-orphans` | +| Native | `native-latest-3.15.Final` | `docker compose -f deploy/docker-compose/native.yml up --remove-orphans` | These Docker Compose files are meant for standing up this application and the required database only. If you want to stand up the entire system, [follow these instructions](../README.md#running-locally-via-docker-compose). @@ -116,8 +116,8 @@ Pick one of the 4 versions of the application from the table below and deploy th | Description | Image Tag | OpenShift Descriptor | Minikube Descriptor | Kubernetes Descriptor | Knative Descriptor | |-------------|-----------------|-----------------------------------------------------------|---------------------------------------------------------|-------------------------------------------------------------|-------------------------------------------------------| -| JVM Java 17 | `java17-latest` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | -| Native | `native-latest` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | +| JVM Java 17 | `java17-latest-3.15.Final` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | +| Native | `native-latest-3.15.Final` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | The application is exposed outside of the cluster on port `80`. diff --git a/rest-villains/src/main/docker-compose/java17.yml b/rest-villains/src/main/docker-compose/java17.yml index 92501b561..c97098a04 100644 --- a/rest-villains/src/main/docker-compose/java17.yml +++ b/rest-villains/src/main/docker-compose/java17.yml @@ -1,6 +1,6 @@ rest-villains-java17: - image: quay.io/quarkus-super-heroes/rest-villains:java17-latest + image: quay.io/quarkus-super-heroes/rest-villains:java17-latest-3.15.Final container_name: rest-villains-java17 depends_on: - villains-db diff --git a/rest-villains/src/main/docker-compose/native.yml b/rest-villains/src/main/docker-compose/native.yml index 6206e2fa1..9f1f7a1bc 100644 --- a/rest-villains/src/main/docker-compose/native.yml +++ b/rest-villains/src/main/docker-compose/native.yml @@ -1,6 +1,6 @@ rest-villains-native: - image: quay.io/quarkus-super-heroes/rest-villains:native-latest + image: quay.io/quarkus-super-heroes/rest-villains:native-latest-3.15.Final container_name: rest-villains-native depends_on: - villains-db diff --git a/scripts/deploy-to-azure-containerapps.sh b/scripts/deploy-to-azure-containerapps.sh index 9f4d5ab04..b5343d7ce 100755 --- a/scripts/deploy-to-azure-containerapps.sh +++ b/scripts/deploy-to-azure-containerapps.sh @@ -29,8 +29,8 @@ help() { echo " -s The SKU to use for the PostgreSQL/MariaDB servers (see https://azure.microsoft.com/en-us/pricing/details/postgresql/flexible-server / https://azure.microsoft.com/en-us/pricing/details/mysql/flexible-server)" echo " Default: 'B1ms'" echo " -t The tag for the images to deploy" - echo " Accepted values: 'java17-latest' or 'native-latest'" - echo " Default: 'java17-latest'" + echo " Accepted values: 'java17-latest-3.15.Final' or 'native-latest-3.15.Final'" + echo " Default: 'java17-latest-3.15.Final'" echo " -u A unique identifier to append to some resources. Some Azure services require unique names within a region (across users)." echo " Default is to use the output of the 'whoami' command." } @@ -443,7 +443,7 @@ create_azure_openai_resources() { # Define defaults RESOURCE_GROUP="super-heroes" LOCATION="eastus2" -IMAGES_TAG="java17-latest" +IMAGES_TAG="java17-latest-3.15.Final" UNIQUE_IDENTIFIER=$(whoami) POSTGRES_SKU="B1ms" POSTGRES_TIER="Burstable" diff --git a/ui-super-heroes/README.md b/ui-super-heroes/README.md index d1e11f44e..7610cf27a 100644 --- a/ui-super-heroes/README.md +++ b/ui-super-heroes/README.md @@ -119,8 +119,8 @@ Pick one of the 4 versions of the application from the table below and deploy th | Description | Image Tag | OpenShift Descriptor | Minikube Descriptor | Kubernetes Descriptor | Knative Descriptor | |-------------|-----------------|-----------------------------------------------------------|---------------------------------------------------------|-------------------------------------------------------------|-------------------------------------------------------| -| JVM Java 17 | `java17-latest` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | -| Native | `native-latest` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | +| JVM Java 17 | `java17-latest-3.15.Final` | [`java17-openshift.yml`](deploy/k8s/java17-openshift.yml) | [`java17-minikube.yml`](deploy/k8s/java17-minikube.yml) | [`java17-kubernetes.yml`](deploy/k8s/java17-kubernetes.yml) | [`java17-knative.yml`](deploy/k8s/java17-knative.yml) | +| Native | `native-latest-3.15.Final` | [`native-openshift.yml`](deploy/k8s/native-openshift.yml) | [`native-minikube.yml`](deploy/k8s/native-minikube.yml) | [`native-kubernetes.yml`](deploy/k8s/native-kubernetes.yml) | [`native-knative.yml`](deploy/k8s/native-knative.yml) | The application is exposed outside of the cluster on port `80`. diff --git a/ui-super-heroes/src/main/docker-compose/java17.yml b/ui-super-heroes/src/main/docker-compose/java17.yml index 0b0370423..705546f43 100644 --- a/ui-super-heroes/src/main/docker-compose/java17.yml +++ b/ui-super-heroes/src/main/docker-compose/java17.yml @@ -1,6 +1,6 @@ ui-super-heroes-java17: - image: quay.io/quarkus-super-heroes/ui-super-heroes:java17-latest + image: quay.io/quarkus-super-heroes/ui-super-heroes:java17-latest-3.15.Final container_name: ui-super-heroes ports: - "8080:8080" diff --git a/ui-super-heroes/src/main/docker-compose/native.yml b/ui-super-heroes/src/main/docker-compose/native.yml index 22bed5e7d..453c17326 100644 --- a/ui-super-heroes/src/main/docker-compose/native.yml +++ b/ui-super-heroes/src/main/docker-compose/native.yml @@ -1,6 +1,6 @@ ui-super-heroes-native: - image: quay.io/quarkus-super-heroes/ui-super-heroes:native-latest + image: quay.io/quarkus-super-heroes/ui-super-heroes:native-latest-3.15.Final container_name: ui-super-heroes ports: - "8080:8080"