diff --git a/.github/workflows/build_and_package.yml b/.github/workflows/build_and_package.yml index 5bab7a9a..32757cd8 100644 --- a/.github/workflows/build_and_package.yml +++ b/.github/workflows/build_and_package.yml @@ -223,8 +223,12 @@ jobs: release: name: Release project - if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') needs: [build] + if: > + always() && + needs.build.result == 'success' && + github.event_name == 'push' && + startsWith(github.ref, 'refs/tags/v') runs-on: ubuntu-latest environment: release permissions: @@ -254,13 +258,23 @@ jobs: docker: + name: Build and push Docker image needs: [build, release] if: | always() && needs.build.result == 'success' && - ((github.event_name == 'schedule' && github.ref == 'refs/heads/main') || - (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v'))) + ( + (github.event_name == 'schedule' && github.ref == 'refs/heads/main') || + ( + github.event_name == 'push' && + startsWith(github.ref, 'refs/tags/v') && + needs.release.result == 'success' + ) + ) runs-on: ubuntu-latest + permissions: + contents: read + packages: write steps: - name: Checkout repository uses: actions/checkout@v4 diff --git a/doc/changelog.d/95.fixed.md b/doc/changelog.d/95.fixed.md new file mode 100644 index 00000000..6d6754c9 --- /dev/null +++ b/doc/changelog.d/95.fixed.md @@ -0,0 +1 @@ +Improving stage skipping for releasing