From 47c7ed7b0655c9b0ac2bbe1cf6f3cfad6f11455e Mon Sep 17 00:00:00 2001 From: Shizun Ge Date: Fri, 24 Jul 2026 19:35:51 -0700 Subject: [PATCH] ci: ensure tests pass before building docker images in push and release workflows --- .github/workflows/on-pull-request.yml | 40 +-------------------------- .github/workflows/on-push.yml | 4 +-- .github/workflows/on-release.yml | 16 +++++++++++ 3 files changed, 18 insertions(+), 42 deletions(-) diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index ead7aab..4212d38 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -10,57 +10,19 @@ on: - 'README.md' - 'LICENSE' workflow_dispatch: - -env: - PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7" - + jobs: test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v7 - - name: Set up Go uses: actions/setup-go@v7 with: go-version: '1.26.1' cache: true - - name: Install dependencies run: go mod download - - name: Run Tests run: go test -v ./... - - build_container_image: - name: Build Docker image - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v7 - - name: Set up QEMU - uses: docker/setup-qemu-action@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v4.2.0 - - name: Docker meta - id: meta - uses: docker/metadata-action@v6 - with: - images: | - ghcr.io/${{ github.repository }}-development - tags: | - type=raw,value=dev-{{date 'X'}} - type=raw,value=latest - type=ref,event=branch - type=edge,branch=main - - name: Build - uses: docker/build-push-action@v7.3.0 - with: - platforms: ${{ env.PLATFORMS }} - push: false - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - provenance: false - - diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index c911a71..4b55747 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -21,21 +21,19 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v7 - - name: Set up Go uses: actions/setup-go@v7 with: go-version: '1.26.1' cache: true - - name: Install dependencies run: go mod download - - name: Run Tests run: go test -v ./... build_and_push: name: Build and push Docker image runs-on: ubuntu-latest + needs: test if: ${{ github.actor != 'dependabot[bot]' }} steps: - name: Checkout code diff --git a/.github/workflows/on-release.yml b/.github/workflows/on-release.yml index dd7722c..025534c 100644 --- a/.github/workflows/on-release.yml +++ b/.github/workflows/on-release.yml @@ -8,9 +8,25 @@ env: PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7" jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v7 + - name: Set up Go + uses: actions/setup-go@v7 + with: + go-version: '1.26.1' + cache: true + - name: Install dependencies + run: go mod download + - name: Run Tests + run: go test -v ./... + build_and_push: name: Build and push Docker image runs-on: ubuntu-latest + needs: test steps: - name: Checkout code uses: actions/checkout@v7