name: ci
on:
push:
branches: ["main"]
tags: ["*"]
pull_request:
branches: ["main"]
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: full
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
uses: dsherret/rust-toolchain-file@v1
- uses: Swatinem/rust-cache@v2
- name: Check formatting
run: cargo fmt -- --check
- name: Check linting
run: cargo clippy --release --all-targets --all-features -- -D clippy::all
- name: Test
run: cargo test --release -- --nocapture
- name: Publish to crates.io
if: runner.os == 'Linux' && github.repository == 'denoland/v8_valueserializer' && startsWith(github.ref, 'refs/tags/')
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
run: |-
cargo publish -vv -p v8_valueserializer