Skip to content

bump versions

bump versions #34

Workflow file for this run

name: Rust
on: [push]
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Install nauty
run: sudo apt-get install nauty libnauty2-dev -y
- name: Run cargo-about
run: cargo install cargo-about &&
cargo about init &&
cargo about generate about.hbs > licenses.html
- name: Run cargo check
uses: actions-rs/cargo@v1
with:
command: check
- name: Run cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Run cargo clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings
- name: Upload licenses.html
uses: actions/upload-artifact@v2
with:
name: about-licenses
path: ./licenses.html
test:
name: Test with coverage
runs-on: ubuntu-latest
container:
image: xd009642/tarpaulin
options: --security-opt seccomp=unconfined
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Install libclang for bindgen
run: apt-get update && apt-get install llvm-dev libclang-dev clang -y
- name: Install nauty
run: apt-get install nauty libnauty2-dev -y
- name: Run tests with tarpaulin
run: cargo tarpaulin --avoid-cfg-tarpaulin --verbose --out Html
- name: Upload tarpaulin-report.html
uses: actions/upload-artifact@v2
with:
name: tarpaulin-report
path: ./tarpaulin-report.html
flamegraph:
name: Flamegraph generation
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install flamegraph
run: cargo install flamegraph
- name: Fix settings
run: echo -1 | sudo tee /proc/sys/kernel/perf_event_paranoid &&
sudo chmod 666 /proc/kallsyms &&
echo 0 | sudo tee /proc/sys/kernel/kptr_restrict
- name: Install nauty
run: sudo apt-get install nauty libnauty2-dev -y
- name: Use flamegraph
run: cargo flamegraph -c "record -F 997 --call-graph dwarf -g -o ./perf.data" -- -pclss ./example.dre
- name: Upload flamegraph.svg
uses: actions/upload-artifact@v2
with:
name: flamegraph
path: ./flamegraph.svg
publish-pages:
name: Publish to pages
runs-on: ubuntu-latest
needs: [check, test, flamegraph]
steps:
- name: Download licenses.html
uses: actions/download-artifact@v2
with:
name: about-licenses
path: public
- name: Download tarpaulin-report.html
uses: actions/download-artifact@v2
with:
name: tarpaulin-report
path: public
- name: Download flamegraph.svg
uses: actions/download-artifact@v2
with:
name: flamegraph
path: public
- name: Generate index.html
run: |
cat > public/index.html <<EOL
<!doctype html>
<html>
<head>
<title>Descriptive Quotient Graphs Working Repository Status</title>
</head>
<body>
<p> <a href="./licenses.html">Licenses</a> </p>
<p> <a href="./tarpaulin-report.html">Test Coverage</a> </p>
<p> <a href="./flamegraph.svg">Flamegraph</a> </p>
</body>
</html>
EOL
- name: Deploy to Github Pages
if: success()
uses: crazy-max/ghaction-github-pages@v2
with:
target_branch: gh-pages
build_dir: public
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Validate-CITATION-cff:
runs-on: ubuntu-latest
name: Validate CITATION.cff
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
RSPM: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"
steps:
- name: Checkout
uses: actions/checkout@v2
# This is needed for workflows running on
# ubuntu-20.04 or later
- name: Install V8
if: runner.os == 'Linux'
run: |
sudo apt-get install -y libv8-dev
- name: Validate CITATION.cff
uses: dieghernan/cff-validator@main
# Upload artifact
- uses: actions/upload-artifact@v2
if: failure()
with:
name: citation-cff-errors
path: citation_cff_errors.md