add: github action release. #171
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Rust CI and Release | |
# 当推送到 main 或 dev 分支时触发 Rust CI 工作流 | |
on: | |
push: | |
branches: | |
- main | |
- dev | |
tags: | |
- v[0-9]+.* | |
pull_request: | |
branches: | |
- main | |
- dev | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
# Rust CI 工作流 | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Install Cargo Tarpaulin | |
run: cargo install cargo-tarpaulin | |
- name: Build | |
run: cargo build --verbose | |
- name: Run tests | |
run: cargo test --verbose | |
- name: Run cargo-tarpaulin | |
run: cargo tarpaulin --out Xml | |
- name: Install cargo-audit | |
run: cargo install cargo-audit | |
- name: Run cargo-audit | |
run: cargo audit | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
# Release 工作流 | |
create-release: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: taiki-e/create-gh-release-action@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
upload-assets: | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: taiki-e/upload-rust-binary-action@v1 | |
with: | |
bin: typikon | |
tar: unix | |
zip: windows | |
token: ${{ secrets.GITHUB_TOKEN }} |