mirror of
https://github.com/vacp2p/stealth-address-kit.git
synced 2026-01-08 22:27:58 -05:00
143 lines
3.9 KiB
YAML
143 lines
3.9 KiB
YAML
# forked from https://github.com/vacp2p/zerokit
|
|
name: Nightly build
|
|
on:
|
|
schedule:
|
|
- cron: "0 0 * * *"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
linux:
|
|
strategy:
|
|
matrix:
|
|
curve:
|
|
- bn254
|
|
- bls12_381
|
|
- bls12_377
|
|
- secp256k1
|
|
- secp256r1
|
|
- pallas
|
|
- vesta
|
|
- bw6_761
|
|
- baby_jub_jub
|
|
- all
|
|
target:
|
|
- x86_64-unknown-linux-gnu
|
|
- aarch64-unknown-linux-gnu
|
|
- i686-unknown-linux-gnu
|
|
name: Linux build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v4
|
|
- name: Install stable toolchain
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
target: ${{ matrix.target }}
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: Install dependencies
|
|
run: make deps
|
|
- name: cross build
|
|
working-directory: ./sdk
|
|
run: |
|
|
cross build --release --target ${{ matrix.target }} --features ${{ matrix.curve }}
|
|
mkdir release
|
|
cp ../target/${{ matrix.target }}/release/*.a release/
|
|
tar -czvf ${{ matrix.target }}-${{matrix.curve}}.tar.gz release/
|
|
|
|
- name: Upload archive artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ${{ matrix.target }}-${{ matrix.curve }}-archive
|
|
path: ./sdk/${{ matrix.target }}-${{matrix.curve}}.tar.gz
|
|
retention-days: 2
|
|
|
|
macos:
|
|
name: MacOS build
|
|
runs-on: macos-latest
|
|
strategy:
|
|
matrix:
|
|
curve:
|
|
- bn254
|
|
- bls12_381
|
|
- bls12_377
|
|
- secp256k1
|
|
- secp256r1
|
|
- pallas
|
|
- vesta
|
|
- bw6_761
|
|
- baby_jub_jub
|
|
- all
|
|
target:
|
|
- x86_64-apple-darwin
|
|
- aarch64-apple-darwin
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v4
|
|
- name: Install stable toolchain
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
target: ${{ matrix.target }}
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: Install dependencies
|
|
run: make deps
|
|
- name: cross build
|
|
working-directory: ./sdk
|
|
run: |
|
|
cross build --release --target ${{ matrix.target }} --features ${{ matrix.curve }}
|
|
mkdir release
|
|
cp ../target/${{ matrix.target }}/release/*.a release/
|
|
tar -czvf ${{ matrix.target }}-${{ matrix.curve }}.tar.gz release/
|
|
|
|
- name: Upload archive artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ${{ matrix.target }}-${{ matrix.curve }}-archive
|
|
path: ./sdk/${{ matrix.target }}-${{ matrix.curve }}.tar.gz
|
|
retention-days: 2
|
|
|
|
prepare-prerelease:
|
|
name: Prepare pre-release
|
|
needs: [linux, macos]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: master
|
|
- name: Download artifacts
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
pattern: |
|
|
*-archive
|
|
path: ./libs
|
|
merge-multiple: true
|
|
|
|
- name: Delete tag
|
|
run: gh release delete nightly --cleanup-tag
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Create prerelease
|
|
run: |
|
|
ls -Rlah ./libs
|
|
gh release create nightly --prerelease --target master \
|
|
--title 'Nightly build ("master" branch)' \
|
|
--generate-notes \
|
|
--draft=false \
|
|
./libs/*.tar.gz
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Delete artifacts
|
|
uses: geekyeggo/delete-artifact@v1
|
|
with:
|
|
failOnError: false
|
|
name: |
|
|
*-archive
|