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