name: Release on: push: tags: - 'v*' jobs: release: runs-on: ubuntu-latest permissions: contents: write steps: - uses: actions/checkout@v6 - name: Determine tag id: tag run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT - name: Create Release uses: softprops/action-gh-release@v3 with: tag_name: ${{ github.ref_name }} name: RustLock v${{ steps.tag.outputs.VERSION }} draft: true prerelease: ${{ contains(github.ref_name, 'alpha') || contains(github.ref_name, 'beta') }} generate_release_notes: true publish-crates: runs-on: ubuntu-latest needs: [release] if: secrets.CARGO_REGISTRY_TOKEN != '' steps: - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@stable - name: Publish to crates.io env: CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} run: cargo publish