name: Release on: push: tags: - "v[0-9]+.[0-9]+.[0-9]+" jobs: release: name: Build and release runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable - name: Install cross run: cargo install cross --git https://github.com/cross-rs/cross - name: Build linux-amd64 run: cross build --release --target x86_64-unknown-linux-musl - name: Build linux-arm64 run: cross build --release --target aarch64-unknown-linux-musl - name: Build windows-amd64 run: cross build --release --target x86_64-pc-windows-gnu - name: Collect release artifacts run: | mkdir -p release cp target/x86_64-unknown-linux-musl/release/encrypted_archive release/encrypted_archive-linux-amd64 cp target/aarch64-unknown-linux-musl/release/encrypted_archive release/encrypted_archive-linux-arm64 cp target/x86_64-pc-windows-gnu/release/encrypted_archive.exe release/encrypted_archive-windows-amd64.exe cp kotlin/ArchiveDecoder.kt release/ cp shell/decode.sh release/ cd release && sha256sum * > SHA256SUMS - name: Create release uses: https://gitea.com/actions/gitea-release-action@v1 with: files: release/* body: | ## encrypted_archive ${{ gitea.ref_name }} ### Artifacts | File | Description | |------|-------------| | `encrypted_archive-linux-amd64` | Linux x86_64 (static musl) | | `encrypted_archive-linux-arm64` | Linux aarch64 (static musl) | | `encrypted_archive-windows-amd64.exe` | Windows x86_64 | | `ArchiveDecoder.kt` | Kotlin/Android decoder (source) | | `decode.sh` | POSIX shell decoder (requires OpenSSL) | | `SHA256SUMS` | Checksums for all files |