Skip to content

fix(deps): update dependencies (non-major) (#166) #452

fix(deps): update dependencies (non-major) (#166)

fix(deps): update dependencies (non-major) (#166) #452

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
tags:
- '*'
pull_request:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
jobs:
lint:
name: Linting
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 1
- name: Setup pnpm
uses: pnpm/action-setup@v3
- name: Cache cargo binaries and registry
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-lint-${{ hashFiles('**/Cargo.lock') }}
- name: Check toolchain version
run: |
rustc -V
cargo -V
- name: Run linter tests
run: |
pnpm lint
unit:
name: Unit Testing
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 1
- name: Setup pnpm
uses: pnpm/action-setup@v3
- name: Cache cargo binaries and registry
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-unit-${{ hashFiles('**/Cargo.lock') }}
- name: Check toolchain version
run: |
rustc -V
cargo -V
- name: Run unit tests
run: |
pnpm test
e2e:
name: E2E Testing
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest]
git-depth: [0]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: ${{ matrix.git-depth }}
- name: Setup pnpm
uses: pnpm/action-setup@v3
- name: Cache cargo binaries and registry
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-e2e-${{ hashFiles('**/Cargo.lock') }}
- name: Check toolchain version
run: |
rustc -V
cargo -V
- name: Run e2e tests
run: |
pnpm e2e
build:
name: Building
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 1
- name: Setup pnpm
uses: pnpm/action-setup@v3
- name: Cache cargo binaries and registry
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
- name: Check toolchain version
run: |
rustc -V
cargo -V
- name: Build binaries
run: |
pnpm build
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0 # Keep `0` for last updated time
- name: Setup pnpm
uses: pnpm/action-setup@v3
- name: Cache cargo binaries and registry
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-docs-${{ hashFiles('**/Cargo.lock') }}
- name: Setup mdBook
uses: peaceiris/actions-mdbook@v2
with:
mdbook-version: 'latest'
- name: Check toolchain version
run: |
rustc -V
cargo -V
mdbook -V
- name: Build documentation
run: |
pnpm run docs
- name: Deploy to Github Pages
uses: peaceiris/actions-gh-pages@v4
if: ${{ github.ref == 'refs/heads/main' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./book
force_orphan: true
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
commit_message: ${{ github.event.head_commit.message }}
publish:
name: Publishment
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
needs: [lint, unit, e2e, build]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Setup Node environment
uses: actions/setup-node@v4
with:
node-version: 20
architecture: x64
registry-url: https://registry.npmjs.org/
- name: Release to GitHub
run: |
npx changelogithub
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}