chore: Resolve master→3.x sync conflict #159
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: 'Build: Base Image' | |
| run-name: "${{ github.event_name == 'workflow_dispatch' && format('Build: Base Image (push={0})', inputs.push) || '' }}" | |
| on: | |
| push: | |
| branches: | |
| - master | |
| paths: | |
| - 'docker/images/n8n-base/Dockerfile' | |
| - '.github/workflows/build-base-image.yml' | |
| pull_request: | |
| paths: | |
| - 'docker/images/n8n-base/Dockerfile' | |
| - '.github/workflows/build-base-image.yml' | |
| workflow_dispatch: | |
| inputs: | |
| push: | |
| description: 'Push to registries' | |
| required: false | |
| default: false | |
| type: boolean | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # One entry per published Node version: `node_version` is the | |
| # `n8nio/base:<node_version>` tag, `dhi_ref` the DHI base it builds on, | |
| # pinned to a multi-arch index digest. Bump tag and digest together | |
| # when updating. | |
| include: | |
| - node_version: '22' | |
| dhi_ref: dhi.io/node:22.23.2-alpine3.24-dev@sha256:a6ac21cfbc4bb746c1cfc6cf1501ec13c961ae71558ff2ac7e021caaaf91a224 | |
| - node_version: '24.18.1' | |
| dhi_ref: dhi.io/node:24.18.1-alpine3.24-dev@sha256:074b5aa92e1ce74cd575214211bbcb8d1550710aec59558da734a67d84d31679 | |
| - node_version: '26.5.1' | |
| dhi_ref: dhi.io/node:26.5.1-alpine3.24-dev@sha256:c4062f85acd1ca91ffb7d15048dcc5f15a922d630e65eb3c3c0dcdcef6ea36d8 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0 | |
| - name: Login to DHI Registry (for pulling base images) | |
| uses: ./.github/actions/docker-registry-login | |
| with: | |
| login-ghcr: 'false' | |
| login-dhi: 'true' | |
| dockerhub-username: ${{ secrets.DOCKER_USERNAME }} | |
| dockerhub-password: ${{ secrets.DOCKER_PASSWORD }} | |
| - name: Login to Docker registries (for pushing) | |
| if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.push == true) | |
| uses: ./.github/actions/docker-registry-login | |
| with: | |
| login-ghcr: 'true' | |
| login-dockerhub: 'true' | |
| dockerhub-username: ${{ secrets.DOCKER_USERNAME }} | |
| dockerhub-password: ${{ secrets.DOCKER_PASSWORD }} | |
| - name: Build and push | |
| uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7.0.0 | |
| with: | |
| context: . | |
| file: ./docker/images/n8n-base/Dockerfile | |
| build-args: | | |
| DHI_REF=${{ matrix.dhi_ref }} | |
| platforms: linux/amd64,linux/arm64 | |
| provenance: ${{ github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.push == true) }} | |
| sbom: ${{ github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.push == true) }} | |
| push: ${{ github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.push == true) }} | |
| tags: | | |
| ${{ secrets.DOCKER_USERNAME }}/base:${{ matrix.node_version }}-${{ github.sha }} | |
| ${{ secrets.DOCKER_USERNAME }}/base:${{ matrix.node_version }} | |
| ghcr.io/${{ github.repository_owner }}/base:${{ matrix.node_version }}-${{ github.sha }} | |
| ghcr.io/${{ github.repository_owner }}/base:${{ matrix.node_version }} | |
| no-cache: true |