Skip to content

feat: Reworked dotfile path resolution #615

feat: Reworked dotfile path resolution

feat: Reworked dotfile path resolution #615

Workflow file for this run

name: CI
on:
pull_request:
paths:
- 'Cargo.lock'
- 'Cargo.toml'
- 'rust-toolchain.toml'
- '.rustfmt.toml'
- 'crates/**'
- 'examples/**'
- '.github/workflows/**'
push:
branches:
- main
- staging
- trying
paths:
- 'Cargo.lock'
- 'Cargo.toml'
- 'rust-toolchain.toml'
- '.rustfmt.toml'
- 'crates/**'
- 'examples/**'
- '.github/workflows/**'
defaults:
run:
shell: bash
env:
CARGO_INCREMENTAL: 0
CARGO_NET_RETRY: 10
RUST_BACKTRACE: 1
RUSTUP_MAX_RETRIES: 10
CARGO_TERM_COLOR: always
CLICOLOR: 1
jobs:
test:
strategy:
matrix:
os: ["ubuntu-latest", "windows-latest", "macos-latest"]
rust: ["stable", "beta"]
include:
- os: ubuntu-latest
rust: "nightly"
continue-on-error: ${{ matrix.rust != 'stable' }}
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
# This plugin should be loaded after toolchain setup
- name: Setup rust cache
uses: Swatinem/rust-cache@v2
- name: Install cargo hack
uses: taiki-e/install-action@cargo-hack
- name: Build
run: cargo test --no-run --workspace --all-features
- name: Test
run: cargo hack test --workspace --feature-powerset
examples:
strategy:
matrix:
os: ["ubuntu-latest", "windows-latest", "macos-latest"]
rust: ["stable", "beta"]
include:
- os: ubuntu-latest
rust: "nightly"
continue-on-error: ${{ matrix.rust != 'stable' }}
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
# This plugin should be loaded after toolchain setup
- name: Setup rust cache
uses: Swatinem/rust-cache@v2
- name: Install punktf
run: cargo install --path crates/punktf-cli
- name: Run examples
run: |
cd examples
./ci.sh
docs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: rust-docs
# This plugin should be loaded after toolchain setup
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Check documentation
env:
RUSTDOCFLAGS: -D warnings
run: cargo doc --workspace --all-features --no-deps --document-private-items
rustfmt:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: rustfmt
# This plugin should be loaded after toolchain setup
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Run cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
clippy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: clippy
# This plugin should be loaded after toolchain setup
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Run cargo clippy
run: |
cargo clippy --all-features --all-targets --message-format=json -- --allow deprecated
lockfile:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
# This plugin should be loaded after toolchain setup
- name: Setup rust cache
uses: Swatinem/rust-cache@v2
- name: Lockfile up to date
run: cargo update --locked