Skip to content

ed25519 conformance #1462

ed25519 conformance

ed25519 conformance #1462

Workflow file for this run

name: CI
on:
push:
branches: ["master"]
pull_request:
branches: ["master"]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
BENCHMARK_DISABLE_JEMALLOC: true
jobs:
lint:
name: Swift Lint
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Check swift codestyle
uses: cirruslabs/swiftlint-action@v1
with:
args: --config .swiftlint.yml --strict
test:
name: Build and Test (${{ matrix.config }})
runs-on: [self-hosted, linux]
timeout-minutes: 90
strategy:
matrix:
config: [debug, release]
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
submodules: recursive
- run: sudo apt-get update
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: librocksdb-dev libzstd-dev libbz2-dev liblz4-dev
- uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: us-east-2
- name: Setup Swift
uses: SwiftyLab/setup-swift@latest
- name: Get Swift Version
id: swift-version
run: |
SWIFT_VERSION=$(swift --version 2>&1 | head -n1 | sed -E 's/.*Swift version ([0-9.]+).*/\1/')
echo "Detected Swift version: $SWIFT_VERSION"
echo "version=$SWIFT_VERSION" >> $GITHUB_OUTPUT
- name: Cache SPM
uses: runs-on/cache@v4
with:
path: '**/.build'
key: ${{ runner.os }}-spm-${{ matrix.config }}-swift-${{ steps.swift-version.outputs.version }}-${{ hashFiles('**/Package.resolved') }}
restore-keys: |
${{ runner.os }}-spm-${{ matrix.config }}-swift-${{ steps.swift-version.outputs.version }}-
env:
RUNS_ON_S3_BUCKET_CACHE: laminar-gh-action-cache
- name: Cache Cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Cache bandersnatch_vrfs static lib
uses: actions/cache@v4
with:
path: .lib/libbandersnatch_vrfs.a
key: ${{ runner.os }}-libs-libbandersnatch-${{ hashFiles('Utils/Sources/bandersnatch/**') }}
restore-keys: |
${{ runner.os }}-libs-libbandersnatch
- name: Cache bls static lib
uses: actions/cache@v4
with:
path: .lib/libbls.a
key: ${{ runner.os }}-libs-libbls-${{ hashFiles('Utils/Sources/bls/**') }}
restore-keys: |
${{ runner.os }}-libs-libbls
- name: Cache erasure-coding static lib
uses: actions/cache@v4
with:
path: .lib/libec.a
key: ${{ runner.os }}-libs-libec-${{ hashFiles('Utils/Sources/erasure-coding/**') }}
restore-keys: |
${{ runner.os }}-libs-libec
- name: Cache ed25519-zebra static lib
uses: actions/cache@v4
with:
path: .lib/libed25519_zebra_ffi.a
key: ${{ runner.os }}-libs-libed25519-${{ hashFiles('Utils/Sources/ed25519-zebra/**') }}
restore-keys: |
${{ runner.os }}-libs-libed25519
- name: Setup Rust
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Check rust format
run: cargo +nightly fmt --all -- --check
- name: Build (Debug)
if: matrix.config == 'debug'
run: make build
- name: Test (Debug)
if: matrix.config == 'debug'
run: make test-all
- name: Build and Test (Release)
if: matrix.config == 'release'
run: |
make deps
./scripts/runTests.sh --skip=Boka,Fuzzing test -c release