Skip to content

Release

Release #4

Workflow file for this run

name: Release
on:
release:
types: published
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest] # Windows is not supported (not working with devenv/nix setup)
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v27
- uses: cachix/cachix-action@v15
with:
name: devenv
- name: Install devenv.sh
run: nix profile install nixpkgs#devenv
- name: Build bindings
run: |
devenv shell -- bash -c "cd uniffi && uniffi-bindgen-cs --config ./uniffi.toml ./src/interface.udl && cargo build --release"
- name: Archive production artifacts
run: |
mkdir -p dist/dnssec-prover
cp uniffi/src/dnssec_prover.cs dist/dnssec-prover
if [[ "${{ runner.os }}" == "macOS" ]]; then
cp uniffi/target/release/libdnssec_prover_uniffi.dylib dist/dnssec-prover
elif [[ "${{ runner.os }}" == "Windows" ]]; then
cp uniffi/target/release/libdnssec_prover_uniffi.dll dist/dnssec-prover
else
cp uniffi/target/release/libdnssec_prover_uniffi.so dist/dnssec-prover
fi
cd dist
tar czvf ../dnssec-prover-${{ github.ref_name }}-${{ runner.arch }}.tar.gz dnssec-prover
- name: Upload Release Asset
uses: softprops/action-gh-release@v2
with:
files: ./dnssec-prover-${{ github.ref_name }}-${{ runner.arch }}.tar.gz