mirror of
https://github.com/drewcassidy/vector-victor.git
synced 2024-09-01 14:58:35 +00:00
48 lines
1.2 KiB
YAML
48 lines
1.2 KiB
YAML
name: Build and Release
|
|
on: [ push ]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: checkout Repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Python
|
|
if: github.event_name == 'push' && github.ref_type == 'tag'
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Setup Yaclog
|
|
if: github.event_name == 'push' && github.ref_type == 'tag'
|
|
run: |
|
|
pip install yaclog~=1.1
|
|
yaclog show
|
|
|
|
- name: Rust setup
|
|
run: rustup toolchain install stable --profile minimal
|
|
|
|
- name: Run Checks
|
|
run: |
|
|
cargo check
|
|
|
|
- name: Run Unit Tests
|
|
run: cargo test
|
|
|
|
- name: Publish to Crates.io
|
|
if: github.event_name == 'push'
|
|
run: |
|
|
cargo publish \
|
|
--token ${{ secrets.CARGO_TOKEN }} \
|
|
${{ github.ref_type != 'tag' && '--dry-run' || '' }}
|
|
|
|
- name: Publish to Github
|
|
if: github.event_name == 'push' && github.ref_type == 'tag'
|
|
run: |
|
|
gh release create ${{ github.ref_name }} \
|
|
--notes "$(yaclog show -mb)" \
|
|
--title "Version $(yaclog show -n)"
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|