lotabout.skim/.github/workflows/pr.yml
LoricAndre 0392eeb70d
Some checks failed
Pull request update / autoupdate (push) Has been cancelled
Release PR / prepare (push) Has been cancelled
Release PR / tag (push) Has been cancelled
Release PR / update-pr (push) Has been cancelled
ci: lock everything to make sure dependencies match (#1170)
* ci: lock everything to make sure dependencies match

* fix: build locked for msrv too
2026-09-04 11:56:33 +02:00

105 lines
3.4 KiB
YAML

on:
pull_request:
types:
- opened
- synchronize
- reopened
- edited
jobs:
check-title:
runs-on: ubuntu-latest
steps:
- name: Create git-cliff mock context
env:
CONTEXT: >
[
{
"commits": [{
"id": "foo",
"message": $msg,
"links": [],
"author": {
"name": "",
"timestamp": 1
},
"committer": {
"name": "",
"timestamp": 1
},
"merge_commit": false,
"github": {
"pr_labels": [],
"is_first_time": false
},
"gitlab": {
"pr_labels": [],
"is_first_time": false
},
"gitea": {
"pr_labels": [],
"is_first_time": false
},
"bitbucket": {
"pr_labels": [],
"is_first_time": false
},
"azure_devops": {
"pr_labels": [],
"is_first_time": false
},
}],
"github": { "contributors": [] },
"gitlab": { "contributors": [] },
"gitea": { "contributors": [] },
"bitbucket": { "contributors": [] },
"azure_devops": { "contributors": [] },
"submodule_commits": {}
}
]
PR_TITLE: ${{ github.event.pull_request.title }}
run: |
jq -nc --arg msg "$PR_TITLE" "$CONTEXT" | tee git-cliff-context.json
- name: Generate mock changelog entry
id: git-cliff
uses: orhun/git-cliff-action@v4
with:
args: >
--from-context git-cliff-context.json -s all
- name: Check generated entry
run: |
echo "Generated:"
cat "${{ steps.git-cliff.outputs.changelog }}"
echo "Checking..."
cat "${{ steps.git-cliff.outputs.changelog }}" | grep -Ev '^(## \[unreleased\]|)$' | grep -q '^.\+$'
check-generated-files:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Cache
uses: Swatinem/rust-cache@v2
with:
key: ${{ runner.os }}
add-job-id-key: "false"
add-rust-environment-hash-key: "false"
env-vars: "____"
cache-on-failure: "true"
cache-all-crates: "true"
- name: Generate files
run: |
cargo run --locked -- --man > ./man/man1/sk.1
cargo run --locked -- --shell bash > ./shell/completion.bash
cargo run --locked -- --shell zsh > ./shell/completion.zsh
cargo run --locked -- --shell fish > ./shell/completion.fish
cargo run --locked -- --shell nushell > ./shell/completion.nu
- name: Check diff
run: |
if git diff --exit-code; then
echo "No changes to generated files found, PR is safe to merge"
exit 0
else
echo "Found changes to generated files, regenerate them locally and push them using 'just generate-files'"
exit 1
fi