Skip to content

Remove ghalint workaround and fix all security policy violations #2208

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 26, 2025
Merged
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
2 changes: 2 additions & 0 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jobs:
(github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
)
runs-on: ubuntu-latest
timeout-minutes: "60"
permissions:
contents: write
pull-requests: write
Expand All @@ -31,6 +32,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 1
persist-credentials: false
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ref: https://github.com/suzuki-shunsuke/ghalint/blob/main/docs/policies/013.md
Making the token persistent allows subsequent steps such as git push.For security risk, it should be false if not needed.


- name: Setup pnpm
uses: ./.github/actions/pnpm-setup
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/database-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,12 @@ jobs:
name: PGTap Tests
timeout-minutes: 10
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: supabase/setup-cli@d347ba47d3fb7eeeddbbc793bc8d4779caf773ea # v1.5.0
with:
version: latest
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/discussion-comment-to-slack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ on:
jobs:
discussion_commented:
if: github.event.discussion && github.event.comment
permissions:
contents: read
uses: route06/actions/.github/workflows/gh_discussion_comment_to_slack.yml@155715656c4cd9079f1213d08d058e78dd00cae7 # v2.6.0
secrets:
slack-webhook-url: ${{ secrets.SLACK_GHD_WEBHOOK_URL }}
1 change: 1 addition & 0 deletions .github/workflows/e2e_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.event.deployment.sha }}
persist-credentials: false

- name: Check deployment conditions
id: check
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/figma-to-css-variables.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ jobs:

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: ./.github/actions/pnpm-setup
- run: pnpm --filter @liam-hq/figma-to-css-variables sync --output '../../apps/service-site/src/styles' --filter-modes "Dark,Mode 1"
env:
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/frontend-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ jobs:
has-changes: ${{ steps.changes.outputs.has-changes }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
Expand All @@ -39,9 +41,13 @@ jobs:
if: ${{ needs.setup-job.outputs.has-changes == 'true' }}
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: read

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: ./.github/actions/pnpm-setup
- run: pnpm lint

Expand All @@ -50,9 +56,13 @@ jobs:
if: ${{ needs.setup-job.outputs.has-changes == 'true' }}
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: read

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: ./.github/actions/pnpm-setup
- run: pnpm --filter @liam-hq/db supabase:start
- run: cp .env.template .env
Expand Down
17 changes: 1 addition & 16 deletions .github/workflows/ghalint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,19 +64,4 @@ jobs:
fi

- name: Run ghalint
run: |
# Run ghalint and filter for only action_ref_should_be_full_length_commit_sha policy
set +e # Don't exit on error immediately

# Run ghalint and capture output
ghalint run 2>&1 | tee ghalint_output.txt

# Check for action_ref_should_be_full_length_commit_sha errors
echo "=== Checking for action_ref_should_be_full_length_commit_sha violations ==="
if grep "action_ref_should_be_full_length_commit_sha" ghalint_output.txt; then
echo "❌ Found action_ref_should_be_full_length_commit_sha violations!"
exit 1
else
echo "✅ No action_ref_should_be_full_length_commit_sha violations found"
exit 0
fi
run: ghalint run
3 changes: 3 additions & 0 deletions .github/workflows/license-report-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,13 @@ jobs:
with:
app-id: ${{ vars.LICENSE_CI_TRIGGER_APP_ID }}
private-key: ${{ secrets.LICENSE_CI_TRIGGER_APP_PRIVATE_KEY }}
permission-contents: write
permission-pull-requests: write
Comment on lines +31 to +32
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed GitHub App token permissions

Updated GitHub App token creation to use proper permission format:

  • license-report-update.yml - Added permission-contents: write and permission-pull-requests: write
  • release.yml - Added permission-contents: write, permission-pull-requests: write, and permission-actions: write

Oh, this was added automatically based on some heuristic or something, right?
Pretty cool — how does it even figure that out, Devin?

- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
token: ${{ steps.app-token.outputs.token }}
persist-credentials: false
- uses: ./.github/actions/pnpm-setup
- name: Install License Finder
run: sudo gem install -N license_finder
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/license.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,13 @@ jobs:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
timeout-minutes: 10
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
# To make the success of this job a prerequisite for merging into the main branch,
# set a filter here instead of on: to determine whether or not to proceed to the next step.
- name: Cache dependency files
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/notify_supabase_failure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ on:
jobs:
notify_slack:
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: read
if: github.event.check_suite.app.name == 'Supabase' && github.event.check_suite.conclusion == 'failure' && github.event.check_suite.head_branch == 'main'
steps:
- name: Slack Notification for Supabase Failure
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,14 @@ jobs:
with:
app-id: ${{ vars.CHANGESET_CI_TRIGGER_APP_ID }}
private-key: ${{ secrets.CHANGESET_CI_TRIGGER_APP_PRIVATE_KEY }}
permission-contents: write
permission-pull-requests: write
permission-actions: write

- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
token: ${{ steps.app-token.outputs.token }}
persist-credentials: false
- uses: ./.github/actions/pnpm-setup
- name: Create Release Pull Request or Publish to npm
id: changesets-action
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/released_package_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ jobs:
test:
timeout-minutes: 15
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: sleep
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ on:

jobs:
stale:

runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
issues: write
pull-requests: write
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/trigger_dev_preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,12 @@ jobs:
trigger_dev:
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: read
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: ./.github/actions/pnpm-setup

- name: Deploy to trigger.dev preview
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/trigger_dev_production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,12 @@ jobs:
trigger_dev:
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: read
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: ./.github/actions/pnpm-setup

- name: Deploy to trigger.dev production
Expand Down