name: Build and push docker image on: workflow_dispatch: release: push: branches: - build_images_on_release env: REGISTRY: ghcr.io jobs: build: runs-on: ubuntu-latest steps: - name: Set env run: echo "TAG=${GITHUB_SHA::8}" >> $GITHUB_ENV - name: Downcase repo run: echo "REPO_LOWER=${REPO,,}" >> $GITHUB_ENV env: REPO: '${{ github.repository }}' - name: Checkout code uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Github Container Login uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v3 with: context: . platforms: linux/amd64,linux/arm64 target: hyrax-base push: true tags: | ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/hyrax-base:${{ env.TAG }} ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/hyrax-base:${{ github.ref_name }} - name: Build and push worker uses: docker/build-push-action@v3 with: context: . platforms: linux/amd64,linux/arm64 target: hyrax-worker-base cache-from: | ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}:${TAG} push: true tags: | ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/hyrax-worker-base:${{ env.TAG }} ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/hyrax-worker-base:${{ github.ref_name }} - name: Build and push dassie uses: docker/build-push-action@v3 with: context: . platforms: linux/amd64,linux/arm64 target: hyrax-engine-dev cache-from: | ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}:${TAG} push: true tags: | ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/dassie:${{ env.TAG }} ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/dassie:${{ github.ref_name }} - name: Build and push dassie worker uses: docker/build-push-action@v3 with: context: . platforms: linux/amd64,linux/arm64 target: hyrax-engine-dev-worker cache-from: | ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/dassie:${TAG} push: true tags: | ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/dassie-worker:${{ env.TAG }} ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/dassie-worker:${{ github.ref_name }}