Set up GitHub CI
This commit is contained in:
parent
fbc64de607
commit
d29e3e6651
1 changed files with 72 additions and 0 deletions
72
.github/workflows/build.yml
vendored
Normal file
72
.github/workflows/build.yml
vendored
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
# 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"
|
||||||
Loading…
Add table
Add a link
Reference in a new issue