## Description This PR fixes zizmor --min-severity high findings in our GitHub Actions workflows by: - Pinning all uses: references to immutable commit SHAs (replaces floating tags like @v6 / @main). - Pinning internal Terraform setup action usage (coder/coder/.github/actions/setup-tf@main) to a fixed ref/commit. - Pinning crate-ci/typos to a commit SHA. - Removing GitHub expression template expansion inside a run: block in version-bump.yaml (prevents template injection flagged by zizmor). ## Type of Change - [ ] New module - [ ] New template - [ ] Bug fix - [ ] Feature/enhancement - [ ] Documentation - [x] Other ## Module Information N/A ## Template Information N/A ## Testing & Validation - [ ] Tests pass (`bun test`) - [ ] Code formatted (`bun fmt`) - [x] Changes tested locally - zizmor .github/workflows/* --min-severity high ## Related Issues - coder/registry#642 - https://github.com/coder/registry/pull/662
96 lines
3.0 KiB
YAML
96 lines
3.0 KiB
YAML
name: Version Bump
|
|
|
|
on:
|
|
pull_request:
|
|
types: [labeled]
|
|
paths:
|
|
- "registry/**/modules/**"
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
version-bump:
|
|
if: github.event.label.name == 'version:patch' || github.event.label.name == 'version:minor' || github.event.label.name == 'version:major'
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
pull-requests: write
|
|
issues: write
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
|
with:
|
|
fetch-depth: 0
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Set up Bun
|
|
uses: oven-sh/setup-bun@3d267786b128fe76c2f16a390aa2448b815359f3 # v2
|
|
with:
|
|
bun-version: latest
|
|
|
|
- name: Set up Terraform
|
|
uses: coder/coder/.github/actions/setup-tf@59cdd7e21f4d7da12567c0c29964d298fbf38f27 # v2.29.1
|
|
|
|
- name: Install dependencies
|
|
run: bun install
|
|
|
|
- name: Extract bump type from label
|
|
env:
|
|
LABEL_NAME: ${{ github.event.label.name }}
|
|
id: bump-type
|
|
run: |
|
|
case "$LABEL_NAME" in in
|
|
"version:patch")
|
|
echo "type=patch" >> $GITHUB_OUTPUT
|
|
;;
|
|
"version:minor")
|
|
echo "type=minor" >> $GITHUB_OUTPUT
|
|
;;
|
|
"version:major")
|
|
echo "type=major" >> $GITHUB_OUTPUT
|
|
;;
|
|
*)
|
|
echo "Invalid version label: ${LABEL_NAME}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
- name: Check version bump
|
|
run: ./.github/scripts/version-bump.sh --ci "${{ steps.bump-type.outputs.type }}" origin/main
|
|
|
|
- name: Comment on PR - Version bump required
|
|
if: failure()
|
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
script: |
|
|
const bumpType = `${{ steps.bump-type.outputs.type }}`;
|
|
|
|
const comment = [
|
|
'## Version Bump Required',
|
|
'',
|
|
'One or more modules in this PR need their versions updated.',
|
|
'',
|
|
'**To fix this:**',
|
|
'1. Run the version bump script locally:',
|
|
' ```bash',
|
|
` ./.github/scripts/version-bump.sh ${bumpType}`,
|
|
' ```',
|
|
'2. Commit the changes:',
|
|
' ```bash',
|
|
` git add . && git commit -m "chore: bump module versions (${bumpType})"`,
|
|
' ```',
|
|
'3. Push your changes',
|
|
'',
|
|
'The CI will automatically re-run once you push the updated versions.'
|
|
].join('\n');
|
|
|
|
github.rest.issues.createComment({
|
|
issue_number: context.issue.number,
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
body: comment
|
|
});
|