name: Docker Builders on: push: branches: - '**' workflow_dispatch: env: DOCKER_TLS_CERTDIR: "/certs" BASE_BUILDER_TAG: ${{ vars.CI_REGISTRY_IMAGE }}/linuxbasebuilder:${{ github.ref_name }} CPP_BUILDER_TAG: ${{ vars.CI_REGISTRY_IMAGE }}/linuxcppbuilder:${{ github.ref_name }} BIGFOOT_BUILDER_TAG: ${{ vars.CI_REGISTRY_IMAGE }}/linuxbigfootbuilder:${{ github.ref_name }} BIGFOOT_COVERAGE_BUILDER_TAG: ${{ vars.CI_REGISTRY_IMAGE }}/linuxbigfootcoveragebuilder:${{ github.ref_name }} jobs: docker-build: runs-on: ubuntu-latest timeout-minutes: 360 strategy: matrix: builder: - name: base path: ./Linux/BaseBuilder tag: ${{ env.BASE_BUILDER_TAG }} build_args: "" - name: cpp path: ./Linux/CPPBuilder tag: ${{ env.CPP_BUILDER_TAG }} build_args: "--build-arg BASE_BUILDER=${{ env.BASE_BUILDER_TAG }}" container: image: docker:29.1.5-dind options: --privileged services: docker: image: docker:29.1.5-dind options: --privileged steps: - name: Install Node.js run: apk add --no-cache nodejs npm - name: Checkout repository uses: actions/checkout@v3 - name: Login to the Container registry uses: docker/login-action@v2 with: registry: ${{ vars.CI_REGISTRY }} username: ${{ secrets.CI_USERNAME }} password: ${{ secrets.CI_TOKEN }} - name: Build Builder run: docker build -t "${{ matrix.builder.tag }}" ${{ matrix.builder.build_args }} "${{ matrix.builder.path }}" - name: Push Builder run: docker push "${{ matrix.builder.tag }}"