name: Docker Build # Workflow checks that docker build works on: pull_request: types: [opened, synchronize, reopened, ready_for_review] concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true env: IMAGE_NAME: parity/substrate-telemetry jobs: set-variables: name: Set variables runs-on: ubuntu-latest outputs: VERSION: ${{ steps.version.outputs.VERSION }} steps: - name: Define version id: version run: | export COMMIT_SHA=${{ github.sha }} export COMMIT_SHA_SHORT=${COMMIT_SHA:0:8} export REF_NAME=${{ github.ref_name }} export REF_SLUG=${REF_NAME//\//_} if [[ ${REF_SLUG} == "main" ]] then echo "VERSION=${REF_SLUG}-${COMMIT_SHA_SHORT}" >> $GITHUB_OUTPUT else echo "VERSION=${REF_SLUG}" >> $GITHUB_OUTPUT fi echo "set VERSION=${VERSION}" build_backend: name: Build backend docker image runs-on: ubuntu-latest needs: [set-variables] env: VERSION: ${{ needs.set-variables.outputs.VERSION }} steps: - name: Check out the repo uses: actions/checkout@v4 - name: Build and push Docker image from main uses: docker/build-push-action@v5 with: context: backend file: ./backend/Dockerfile push: false tags: | ${{ env.IMAGE_NAME }}-backend:${{ env.VERSION }} build_frontend: name: Build frontend docker image runs-on: ubuntu-latest needs: [set-variables] env: VERSION: ${{ needs.set-variables.outputs.VERSION }} steps: - name: Check out the repo uses: actions/checkout@v4 - name: Build and push Docker image from main uses: docker/build-push-action@v5 with: context: frontend file: ./frontend/Dockerfile push: false tags: | ${{ env.IMAGE_NAME }}-frontend:${{ env.VERSION }}