Uploading latest changes #2
This file contains 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: Build and Release | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build: | |
name: Build and Release Binaries | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
steps: | |
# Checkout the code | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
# Install Rust (if not already available) | |
- name: Set up Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
# Build the project (for each OS) | |
- name: Build | |
run: cargo build --release | |
# Create the binary artifact | |
- name: Create release artifact | |
if: success() | |
run: | | |
mkdir -p release | |
cp target/release/terminus* release/ | |
cd release && ls -lah | |
# Upload the artifact (binary) as a release asset | |
- name: Upload binary as artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: terminus-${{ matrix.os }}-binary | |
path: release/terminus* | |
release: | |
needs: build | |
name: Create GitHub Release | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
# Create a release on GitHub with the built binary | |
- name: Upload Release to GitHub | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: release/terminus* | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |