Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/auto-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
new_version: ${{ steps.version.outputs.new_version }}

steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

Check warning on line 47 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

artipacked

auto-version.yml:47: credential persistence through GitHub Actions artifacts: does not set persist-credentials: false
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -134,8 +134,8 @@
id: version
if: steps.bump.outputs.bump != 'none'
run: |
CURRENT="${{ steps.bump.outputs.current_version }}"

Check notice on line 137 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

template-injection

auto-version.yml:137: code injection via template expansion: may expand into attacker-controllable code
BUMP="${{ steps.bump.outputs.bump }}"

Check notice on line 138 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

template-injection

auto-version.yml:138: code injection via template expansion: may expand into attacker-controllable code

MAJOR=$(echo "$CURRENT" | cut -d. -f1)
MINOR=$(echo "$CURRENT" | cut -d. -f2)
Expand All @@ -155,7 +155,7 @@
- name: Update package.json files
if: steps.bump.outputs.bump != 'none'
run: |
VERSION="${{ steps.version.outputs.new_version }}"

Check notice on line 158 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

template-injection

auto-version.yml:158: code injection via template expansion: may expand into attacker-controllable code

# Find all package.json files (excluding node_modules)
mapfile -t FILES < <(find . -name 'package.json' -not -path '*/node_modules/*' -not -path './catalyst-agent/*')
Expand All @@ -179,7 +179,7 @@
- name: Update Cargo.toml
if: steps.bump.outputs.bump != 'none'
run: |
VERSION="${{ steps.version.outputs.new_version }}"

Check notice on line 182 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

template-injection

auto-version.yml:182: code injection via template expansion: may expand into attacker-controllable code
if [ -f catalyst-agent/Cargo.toml ]; then
sed -i "s/^version = \"[^\"]*\"/version = \"$VERSION\"/" catalyst-agent/Cargo.toml
echo "Updated catalyst-agent/Cargo.toml → $VERSION"
Expand All @@ -188,7 +188,7 @@
- name: Commit, tag and push
if: steps.bump.outputs.bump != 'none'
run: |
VERSION="${{ steps.version.outputs.new_version }}"

Check notice on line 191 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

template-injection

auto-version.yml:191: code injection via template expansion: may expand into attacker-controllable code

git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
Expand Down Expand Up @@ -310,7 +310,7 @@
- name: Create GitHub Release
if: steps.bump.outputs.bump != 'none'
id: create_release
uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3

Check notice on line 313 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

superfluous-actions

auto-version.yml:313: action functionality is already included by the runner: use `gh release` in a script step
with:
tag_name: v${{ steps.version.outputs.new_version }}
name: v${{ steps.version.outputs.new_version }}
Expand Down Expand Up @@ -360,7 +360,7 @@
artifact_name: catalyst-agent-aarch64-linux-musl

steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

Check warning on line 363 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

artipacked

auto-version.yml:363: credential persistence through GitHub Actions artifacts: does not set persist-credentials: false
with:
ref: v${{ needs.version.outputs.new_version }}

Expand Down Expand Up @@ -407,7 +407,7 @@
# sccache GHA backend needs these tokens as env vars on self-hosted
# runners (GitHub-hosted exposes them automatically).
- name: Export GHA cache credentials for sccache
uses: actions/github-script@v7

Check failure on line 410 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

unpinned-uses

auto-version.yml:410: unpinned action reference: action is not pinned to a hash (required by blanket policy)
with:
script: |
core.exportVariable('ACTIONS_RESULTS_URL', process.env.ACTIONS_RESULTS_URL || '');
Expand Down Expand Up @@ -474,7 +474,7 @@
subject-path: /tmp/${{ matrix.artifact_name }}

- name: Upload binary + checksum as release assets
uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3

Check notice on line 477 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

superfluous-actions

auto-version.yml:477: action functionality is already included by the runner: use `gh release` in a script step
with:
tag_name: v${{ needs.version.outputs.new_version }}
files: |
Expand All @@ -496,7 +496,7 @@
attestations: write # SLSA provenance via attest-build-provenance

steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

Check warning on line 499 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

artipacked

