diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index 26a85c3dd..c89bee73d 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -9,10 +9,18 @@ on: description: "Build for ARM as well" default: false required: false + workflow_call: + inputs: + build_arm: + type: string + description: "Build for ARM as well" + default: "false" + required: true env: DOCKER_IMAGE_NAME: ghcr.io/loculus-project/backend - BUILD_ARM: ${{ github.ref == 'refs/heads/main' || github.event.inputs.build_arm }} + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + BUILD_ARM: ${{ github.event.inputs.build_arm || inputs.build_arm || github.ref == 'refs/heads/main' }} concurrency: group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-backend @@ -48,7 +56,7 @@ jobs: type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }} type=ref,event=branch type=sha,prefix=commit- - + type=raw,value=${{ env.BRANCH_NAME }}-arm,enable=${{ env.BUILD_ARM }} - name: Login to GitHub Container Registry uses: docker/login-action@v3 with: diff --git a/.github/workflows/build-arm.yaml b/.github/workflows/build-arm.yaml new file mode 100644 index 000000000..f582732c5 --- /dev/null +++ b/.github/workflows/build-arm.yaml @@ -0,0 +1,46 @@ +# Trigger a build of all docker images including ARM images + +on: + push: + workflow_dispatch: + +permissions: + contents: read + packages: write + checks: read + +jobs: + trigger-backend: + uses: ./.github/workflows/backend.yml + with: + build_arm: true + + trigger-config-preprocessor: + uses: ./.github/workflows/config-preprocessor-build.yml + with: + build_arm: true + + trigger-dummy-preprocessing: + uses: ./.github/workflows/dummyPreprocessing.yml + with: + build_arm: true + + trigger-ingest: + uses: ./.github/workflows/ingest.yml + with: + build_arm: true + + trigger-keycloakify: + uses: ./.github/workflows/keycloakify-build.yml + with: + build_arm: true + + trigger-preprocessing-nextclade: + uses: ./.github/workflows/preprocessing-nextclade.yml + with: + build_arm: true + + trigger-website: + uses: ./.github/workflows/website.yml + with: + build_arm: true diff --git a/.github/workflows/config-preprocessor-build.yml b/.github/workflows/config-preprocessor-build.yml index 9f395785c..4f81380d7 100644 --- a/.github/workflows/config-preprocessor-build.yml +++ b/.github/workflows/config-preprocessor-build.yml @@ -8,18 +8,26 @@ on: type: boolean description: "Build for ARM as well" default: false - required: false + required: true + workflow_call: + inputs: + build_arm: + type: string + description: "Build for ARM as well" + default: "false" + required: true env: DOCKER_IMAGE_NAME: ghcr.io/loculus-project/config-processor - BUILD_ARM: ${{ github.ref == 'refs/heads/main' || github.event.inputs.build_arm }} # When to build for arm as well + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + BUILD_ARM: ${{ github.event.inputs.build_arm || inputs.build_arm || github.ref == 'refs/heads/main' }} defaults: run: working-directory: ./kubernetes/config-processor concurrency: - group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-config-processor + group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-config-processor-${{github.event.inputs.build_arm}} cancel-in-progress: true jobs: @@ -50,6 +58,7 @@ jobs: type=ref,event=branch type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }} type=sha,prefix=commit- + type=raw,value=${{ env.BRANCH_NAME }}-arm,enable=${{ env.BUILD_ARM }} - name: Build and push image uses: docker/build-push-action@v5 with: diff --git a/.github/workflows/dummyPreprocessing.yml b/.github/workflows/dummyPreprocessing.yml index 8898dc018..f9a16d419 100644 --- a/.github/workflows/dummyPreprocessing.yml +++ b/.github/workflows/dummyPreprocessing.yml @@ -9,13 +9,21 @@ on: description: "Build for ARM as well" default: false required: false + workflow_call: + inputs: + build_arm: + type: boolean + description: "Build for ARM as well" + default: false + required: false env: DOCKER_IMAGE_NAME: ghcr.io/loculus-project/preprocessing-dummy - BUILD_ARM: ${{ github.ref == 'refs/heads/main' || github.event.inputs.build_arm }} # When to build for arm as well + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + BUILD_ARM: ${{ github.event.inputs.build_arm || inputs.build_arm || github.ref == 'refs/heads/main' }} concurrency: - group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-preprocessing-dummy + group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-preprocessing-dumm-${{github.event.inputs.build_arm}}y cancel-in-progress: true jobs: @@ -45,6 +53,7 @@ jobs: type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }} type=ref,event=branch type=sha,prefix=commit- + type=raw,value=${{ env.BRANCH_NAME }}-arm,enable=${{ env.BUILD_ARM }} - name: Login to GitHub Container Registry uses: docker/login-action@v3 diff --git a/.github/workflows/ingest.yml b/.github/workflows/ingest.yml index c20940853..3c7832b04 100644 --- a/.github/workflows/ingest.yml +++ b/.github/workflows/ingest.yml @@ -8,13 +8,21 @@ on: description: "Build for ARM as well" default: false required: false + workflow_call: + inputs: + build_arm: + type: boolean + description: "Build for ARM as well" + default: false + required: false env: DOCKER_IMAGE_NAME: ghcr.io/loculus-project/ingest - BUILD_ARM: ${{ github.ref == 'refs/heads/main' || github.event.inputs.build_arm }} + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + BUILD_ARM: ${{ github.event.inputs.build_arm || inputs.build_arm || github.ref == 'refs/heads/main' }} concurrency: - group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-ingest + group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-ingest-${{github.event.inputs.build_arm}} cancel-in-progress: true jobs: @@ -45,6 +53,7 @@ jobs: type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }} type=ref,event=branch type=sha,prefix=commit- + type=raw,value=${{ env.BRANCH_NAME }}-arm,enable=${{ env.BUILD_ARM }} - name: Login to GitHub Container Registry uses: docker/login-action@v3 diff --git a/.github/workflows/keycloakify-build.yml b/.github/workflows/keycloakify-build.yml index 9bfb33de8..c49f8eb12 100644 --- a/.github/workflows/keycloakify-build.yml +++ b/.github/workflows/keycloakify-build.yml @@ -9,13 +9,20 @@ on: description: "Build for ARM as well" default: false required: false - + workflow_call: + inputs: + build_arm: + type: boolean + description: "Build for ARM as well" + default: false + required: false env: DOCKER_IMAGE_NAME: ghcr.io/loculus-project/keycloakify - BUILD_ARM: ${{ github.ref == 'refs/heads/main' || github.event.inputs.build_arm }} # When to build for arm as well + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + BUILD_ARM: ${{ github.event.inputs.build_arm || inputs.build_arm || github.ref == 'refs/heads/main' }} concurrency: - group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-keycloak-build + group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-keycloak-buil-${{github.event.inputs.build_arm}}d cancel-in-progress: true jobs: @@ -50,6 +57,7 @@ jobs: type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }} type=ref,event=branch type=sha,prefix=commit- + type=raw,value=${{ env.BRANCH_NAME }}-arm,enable=${{ env.BUILD_ARM }} - name: Check if image exists id: check-image run: | diff --git a/.github/workflows/preprocessing-nextclade.yml b/.github/workflows/preprocessing-nextclade.yml index 5297ecaf6..922c5a5b2 100644 --- a/.github/workflows/preprocessing-nextclade.yml +++ b/.github/workflows/preprocessing-nextclade.yml @@ -9,13 +9,21 @@ on: description: "Build for ARM as well" default: false required: false + workflow_call: + inputs: + build_arm: + type: boolean + description: "Build for ARM as well" + default: false + required: false env: DOCKER_IMAGE_NAME: ghcr.io/loculus-project/preprocessing-nextclade - BUILD_ARM: ${{ github.ref == 'refs/heads/main' || github.event.inputs.build_arm }} + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + BUILD_ARM: ${{ github.event.inputs.build_arm || inputs.build_arm || github.ref == 'refs/heads/main' }} concurrency: - group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-preprocessing-nextclade + group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-preprocessing-nextclade-${{github.event.inputs.build_arm}} cancel-in-progress: true jobs: @@ -46,6 +54,7 @@ jobs: type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }} type=ref,event=branch type=sha,prefix=commit- + type=raw,value=${{ env.BRANCH_NAME }}-arm,enable=${{ env.BUILD_ARM }} - name: Login to GitHub Container Registry uses: docker/login-action@v3 diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index f612ff595..0baf0c25b 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -1,7 +1,6 @@ name: website on: - push: workflow_dispatch: inputs: build_arm: @@ -9,13 +8,20 @@ on: description: "Build for ARM as well" default: false required: false - + workflow_call: + inputs: + build_arm: + type: boolean + description: "Build for ARM as well" + default: false + required: false env: DOCKER_IMAGE_NAME: ghcr.io/loculus-project/website - BUILD_ARM: ${{ github.ref == 'refs/heads/main' || github.event.inputs.build_arm }} # When to build for arm as well + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + BUILD_ARM: ${{ github.event.inputs.build_arm || inputs.build_arm || github.ref == 'refs/heads/main' }} concurrency: - group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-website + group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-website-${{github.event.inputs.build_arm}} cancel-in-progress: true jobs: @@ -46,6 +52,7 @@ jobs: type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }} type=ref,event=branch type=sha,prefix=commit- + type=raw,value=${{ env.BRANCH_NAME }}-arm,enable=${{ env.BUILD_ARM }} - name: Login to GitHub Container Registry uses: docker/login-action@v3 diff --git a/docs/.nvmrc b/docs/.nvmrc index 92f279e3e..53d1c14db 100644 --- a/docs/.nvmrc +++ b/docs/.nvmrc @@ -1 +1 @@ -v22 \ No newline at end of file +v22