Skip to content

fix sophia version

fix sophia version #89

Workflow file for this run

name: Tests
on:
workflow_dispatch:
workflow_call:
push:
branches: [ main ]
pull_request:
jobs:
clippy:
name: 📎 fmt and clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: rustup update
- run: rustup component add clippy rustfmt
- run: cargo fmt -- --check
- run: cargo clippy --all --all-targets --all-features
test:
name: 🧪 Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- run: |
rustup update
cargo install cargo-tarpaulin
- run: cargo build --all-features
- run: cargo test
env:
RUST_BACKTRACE: 1
cov:
name: ☂️ Coverage
runs-on: ubuntu-latest
container:
image: xd009642/tarpaulin:develop-nightly
options: --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v4
- name: Generate code coverage
run: |
cargo tarpaulin -p nanopub --verbose --timeout 120 --out xml
- name: Upload to codecov.io
uses: codecov/codecov-action@v2
with:
fail_ci_if_error: true
# token: ${{secrets.CODECOV_TOKEN}} # not required for public repos
docs:
name: 📖 Update docs
runs-on: ubuntu-latest
permissions:
contents: read
pages: write
id-token: write
# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/checkout@v4
- run: rustup update && cargo install mdbook-admonish
- name: Setup mdBook
uses: peaceiris/actions-mdbook@v1
with:
mdbook-version: 'latest'
- run: bash ./scripts/docs-build.sh
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: './target/doc'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
compare:
name: ⏱️ Compare speed with java and python implementations
runs-on: ubuntu-latest
env:
HYPERFINE_VERSION: '1.12.0'
STABLE_PYTHON_VERSION: '3.12'
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ env.STABLE_PYTHON_VERSION }}
uses: actions/setup-python@v4
with:
python-version: ${{ env.STABLE_PYTHON_VERSION }}
- uses: actions/setup-java@v3
with:
distribution: 'temurin' # See 'Supported distributions' for available options
java-version: '21'
- name: Install hyperfine
run: |
wget https://github.com/sharkdp/hyperfine/releases/download/v${HYPERFINE_VERSION}/hyperfine_${HYPERFINE_VERSION}_amd64.deb
sudo dpkg -i hyperfine_${HYPERFINE_VERSION}_amd64.deb
- name: Install java and python tools
run: |
pip install --upgrade nanopub
wget -O nanopub.jar https://github.com/Nanopublication/nanopub-java/releases/latest/download/nanopub-1.47-jar-with-dependencies.jar
- name: Build ourself
run: cargo build --release
- name: Benchmark
run: |
hyperfine -m 100 --warmup 10 --export-markdown benchmark.md \
'java -jar nanopub.jar sign lib/tests/resources/simple1-rsa.trig -k lib/tests/resources/id_rsa' \
'np sign lib/tests/resources/simple1-rsa.trig -k lib/tests/resources/id_rsa' \
'target/release/nanopub-cli sign lib/tests/resources/simple1-rsa.trig -k lib/tests/resources/id_rsa'
- name: Upload benchmark markdown
uses: actions/upload-artifact@v3
with:
name: benchmark.md
path: ./benchmark.md