72 lines
1.9 KiB
YAML
72 lines
1.9 KiB
YAML
# What software is installed by default:
|
|
# https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
|
|
|
|
name: build
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
- windows-latest
|
|
- macos-latest
|
|
- macos-13
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Check out repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up rust
|
|
run: rustup update
|
|
|
|
- name: Build
|
|
run: cargo build --release
|
|
|
|
- name: Record target triple
|
|
run: rustc -vV | awk '/^host/ { print $2 }' > target/release/host
|
|
|
|
- name: Upload
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: cove-${{ matrix.os }}
|
|
path: |
|
|
target/release/cove
|
|
target/release/cove.exe
|
|
target/release/host
|
|
|
|
release:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
|
needs:
|
|
- build
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- name: Download artifacts
|
|
uses: actions/download-artifact@v4
|
|
|
|
- name: Zip artifacts
|
|
run: |
|
|
chmod +x cove-ubuntu-latest/cove
|
|
chmod +x cove-windows-latest/cove.exe
|
|
chmod +x cove-macos-latest/cove
|
|
chmod +x cove-macos-13/cove
|
|
zip -jr "cove-$(cat cove-ubuntu-latest/host).zip" cove-ubuntu-latest/cove
|
|
zip -jr "cove-$(cat cove-windows-latest/host).zip" cove-windows-latest/cove.exe
|
|
zip -jr "cove-$(cat cove-macos-latest/host).zip" cove-macos-latest/cove
|
|
zip -jr "cove-$(cat cove-macos-13/host).zip" cove-macos-13/cove
|
|
|
|
- name: Create new release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
body: Automated release, see [CHANGELOG.md](CHANGELOG.md) for more details.
|
|
files: "*.zip"
|