diff --git a/.github/workflows/container.yaml b/.github/workflows/container.yaml index 2a983f98..8fd4ca20 100644 --- a/.github/workflows/container.yaml +++ b/.github/workflows/container.yaml @@ -115,17 +115,16 @@ jobs: if: "${{ env.DOCKER_HUB_ACCESS_TOKEN != '' }}" run: echo "continue=true" >> $GITHUB_OUTPUT - publish: - name: Publish + publish_development: + name: Publish (Development) environment: dockerhub-torrust needs: [secrets, context] - if: needs.secrets.outputs.continue == 'true' + if: needs.secrets.outputs.continue == 'true' && needs.context.outputs.type == 'development' runs-on: ubuntu-latest steps: - - id: meta_development - if: needs.context.outputs.type == 'development' - name: Docker Meta (development) + - id: meta + name: Docker Meta uses: docker/metadata-action@v4 with: images: | @@ -133,9 +132,37 @@ jobs: tags: | type=ref,event=branch - - id: meta_release - if: needs.context.outputs.type == 'release' - name: Docker Meta (release) + - id: login + name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + + - id: setup + name: Setup Toolchain + uses: docker/setup-buildx-action@v2 + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Containerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha + + publish_release: + name: Publish (Release) + environment: dockerhub-torrust + needs: [secrets, context] + if: needs.secrets.outputs.continue == 'true' && needs.context.outputs.type == 'release' + runs-on: ubuntu-latest + + steps: + - id: meta + name: Docker Meta uses: docker/metadata-action@v4 with: images: |