Skip to content
This repository was archived by the owner on May 19, 2026. It is now read-only.

fix(collect): gate GitHub merge_commit_sha on merged_at (closes #101) #69

fix(collect): gate GitHub merge_commit_sha on merged_at (closes #101)

fix(collect): gate GitHub merge_commit_sha on merged_at (closes #101) #69

Workflow file for this run

# Continuous Integration for the trusty-git-analytics Rust package.
#
# Runs formatting, lint, tests, docs, and a release binary build.
# The `collect_duetto_frontend` integration test is skipped because
# it requires local Duetto repositories that are not available in CI.
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
# Cancel superseded runs on the same ref to save CI minutes.
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
test:
name: Test (${{ matrix.toolchain }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
toolchain: [stable, beta]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust toolchain (${{ matrix.toolchain }})
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
components: rustfmt, clippy
- name: Cache Rust artifacts
uses: Swatinem/rust-cache@v2
- name: Format check
run: cargo fmt --all -- --check
- name: Clippy (all targets)
run: cargo clippy --all-targets -- -D warnings
# The collect_duetto_frontend test depends on local Duetto repos
# that are not available in CI; skip it explicitly.
- name: Test
run: cargo test -- --skip collect_duetto_frontend
docs:
name: Docs (stable)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust toolchain (stable)
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust artifacts
uses: Swatinem/rust-cache@v2
# Treat rustdoc warnings (broken intra-doc links, etc.) as errors.
- name: Build documentation
env:
RUSTDOCFLAGS: "-D warnings"
run: cargo doc --no-deps
build-release:
name: Build release binary (tga)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust toolchain (stable)
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust artifacts
uses: Swatinem/rust-cache@v2
- name: Build release binary
run: cargo build --release --bin tga