name: Release Please on: push: branches: - senpai permissions: contents: write pull-requests: write jobs: release-please: runs-on: ubuntu-latest steps: - uses: googleapis/release-please-action@v4 id: release with: # this assumes that you have created a personal access token # (PAT) and configured it as a GitHub action secret named # `MY_RELEASE_PLEASE_TOKEN` (this secret name is not important). token: ${{ secrets.GITHUB_TOKEN }} # this is a built-in strategy in release-please, see "Action Inputs" # for more options release-type: rust release-rust: if: ${{needs.release-please.outputs.rust--release_created}} runs-on: ubuntu-latest needs: release-please steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - name: Test uses: clechasseur/rs-cargo@v2 with: command: test args: --verbose --manifest-path hello-rust/Cargo.toml - name: Build uses: clechasseur/rs-cargo@v2 with: command: build args: --verbose --release --manifest-path hello-rust/Cargo.toml --target x86_64-unknown-linux-gnu - name: Upload Release Artifact env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: gh release upload ${{ needs.release-please.outputs.hello-rust--tag_name }} hello-rust/target/x86_64-unknown-linux-gnu/release/hello_rust