From 36965cb24aed76043aeb8f19062b6a31fa56b990 Mon Sep 17 00:00:00 2001 From: Brendon Smith Date: Fri, 4 Oct 2024 18:23:49 -0400 Subject: [PATCH] Run smoke tests before Docker builds https://github.com/pypa/gh-action-pypi-publish/pull/230#discussion_r1787027821 --- .github/workflows/build-and-push-docker-image.yml | 11 +++++------ action.yml | 1 - create-docker-action.py | 7 +++---- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-and-push-docker-image.yml b/.github/workflows/build-and-push-docker-image.yml index fda55e5..d8fd716 100644 --- a/.github/workflows/build-and-push-docker-image.yml +++ b/.github/workflows/build-and-push-docker-image.yml @@ -14,8 +14,13 @@ on: # yamllint disable-line rule:truthy type: string jobs: + smoke-test: + uses: ./.github/workflows/reusable-smoke-test.yml build-and-push: + if: github.event_name != 'pull_request' runs-on: ubuntu-latest + needs: + - smoke-test timeout-minutes: 10 steps: - uses: actions/checkout@v4 @@ -39,17 +44,11 @@ jobs: env: DOCKER_TAG: ${{ inputs.tag || github.ref_name }} - name: Log in to GHCR - if: github.event_name != 'pull_request' run: >- echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin - name: Push Docker image to GHCR - if: github.event_name != 'pull_request' run: | docker push $IMAGE docker push $IMAGE_MAJOR docker push $IMAGE_MAJOR_MINOR - smoke-test: - needs: - - build-and-push - uses: ./.github/workflows/reusable-smoke-test.yml diff --git a/action.yml b/action.yml index 508d4c6..7f6b746 100644 --- a/action.yml +++ b/action.yml @@ -141,7 +141,6 @@ runs: # Create Docker container action python create-docker-action.py env: - EVENT: ${{ github.event_name }} REF: ${{ steps.set-repo-and-ref.outputs.ref }} REPO: ${{ steps.set-repo-and-ref.outputs.repo }} REPO_ID: ${{ steps.set-repo-and-ref.outputs.repo-id }} diff --git a/create-docker-action.py b/create-docker-action.py index 7b42ad8..16aa54c 100644 --- a/create-docker-action.py +++ b/create-docker-action.py @@ -5,21 +5,20 @@ DESCRIPTION = 'description' REQUIRED = 'required' -EVENT = os.environ['EVENT'] REF = os.environ['REF'] REPO = os.environ['REPO'] REPO_ID = os.environ['REPO_ID'] REPO_ID_GH_ACTION = '178055147' -def set_image(event: str, ref: str, repo: str, repo_id: str) -> str: - if event == 'pull_request' and repo_id == REPO_ID_GH_ACTION: +def set_image(ref: str, repo: str, repo_id: str) -> str: + if repo_id == REPO_ID_GH_ACTION: return '../../../Dockerfile' docker_ref = ref.replace('/', '-') return f'docker://ghcr.io/{repo}:{docker_ref}' -image = set_image(EVENT, REF, REPO, REPO_ID) +image = set_image(REF, REPO, REPO_ID) action = { 'name': '🏃',