Files
dhl/.gitea/workflows/release.yaml
2026-06-08 22:01:36 +02:00

73 lines
2.2 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
RUSTFLAGS: -C target-feature=+crt-static -C link-args=-static
- 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 }}