name: Create Release on: push: paths: - 'VERSION.txt' jobs: check-release: runs-on: [linux, x64, zen] timeout-minutes: 2 outputs: already_released: ${{ steps.check_tag.outputs.exists }} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Check if release tag already exists id: check_tag run: | VERSION=$(cat VERSION.txt | tr -d '[:space:]') if git tag -l "v$VERSION" | grep -q .; then echo "Tag v$VERSION already exists, skipping release" echo "exists=true" >> "$GITHUB_OUTPUT" else echo "Tag v$VERSION does not exist, proceeding with release" echo "exists=false" >> "$GITHUB_OUTPUT" fi release: needs: [check-release] if: needs.check-release.outputs.already_released != 'true' uses: ./.github/workflows/create_release_impl.yml secrets: inherit