From a4be25b27836efe62f1d24ce35502a6846497afb Mon Sep 17 00:00:00 2001 From: Haiden <46227616+hrothwell@users.noreply.github.com> Date: Fri, 5 Jul 2024 11:54:49 -0700 Subject: [PATCH] only one job with multiple steps (#57) --- .github/workflows/docker-publish.yml | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 3f7439d..2beadca 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -5,13 +5,17 @@ on: types: [published] jobs: - # checkout_and_gradle_build: - # uses: ./.github/workflows/gradle.yml - build: - name: gradle build + build_and_publish: + name: Push Docker image to Docker Hub runs-on: ubuntu-latest - + permissions: + packages: write + contents: read + attestations: write + id-token: write steps: + # TODO if there is a nice way to reuse the gradle.yml workflow that would be ideal here, but given each + # job is its own VM and I need the output output from the build command, this seems like easiest / quickest for now - uses: actions/checkout@v3 - name: Set up JDK 17 uses: actions/setup-java@v3 @@ -24,29 +28,16 @@ jobs: uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 with: arguments: build - push_to_registry: - name: Push Docker image to Docker Hub - # needs: checkout_and_gradle_build - needs: build - runs-on: ubuntu-latest - permissions: - packages: write - contents: read - attestations: write - id-token: write - steps: - name: Log in to Docker Hub uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 with: images: hrothwell/mal-cli - - name: Build and push Docker image id: push uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671