auto-version.yml:499: credential persistence through GitHub Actions artifacts: does not set persist-credentials: false
with:
ref: v${{ needs.version.outputs.new_version }}

Expand All @@ -511,7 +511,7 @@
subject-path: install.sh

- name: Upload install.sh + checksum as release assets
uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3

Check notice on line 514 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

superfluous-actions

auto-version.yml:514: action functionality is already included by the runner: use `gh release` in a script step
with:
tag_name: v${{ needs.version.outputs.new_version }}
files: |
Expand All @@ -535,12 +535,12 @@
attestations: write # SLSA provenance via attest-build-provenance

steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

Check warning on line 538 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

artipacked

auto-version.yml:538: credential persistence through GitHub Actions artifacts: does not set persist-credentials: false
with:
ref: v${{ needs.version.outputs.new_version }}

- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4

Check failure on line 543 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

cache-poisoning

auto-version.yml:543: runtime artifacts potentially vulnerable to a cache poisoning attack: omitting `package-manager-cache` enables caching
with:
node-version: "22"

Expand Down Expand Up @@ -607,25 +607,25 @@
file: catalyst-frontend/Dockerfile

steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

Check warning on line 610 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

artipacked

auto-version.yml:610: credential persistence through GitHub Actions artifacts: does not set persist-credentials: false
with:
ref: v${{ needs.version.outputs.new_version }}

# catalyst-frontend/Dockerfile COPYs catalyst-plugins/ (embedded plugin
# frontends) — the plugins live in their own repo, not in this checkout.
- name: Checkout plugins repository

Check warning on line 616 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

artipacked

auto-version.yml:616: credential persistence through GitHub Actions artifacts: does not set persist-credentials: false
if: matrix.image == 'frontend'
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: catalystctl/catalyst-plugins
ref: e3d2e3ee786e19bb40ecf5a565638e3f6db7c186 # pinned main 2026-09-18 (discord-oauth 1.0.1)
path: catalyst-plugins

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

Check failure on line 625 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

unpinned-uses

auto-version.yml:625: unpinned action reference: action is not pinned to a hash (required by blanket policy)

- name: Log in to GHCR
uses: docker/login-action@v3

Check failure on line 628 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

unpinned-uses

auto-version.yml:628: unpinned action reference: action is not pinned to a hash (required by blanket policy)
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
Expand All @@ -644,7 +644,7 @@

- name: Build and push
id: build-push
uses: docker/build-push-action@v6

Check failure on line 647 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

unpinned-uses

auto-version.yml:647: unpinned action reference: action is not pinned to a hash (required by blanket policy)
with:
context: .
file: ${{ matrix.file }}
Expand Down Expand Up @@ -684,8 +684,8 @@
run: |
# --repo is required: this job has no checkout, so gh can't discover
# the repository from git and fails with "not a git repository".
gh release edit "v${{ needs.version.outputs.new_version }}" --repo "$GITHUB_REPOSITORY" --draft=false

Check notice on line 687 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

template-injection

auto-version.yml:687: code injection via template expansion: may expand into attacker-controllable code
echo "✅ Release v${{ needs.version.outputs.new_version }} published"

Check notice on line 688 in .github/workflows/auto-version.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

template-injection

auto-version.yml:688: code injection via template expansion: may expand into attacker-controllable code

- name: Notify Discord on Release
env:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
Expand Down Expand Up @@ -118,7 +118,7 @@ jobs:
if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'
timeout-minutes: 45
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,13 @@ jobs:
timeout-minutes: 25

steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

# Plugin frontends under catalyst-plugins/ compile into the panel build
# (build-time discovery via import.meta.glob). The plugins live in their
# own repo: catalystctl/catalyst-plugins.
- name: Checkout plugins repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: catalystctl/catalyst-plugins
ref: e3d2e3ee786e19bb40ecf5a565638e3f6db7c186 # pinned main 2026-09-18 (discord-oauth 1.0.1)
Expand Down Expand Up @@ -269,10 +269,10 @@ jobs:
BETTER_AUTH_SECRET: ci-test-better-auth-secret-do-not-use-in-production

steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Checkout plugins repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: catalystctl/catalyst-plugins
ref: e3d2e3ee786e19bb40ecf5a565638e3f6db7c186 # pinned main 2026-09-18 (discord-oauth 1.0.1)
Expand Down Expand Up @@ -403,10 +403,10 @@ jobs:
timeout-minutes: 25

steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Checkout plugins repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: catalystctl/catalyst-plugins
ref: e3d2e3ee786e19bb40ecf5a565638e3f6db7c186 # pinned main 2026-09-18 (discord-oauth 1.0.1)
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/demo-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Checkout plugins repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: catalystctl/catalyst-plugins
ref: 4e735b0411a67e54a38e9fdf5fb85e4ec55ff569 # pinned main 2026-09-10
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/dependabot-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
runs-on: ubuntu-latest
if: startsWith(github.head_ref, 'dependabot/')
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
Expand Down Expand Up @@ -73,7 +73,7 @@
runs-on: ubuntu-latest
if: startsWith(github.head_ref, 'dependabot/')
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0

Expand Down Expand Up @@ -104,7 +104,7 @@
- name: Audit base branch for diff
run: |
git stash
git checkout origin/${{ github.base_ref }} 2>/dev/null || true

Check failure on line 107 in .github/workflows/dependabot-review.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

template-injection

dependabot-review.yml:107: code injection via template expansion: may expand into attacker-controllable code
pnpm install --config.minimumReleaseAge=0 2>/dev/null || true
(cd catalyst-backend && pnpm audit 2>&1 | tee /tmp/base-backend-audit.txt || true)
(cd catalyst-frontend && pnpm audit 2>&1 | tee /tmp/base-frontend-audit.txt || true)
Expand Down Expand Up @@ -150,7 +150,7 @@
runs-on: ubuntu-latest
if: startsWith(github.head_ref, 'dependabot/')
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0

Expand All @@ -168,7 +168,7 @@
run: |
echo "## 📦 Lockfile Change Analysis" >> $GITHUB_STEP_SUMMARY

LOCKFILE_DIFF=$(git diff origin/${{ github.base_ref }}...HEAD -- pnpm-lock.yaml 2>/dev/null || true)

Check failure on line 171 in .github/workflows/dependabot-review.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

template-injection

dependabot-review.yml:171: code injection via template expansion: may expand into attacker-controllable code

if [ -z "$LOCKFILE_DIFF" ]; then
echo "No lockfile changes detected" >> $GITHUB_STEP_SUMMARY
Expand Down Expand Up @@ -223,7 +223,7 @@
runs-on: ubuntu-latest
if: startsWith(github.head_ref, 'dependabot/')
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Run Scorecard
uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
Expand All @@ -245,7 +245,7 @@
runs-on: ubuntu-latest
if: startsWith(github.head_ref, 'dependabot/') && always()
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Post review comment
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/docs-impact.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@
docs-impact:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

Check failure on line 17 in .github/workflows/docs-impact.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

unpinned-uses

docs-impact.yml:17: unpinned action reference: action is not pinned to a hash (required by blanket policy)
with:
fetch-depth: 0
- name: Checkout docs repository
uses: actions/checkout@v4
uses: actions/checkout@v7

Check failure on line 21 in .github/workflows/docs-impact.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

unpinned-uses

docs-impact.yml:21: unpinned action reference: action is not pinned to a hash (required by blanket policy)
with:
repository: catalystctl/catalyst-doc
path: catalyst-doc
- uses: actions/setup-node@v4

Check failure on line 25 in .github/workflows/docs-impact.yml

View workflow job for this annotation

GitHub Actions / Lint & Static Analysis

unpinned-uses

docs-impact.yml:25: unpinned action reference: action is not pinned to a hash (required by blanket policy)
with:
node-version: 22
- name: Documentation impact report
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/e2e-lxc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
E2E_USE_LOCAL: ${{ inputs.use_local || '0' }}
E2E_MC_VERSION: ${{ inputs.mc_version || 'latest' }}
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Host pre-flight (lxc, curl, jq)
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pullfrog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 1
- name: Run agent
Expand Down
Loading