mirror of
https://github.com/LukeMathWalker/zero-to-production.git
synced 2024-07-01 03:20:50 +00:00
feat(.github/workflows/general.yml): improving file a bit (mostly adding comments) (#202)
This commit is contained in:
parent
b96ca2314a
commit
ec31ce4578
28
.github/workflows/general.yml
vendored
28
.github/workflows/general.yml
vendored
|
@ -1,5 +1,7 @@
|
||||||
|
# The name of your workflow. GitHub displays the names of your workflows on your repository's "Actions" tab
|
||||||
name: Rust
|
name: Rust
|
||||||
|
|
||||||
|
# To automatically trigger the workflow
|
||||||
on:
|
on:
|
||||||
# NB: this differs from the book's project!
|
# NB: this differs from the book's project!
|
||||||
# These settings allow us to run this specific CI pipeline for PRs against
|
# These settings allow us to run this specific CI pipeline for PRs against
|
||||||
|
@ -15,17 +17,35 @@ on:
|
||||||
env:
|
env:
|
||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
|
|
||||||
|
# A workflow run is made up of one or more jobs, which run in parallel by default
|
||||||
|
# Each job runs in a runner environment specified by runs-on
|
||||||
jobs:
|
jobs:
|
||||||
|
# Unique identifier of our job (`job_id`)
|
||||||
test:
|
test:
|
||||||
|
# Sets the name `Test` for the job, which is displayed in the GitHub UI
|
||||||
name: Test
|
name: Test
|
||||||
|
# Containers must run in Linux based operating systems
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
# Downloads a copy of the code in your repository before running CI tests
|
||||||
- uses: dtolnay/rust-toolchain@stable
|
- name: Check out repository code
|
||||||
- uses: Swatinem/rust-cache@v2
|
# The uses keyword specifies that this step will run v3 of the actions/checkout action.
|
||||||
|
# This is an action that checks out your repository onto the runner, allowing you to run scripts or other actions against your code (such as build and test tools).
|
||||||
|
# You should use the checkout action any time your workflow will run against the repository's code.
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
# This GitHub Action installs a Rust toolchain using rustup. It is designed for one-line concise usage and good defaults.
|
||||||
|
- name: Install the Rust toolchain
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
|
||||||
|
# A GitHub Action that implements smart caching for rust/cargo projects with sensible defaults.
|
||||||
|
- name: Rust Cache Action
|
||||||
|
uses: Swatinem/rust-cache@v2
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: cargo test
|
run: cargo test
|
||||||
|
|
||||||
|
# `fmt` container job
|
||||||
fmt:
|
fmt:
|
||||||
name: Rustfmt
|
name: Rustfmt
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -33,6 +53,7 @@ jobs:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: dtolnay/rust-toolchain@stable
|
- uses: dtolnay/rust-toolchain@stable
|
||||||
with:
|
with:
|
||||||
|
# Specific to dtolnay/rust-toolchain: Comma-separated string of additional components to install
|
||||||
components: rustfmt
|
components: rustfmt
|
||||||
- name: Enforce formatting
|
- name: Enforce formatting
|
||||||
run: cargo fmt --check
|
run: cargo fmt --check
|
||||||
|
@ -49,6 +70,7 @@ jobs:
|
||||||
- name: Linting
|
- name: Linting
|
||||||
run: cargo clippy -- -D warnings
|
run: cargo clippy -- -D warnings
|
||||||
|
|
||||||
|
# `coverage` container job
|
||||||
coverage:
|
coverage:
|
||||||
name: Code coverage
|
name: Code coverage
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
Loading…
Reference in a new issue