Update rust.yml #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Rust Build and Release | |
on: | |
push: | |
branches: | |
- main # Change this to your main branch name if different | |
jobs: | |
build: | |
name: Build and Release | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Set up Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
- name: Extract Version from Cargo.toml | |
id: extract_version | |
run: | | |
VERSION=$(grep -Po '(?<=^version = ")[^"]*' Cargo.toml | head -n1) | |
echo "::set-output name=version::${VERSION}" | |
- name: Build | |
run: | | |
cargo build --release | |
env: | |
APP_VERSION: ${{ steps.extract_version.outputs.version }} | |
- name: Package Binary | |
run: | | |
mkdir -p release | |
cp target/release/source-code-scanner release/ | |
working-directory: ${{ github.workspace }} | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: v${{ steps.extract_version.outputs.version }} | |
release_name: Release v${{ steps.extract_version.outputs.version }} | |
body: | | |
Release description goes here | |
draft: false | |
prerelease: false | |
- name: Upload Release Asset | |
id: upload-release-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release/source-code-scanner | |
asset_name: source-code-scanner | |
asset_content_type: application/octet-stream |