v1.6.12.1 #59
Workflow file for this run
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
| env: | |
| RUBY_VERSION: 3.3.6 | |
| name: CI Build Release | |
| on: | |
| release: | |
| types: [released] | |
| jobs: | |
| main: | |
| name: Build Docker Image | |
| env: | |
| DOCKER_REPOSITORY: ${{ secrets.DOCKER_REPOSITORY }} | |
| DOCKER_BUILD_ENABLED: ${{ secrets.DOCKER_BUILD_ENABLED }} | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: actions/checkout@v3 | |
| - name: Set up Docker Buildx | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/setup-buildx-action@v2 | |
| - name: Cache Docker layers | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: actions/cache@v3 | |
| with: | |
| path: /tmp/.buildx-cache | |
| key: ${{ runner.os }}-buildx-${{ github.sha }} | |
| restore-keys: | | |
| ${{ runner.os }}-buildx- | |
| - name: Login to DockerHub | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/login-action@v2 | |
| with: | |
| username: ${{ secrets.DOCKER_USERNAME }} | |
| password: ${{ secrets.DOCKER_PASSWORD }} | |
| - name: Extract Docker Repository | |
| id: ci_docker_repository | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| shell: bash | |
| run: echo "repository=$(echo ${DOCKER_REPOSITORY:-$GITHUB_REPOSITORY})" >> $GITHUB_OUTPUT | |
| - name: Extract Tag Release Major | |
| id: ci_tag_release_major | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| shell: bash | |
| run: echo "tag=$(echo ${GITHUB_REF#refs/tags/} | cut -f1-1 -d'.')" >> $GITHUB_OUTPUT | |
| - name: Extract Tag Release Minor | |
| id: ci_tag_release_minor | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| shell: bash | |
| run: echo "tag=$(echo ${GITHUB_REF#refs/tags/} | cut -f1-2 -d'.')" >> $GITHUB_OUTPUT | |
| - name: Extract Tag Release Revision | |
| id: ci_tag_release_revision | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| shell: bash | |
| run: echo "tag=$(echo ${GITHUB_REF#refs/tags/})" >> $GITHUB_OUTPUT | |
| - name: Build and Push nginx | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| push: true | |
| target: nginx | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-nginx" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-nginx" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-nginx" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| - name: Build and Push api | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| push: true | |
| target: api | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-api" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-api" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-api" | |
| build-args: "BUILD_NUMBER=${{ steps.ci_tag_release_revision.outputs.tag }}" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| - name: Build and Push poller | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| push: true | |
| target: poller | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-poller" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-poller" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-poller" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| - name: Build and Push recording-importer | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| push: true | |
| target: recording-importer | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-recording-importer" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-recording-importer" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-recording-importer" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| # Alternate Images for bbb-focal-260 with alpine | |
| - name: Alternate Alpine Build and Push nginx | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| file: dockerfiles/v1/jammy300-alpine | |
| push: true | |
| target: nginx | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-alpine-nginx" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-alpine-nginx" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-alpine-nginx" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| - name: Alternate Alpine Build and Push api | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| file: dockerfiles/v1/jammy300-alpine | |
| push: true | |
| target: api | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-alpine" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-alpine" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-alpine" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-alpine-api" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-alpine-api" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-alpine-api" | |
| build-args: "BUILD_NUMBER=${{ steps.ci_tag_release_revision.outputs.tag }}" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| - name: Alternate Alpine Build and Push poller | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| file: dockerfiles/v1/jammy300-alpine | |
| push: true | |
| target: poller | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-alpine-poller" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-alpine-poller" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-alpine-poller" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| - name: Alternate Alpine Build and Push recording-importer | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| file: dockerfiles/v1/jammy300-alpine | |
| push: true | |
| target: recording-importer | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-alpine-recording-importer" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-alpine-recording-importer" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-alpine-recording-importer" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| # Alternate Images for bbb-focal-260 with amazonlinux | |
| - name: Alternate Amazon Linux Build and Push nginx | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| file: dockerfiles/v1/jammy300-amazonlinux | |
| push: true | |
| target: nginx | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-amazonlinux-nginx" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-amazonlinux-nginx" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-amazonlinux-nginx" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| - name: Alternate Amazon Linux Build and Push api | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| file: dockerfiles/v1/jammy300-amazonlinux | |
| push: true | |
| target: api | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-amazonlinux" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-amazonlinux" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-amazonlinux" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-amazonlinux-api" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-amazonlinux-api" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-amazonlinux-api" | |
| build-args: "BUILD_NUMBER=${{ steps.ci_tag_release_revision.outputs.tag }}" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| - name: Alternate Amazon Linux Build and Push poller | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| file: dockerfiles/v1/jammy300-amazonlinux | |
| push: true | |
| target: poller | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-amazonlinux-poller" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-amazonlinux-poller" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-amazonlinux-poller" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| - name: Alternate Amazon Linux Build and Push recording-importer | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| file: dockerfiles/v1/jammy300-amazonlinux | |
| push: true | |
| target: recording-importer | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-amazonlinux-recording-importer" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-amazonlinux-recording-importer" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-amazonlinux-recording-importer" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| # Alternate Images for bbb-focal-260 with amazonlinux | |
| - name: Alternate Amazon Linux Build and Push nginx | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| file: dockerfiles/v1/jammy300-amazonlinux | |
| push: true | |
| target: nginx | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-amazonlinux-nginx" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-amazonlinux-nginx" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-amazonlinux-nginx" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| - name: Alternate Amazon Linux Build and Push api | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| file: dockerfiles/v1/jammy300-amazonlinux | |
| push: true | |
| target: api | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-amazonlinux" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-amazonlinux" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-amazonlinux" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-amazonlinux-api" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-amazonlinux-api" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-amazonlinux-api" | |
| build-args: "BUILD_NUMBER=${{ steps.ci_tag_release_revision.outputs.tag }}" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| - name: Alternate Amazon Linux Build and Push poller | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| file: dockerfiles/v1/jammy300-amazonlinux | |
| push: true | |
| target: poller | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-amazonlinux-poller" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-amazonlinux-poller" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-amazonlinux-poller" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| - name: Alternate Amazon Linux Build and Push recording-importer | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| uses: docker/build-push-action@v3 | |
| with: | |
| file: dockerfiles/v1/jammy300-amazonlinux | |
| push: true | |
| target: recording-importer | |
| tags: | | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_major.outputs.tag }}-jammy300-amazonlinux-recording-importer" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_minor.outputs.tag }}-jammy300-amazonlinux-recording-importer" | |
| "${{ steps.ci_docker_repository.outputs.repository }}:${{ steps.ci_tag_release_revision.outputs.tag }}-jammy300-amazonlinux-recording-importer" | |
| cache-from: type=local,src=/tmp/.buildx-cache | |
| cache-to: type=local,dest=/tmp/.buildx-cache-new | |
| - name: Move cache | |
| if: contains(env.DOCKER_BUILD_ENABLED, 'true') | |
| run: | | |
| rm -rf /tmp/.buildx-cache | |
| mv /tmp/.buildx-cache-new /tmp/.buildx-cache |