doc: improve error msg display in playground page #198
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
- run: | | |
rustup update | |
cargo install cargo-tarpaulin | |
- run: cargo build --all-features | |
- run: cargo test | |
env: | |
RUST_BACKTRACE: 1 | |
test-js: | |
name: 🟨 Tests JavaScript | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: | | |
rustup update | |
cargo install wasm-pack | |
./scripts/test-js.sh | |
test-python: | |
name: 🐍 Tests Python | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- run: | | |
rustup update | |
./scripts/test-python.sh | |
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 --out xml --exclude-files lib/src/error.rs --verbose --timeout 120 | |
- name: Upload to codecov.io | |
uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: true | |
token: ${{secrets.CODECOV_TOKEN}} | |
publish-docs: | |
name: 📚 Update docs website | |
if: github.event_name != 'pull_request' | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
concurrency: | |
group: "pages" | |
cancel-in-progress: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Install dependencies | |
run: pip install -r lib/docs/requirements.txt | |
- name: Deploy mkdocs on GitHub Pages | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: mkdocs build -f lib/docs/mkdocs.yml -d dist | |
# mkdocs gh-deploy dont support new pages | |
- name: Setup Pages | |
id: pages | |
uses: actions/configure-pages@v4 | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: './lib/docs/dist' | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 | |
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@v5 | |
with: | |
python-version: ${{ env.STABLE_PYTHON_VERSION }} | |
- uses: actions/setup-java@v4 | |
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/download/nanopub-1.55/nanopub-1.55-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@v4 | |
with: | |
name: benchmark.md | |
path: ./benchmark.md |