48 lines
1.3 KiB
YAML
48 lines
1.3 KiB
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install Rust
|
|
run: |
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
|
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
|
|
|
|
- name: Add targets
|
|
run: |
|
|
rustup target add x86_64-unknown-linux-gnu
|
|
rustup target add aarch64-unknown-linux-gnu
|
|
|
|
- name: Install cross-compilation tools
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y gcc-aarch64-linux-gnu
|
|
|
|
- name: Build x86_64
|
|
run: cargo build --release --target x86_64-unknown-linux-gnu
|
|
|
|
- name: Build aarch64
|
|
run: |
|
|
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
|
|
cargo build --release --target aarch64-unknown-linux-gnu
|
|
|
|
- name: Package
|
|
run: |
|
|
cd target/x86_64-unknown-linux-gnu/release
|
|
tar czf ../../../aigpt-x86_64-unknown-linux-gnu.tar.gz aigpt
|
|
cd ../../../target/aarch64-unknown-linux-gnu/release
|
|
tar czf ../../../aigpt-aarch64-unknown-linux-gnu.tar.gz aigpt
|
|
|
|
- name: Create Release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: aigpt-*.tar.gz
|