Skip to content

Add CI check script (#109) #117

Add CI check script (#109)

Add CI check script (#109) #117

Workflow file for this run

name: ci
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
rust: [stable, beta, nightly, 1.68.0]
steps:
- uses: actions/checkout@v3
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: Build tests
uses: actions-rs/cargo@v1
with:
command: test
args: --no-run
- name: Run tests
uses: actions-rs/cargo@v1
with:
command: test
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install minimal toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
profile: minimal
components: clippy
- name: Run clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install minimal toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
profile: minimal
- name: Run rustdoc
env:
RUSTDOCFLAGS: -D warnings
uses: actions-rs/cargo@v1
with:
command: doc
args: --no-deps --document-private-items
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install minimal toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
profile: minimal
components: rustfmt
- name: Run rustfmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all --check
codecov:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Check coverage
uses: actions-rs/[email protected]
with:
version: 0.22.0
args: --ignore-tests --workspace -- --test-threads 1
- name: Archive code coverage results
uses: actions/upload-artifact@v3
with:
name: code_coverage_result
path: cobertura.xml
# push steps
- name: Upload to codecov.io
uses: codecov/codecov-action@v3
if: github.event_name == 'push'
with:
files: cobertura.xml
# pull request steps
- name: Note PR number
if: github.event_name == 'pull_request'
env:
PR_NUMBER: ${{ github.event.number }}
run: |
mkdir -p ./pr
printf $PR_NUMBER > ./pr/pr_number
- name: Save PR number
if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v3
with:
name: pr_number
path: pr/