All checks were successful
Build and Release / Build All Platforms (push) Successful in 2m0s
72 lines
2.1 KiB
YAML
72 lines
2.1 KiB
YAML
name: Build and Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
jobs:
|
|
build-all:
|
|
name: Build All Platforms
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
targets: x86_64-unknown-linux-gnu, x86_64-pc-windows-gnu
|
|
|
|
- name: Install Cross-Compilation Tools
|
|
run: |
|
|
if command -v apt-get >/dev/null; then
|
|
apt-get update
|
|
apt-get install -y mingw-w64 zip
|
|
else
|
|
echo "apt-get not found, skipping tool installation"
|
|
fi
|
|
|
|
- name: Build Linux
|
|
run: cargo build --release --target x86_64-unknown-linux-gnu
|
|
|
|
- name: Build Windows
|
|
run: cargo build --release --target x86_64-pc-windows-gnu
|
|
env:
|
|
CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER: x86_64-w64-mingw32-gcc
|
|
|
|
- name: Package Release Assets
|
|
run: |
|
|
# Package Linux
|
|
mkdir -p dist-linux
|
|
cp target/x86_64-unknown-linux-gnu/release/dhl dist-linux/dhl
|
|
cp config.json.example dist-linux/config.json
|
|
cp response.json.example dist-linux/response.json
|
|
tar -czvf dhl-linux.tar.gz -C dist-linux .
|
|
|
|
# Package Windows
|
|
mkdir -p dist-windows
|
|
cp target/x86_64-pc-windows-gnu/release/dhl.exe dist-windows/dhl.exe
|
|
cp config.json.example dist-windows/config.json
|
|
cp response.json.example dist-windows/response.json
|
|
if command -v zip >/dev/null; then
|
|
zip -j dhl-windows.zip dist-windows/*
|
|
else
|
|
tar -czvf dhl-windows.tar.gz -C dist-windows .
|
|
mv dhl-windows.tar.gz dhl-windows.zip
|
|
fi
|
|
|
|
- name: Debug - List Files
|
|
run: ls -lh *.tar.gz *.zip
|
|
|
|
- name: Create Gitea Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: |
|
|
dhl-linux.tar.gz
|
|
dhl-windows.zip
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
GITHUB_API_URL: ${{ github.api_url }}
|