Skip to content

Merge pull request #40 from OneLiteFeatherNET/refactor/tests #4

Merge pull request #40 from OneLiteFeatherNET/refactor/tests

Merge pull request #40 from OneLiteFeatherNET/refactor/tests #4

Workflow file for this run

name: Continuous integration
on:
workflow_dispatch:
push:
branches:
- main
jobs:
check:
name: check
runs-on: ubuntu-latest
steps:
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
- name: Checkout Sources
uses: actions/checkout@v3
- name: Setup cache
uses: Swatinem/rust-cache@v2
- name: Install cargo-make
uses: actions-rs/cargo@v1
with:
command: install
args: cargo-make
- name: Run check
run: cargo make check
clippy:
name: clippy
runs-on: ubuntu-latest
steps:
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
components: clippy
profile: minimal
- name: Checkout Sources
uses: actions/checkout@v3
- name: Setup cache
uses: Swatinem/rust-cache@v2
- name: Install cargo-make
uses: actions-rs/cargo@v1
with:
command: install
args: cargo-make
- name: Run clippy
run: cargo make clippy
test:
needs: [ clippy, check ]
name: tests
runs-on: ubuntu-latest
steps:
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
profile: minimal
- name: Checkout Sources
uses: actions/checkout@v3
- name: Setup cache
uses: Swatinem/rust-cache@v2
- name: Install cargo-make
uses: actions-rs/cargo@v1
with:
command: install
args: cargo-make
- name: Tests
run: cargo make test
docs-lint:
name: lint docs
runs-on: ubuntu-latest
steps:
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
- name: Checkout Sources
uses: actions/checkout@v3
- name: Setup cache
uses: Swatinem/rust-cache@v2
- name: Install cargo-make
uses: actions-rs/cargo@v1
with:
command: install
args: cargo-make
- name: Run docs lint
uses: actions-rs/cargo@v1
with:
command: make
args: docs_lint
build-docs:
name: build docs
runs-on: ubuntu-latest
steps:
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
- name: Checkout Sources
uses: actions/checkout@v3
- name: Setup cache
uses: Swatinem/rust-cache@v2
- name: Install cargo-make
uses: actions-rs/cargo@v1
with:
command: install
args: cargo-make
- name: Build docs
uses: actions-rs/cargo@v1
with:
command: make
args: docs_build
- name: Archive artifact
run: |
tar \
--dereference --hard-dereference \
-cvf "$RUNNER_TEMP/pages.tar" \
docs/
- name: Upload artifact
id: upload-artifact
uses: actions/upload-artifact@v4
with:
name: pages
path: ${{ runner.temp }}/pages.tar
retention-days: 1
if-no-files-found: error
deploy-docs:
needs: [build-docs]
runs-on: ubuntu-latest
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}/nightly
steps:
- name: Deploy to pages
id: deployment
uses: actions/deploy-pages@v4
with:
artifact_name: "pages"