Bump toml from 0.8.15 to 0.8.16 #404
Workflow file for this run
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: floki-ci | |
on: | |
push: | |
tags: | |
# Full version | |
- "[0-9]+.[0-9]+.[0-9]+" | |
# Prerelease version | |
- "[0-9]+.[0-9]+.[0-9]+-*" | |
pull_request: | |
branches: | |
# Trigger on pull requests into main | |
- main | |
types: [ opened, synchronize ] | |
jobs: | |
lint: | |
name: Linting and Formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
- name: Run cargo clippy to pick up any errors | |
run: cargo clippy --all-targets -- -Dwarnings | |
- name: Check code is formatted | |
run: cargo fmt -- --check | |
build: | |
name: Build static binary for publishing | |
runs-on: ${{ matrix.os }} | |
continue-on-error: ${{ matrix.experimental }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-20.04 | |
- macos-latest | |
rust: | |
- stable | |
- beta | |
experimental: [false] | |
include: | |
- os: ubuntu-20.04 | |
rust: nightly | |
experimental: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.rust }} | |
- name: Install cargo-get | |
run: cargo install cargo-get | |
- name: Run tests | |
run: cargo test --all-features | |
- run: "./build.sh" | |
env: | |
OS_NAME: ${{ matrix.os }} | |
- name: Archive artifacts | |
uses: actions/upload-artifact@v4 | |
if: ${{ matrix.rust == 'stable' }} | |
with: | |
name: stableartifacts-${{ matrix.os }} | |
path: | | |
floki*.zip | |
floki*.tar.gz | |
publish: | |
name: Publish release artifact | |
runs-on: ubuntu-latest | |
if: github.ref_type == 'tag' | |
needs: | |
- build | |
# Required to publish a release | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
- name: Install cargo-get | |
run: cargo install cargo-get | |
- name: Publish to crates.io | |
run: cargo publish | |
env: | |
CARGO_REGISTRY_TOKEN: ${{ secrets.PUBLISH_SECRET }} | |
# After publishing, create a release | |
- name: Download ubuntu artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: stableartifacts-ubuntu-20.04 | |
- name: Download macos artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: stableartifacts-macos-latest | |
- name: Generate release.txt | |
run: "./changelog.sh" | |
- name: Release | |
uses: softprops/action-gh-release@v2 | |
with: | |
body_path: release.txt | |
files: | | |
floki*.zip | |
floki*.tar.gz | |
# Announce the release | |
- run: "./announce.sh" | |
env: | |
ANNOUNCE_HOOK: ${{ secrets.ANNOUNCE_HOOK }} | |
publish-dry-run: | |
name: Dry-run publish for non-release artifact | |
runs-on: ubuntu-latest | |
if: github.ref_type != 'tag' | |
needs: | |
- build | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
- name: Install cargo-get | |
run: cargo install cargo-get | |
- name: Dry-run publish on non-tags | |
run: cargo publish --dry-run | |
# Test downloading the artifacts | |
- name: Download ubuntu artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: stableartifacts-ubuntu-20.04 | |
- name: Download macos artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: stableartifacts-macos-latest | |
# Test generating release.txt | |
- name: Generate release.txt | |
run: "./changelog.sh" |