From f4aca275dec2d3efcbbe5097b2fbf4174fa30072 Mon Sep 17 00:00:00 2001 From: David Gwilliam Date: Tue, 31 Mar 2026 23:23:01 -0700 Subject: [PATCH] fix: skip release steps if no version bump commit was made - Set output variable 'committed' in commit step - Add conditional execution to all subsequent steps - Only create tag, build Docker images, and deploy if commit was successful --- .gitea/workflows/release.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 7c867a4..5da1bfd 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -78,16 +78,20 @@ jobs: echo "New version: $NEW_VERSION" - name: Commit version bump + id: commit run: | git add package.json CHANGELOG.md if git diff --cached --quiet; then echo "No changes to commit (version may already be at target version)" + echo "committed=false" >> $GITHUB_OUTPUT else git commit -m "chore: bump version to v${{ steps.version.outputs.new_version }}" git push origin main + echo "committed=true" >> $GITHUB_OUTPUT fi - name: Create git tag for release + if: steps.commit.outputs.committed == 'true' run: | TAG_NAME="v${{ steps.version.outputs.new_version }}" echo "Creating tag $TAG_NAME" @@ -101,9 +105,11 @@ jobs: fi - name: Set up Docker Buildx + if: steps.commit.outputs.committed == 'true' uses: docker/setup-buildx-action@v3 - name: Build test-capable image + if: steps.commit.outputs.committed == 'true' run: | docker build \ --target test-runner \ @@ -112,6 +118,7 @@ jobs: . - name: Run tests inside test-capable container + if: steps.commit.outputs.committed == 'true' run: | docker run --rm \ -e DATABASE_URL="postgresql://user:pass@localhost:5432/dummy" \ @@ -119,6 +126,7 @@ jobs: npm run test:run - name: Build production image + if: steps.commit.outputs.committed == 'true' run: | docker build \ --target runner \ @@ -128,6 +136,7 @@ jobs: . - name: Push Docker images + if: steps.commit.outputs.committed == 'true' run: | echo "Pushing to ${{ env.REGISTRY }}..." # Check if we can authenticate to the registry using DOCKER_LOGIN and DOCKER_PASSWORD secrets @@ -152,6 +161,7 @@ jobs: fi - name: Deploy to dev (placeholder) + if: steps.commit.outputs.committed == 'true' run: | echo "Deploying version ${{ steps.version.outputs.new_version }} to dev environment..." # TODO: Add actual deployment steps