generated from tversteeg/library-github-template
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(ci): use automated release and README generation
- Loading branch information
Showing
5 changed files
with
93 additions
and
47 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: Readme | ||
on: push | ||
|
||
jobs: | ||
# Generate the readme from lib.rs | ||
readme: | ||
name: Generate README.md | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
# Needed for the amend | ||
fetch-depth: 2 | ||
|
||
- uses: cargo-bins/cargo-binstall@main | ||
|
||
- name: Install cargo-rdme | ||
run: cargo binstall cargo-rdme -y | ||
|
||
- name: Get last commit message | ||
id: last-commit-message | ||
run: | | ||
echo "msg=$(git log -1 --pretty=%s)" >> $GITHUB_OUTPUT | ||
- name: Run cargo-rdme | ||
run: cargo rdme | ||
|
||
- uses: stefanzweifel/git-auto-commit-action@v5 | ||
with: | ||
commit_message: ${{ steps.last-commit-message.outputs.msg }} | ||
commit_options: '--amend --no-edit' | ||
push_options: '--force' | ||
skip_fetch: true |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
name: Release | ||
|
||
permissions: | ||
pull-requests: write | ||
contents: write | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
release-plz: | ||
name: Release PR | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Install Rust toolchain | ||
uses: dtolnay/rust-toolchain@stable | ||
|
||
- name: Run release-plz | ||
uses: MarcoIeni/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,17 +4,14 @@ on: | |
paths-ignore: | ||
- "docs/**" | ||
- "**.md" | ||
pull_request: | ||
paths-ignore: | ||
- "docs/**" | ||
- "**.md" | ||
|
||
jobs: | ||
# Check for formatting | ||
rustfmt: | ||
name: Formatter check | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | ||
- uses: actions/checkout@v4 | ||
|
||
- uses: actions-rs/toolchain@v1 | ||
with: | ||
|
@@ -29,72 +26,56 @@ jobs: | |
command: fmt | ||
args: --all -- --check | ||
|
||
# Run compile check on Linux, macOS, and Windows | ||
# On both Rust stable and Rust nightly | ||
# Run a compilation check on Linux, macOS, and Windows | ||
compile: | ||
name: Compile | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: true | ||
matrix: | ||
os: [ubuntu-latest, macOS-latest, windows-latest] | ||
toolchain: [stable, nightly] | ||
steps: | ||
# Checkout the branch being tested | ||
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | ||
- uses: actions/checkout@v4 | ||
|
||
# Install rust stable | ||
- uses: dtolnay/rust-toolchain@master | ||
with: | ||
toolchain: ${{ matrix.toolchain }} | ||
|
||
# Cache the built dependencies | ||
- uses: Swatinem/[email protected] | ||
with: | ||
save-if: ${{ github.event_name == 'push' }} | ||
toolchain: stable | ||
|
||
# Install cargo-hack | ||
- uses: taiki-e/install-action@cargo-hack | ||
|
||
# Compile all feature combinations on the target platform | ||
- name: Compile | ||
run: cargo hack --feature-powerset check | ||
# Check if all feature combinations compile | ||
- name: Test | ||
run: cargo hack --each-feature check | ||
|
||
# Run tests on Linux | ||
# On both Rust stable and Rust nightly | ||
test: | ||
name: Test | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
toolchain: [stable, nightly] | ||
steps: | ||
# Checkout the branch being tested | ||
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | ||
- uses: actions/checkout@v4 | ||
|
||
# Install rust stable | ||
- uses: dtolnay/rust-toolchain@master | ||
with: | ||
toolchain: ${{ matrix.toolchain }} | ||
|
||
# Cache the built dependencies | ||
- uses: Swatinem/[email protected] | ||
with: | ||
save-if: ${{ github.event_name == 'push' }} | ||
toolchain: stable | ||
|
||
# Install cargo-hack | ||
- uses: taiki-e/install-action@cargo-hack | ||
|
||
# Run the ignored tests that expect the above setup | ||
- name: Run all tests | ||
# Test all features on the target platform | ||
- name: Test | ||
run: cargo hack --feature-powerset test | ||
|
||
# Build the WASM target & push it to GitHub pages | ||
wasm: | ||
name: WASM examples | ||
name: WASM test & build | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | ||
- uses: actions/checkout@v4 | ||
|
||
# Install rust stable | ||
- uses: dtolnay/rust-toolchain@master | ||
|
@@ -107,8 +88,8 @@ jobs: | |
with: | ||
save-if: ${{ github.event_name == 'push' }} | ||
|
||
# Build the WASM examples | ||
- name: Build example | ||
# Build the WASM | ||
- name: Build | ||
run: cargo run --package run-wasm -- --release --build-only --example window | ||
|
||
# Deploy to GitHub pages | ||
|
@@ -117,5 +98,5 @@ jobs: | |
env: | ||
REPO: self | ||
BRANCH: gh-pages | ||
FOLDER: target/wasm-examples | ||
FOLDER: target/wasm-examples/window | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
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
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