forkwright/aletheia GitHub Actions scorecardPublic GitHub Actions data, last 30 days. Updated 7/11/2026, 5:17:05 AM.
Data sourced from public GitHub. GitSpider is not affiliated with or endorsed by this repository's owners. Request removal.
Biggest wins first, each with the exact config fix.
CodeQLThe schedule fires at minute :00 — GitHub's peak window, where scheduled runs get delayed or skipped. Shift to any other minute for the same cadence with less contention.
on:
schedule:
- cron: '29 14 * * 3' # was '0 14 * * 3' — any non-:00 minute avoids the herdCodeQLThe schedule has no repository guard, so forks that enable Actions inherit the cron and burn their own minutes. Gate the job with `if: github.repository == 'owner/repo'`.
jobs:
nightly:
if: github.repository == 'owner/repo'
runs-on: ubuntu-latestSecurityRuns on every push/PR with no `paths:` filter, so docs-only changes still trigger full CI. Add a `paths:` filter if that's common.
on:
pull_request:
paths:
- 'src/**'
- 'package.json'SecurityThe schedule fires at minute :00 — GitHub's peak window, where scheduled runs get delayed or skipped. Shift to any other minute for the same cadence with less contention.
on:
schedule:
- cron: '26 11 * * *' # was '0 11 * * *' — any non-:00 minute avoids the herdSecurityThe schedule has no repository guard, so forks that enable Actions inherit the cron and burn their own minutes. Gate the job with `if: github.repository == 'owner/repo'`.
jobs:
nightly:
if: github.repository == 'owner/repo'
runs-on: ubuntu-latestRelease PleaseThis looks like a deploy/release workflow with `cancel-in-progress: true`, which cancels queued runs too — a queued deploy is silently dropped when a newer run arrives. Use a group-only `concurrency:` block on deploys.
concurrency:
group: ${{ github.workflow }}
# queued deploys run in order; none are droppedPII ScanRuns on every push/PR with no `paths:` filter, so docs-only changes still trigger full CI. Add a `paths:` filter if that's common.
on:
pull_request:
paths:
- 'src/**'
- 'package.json'PII ScanSystem packages install from the network on every run with no cache. Cache them (cache-apt-pkgs-action) or check whether the runner image already has the tool.
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: <your packages>
version: 1.0Gate AttestationNo job sets `timeout-minutes`, so a hung step can run to GitHub's 6-hour default. Add `timeout-minutes` to each job.
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 15FmtRuns on every push/PR with no `paths:` filter, so docs-only changes still trigger full CI. Add a `paths:` filter if that's common.
on:
pull_request:
paths:
- 'src/**'
- 'package.json'YAML ValidateRuns on every push/PR with no `paths:` filter, so docs-only changes still trigger full CI. Add a `paths:` filter if that's common.
on:
pull_request:
paths:
- 'src/**'
- 'package.json'Systemd VerifyRuns on every push/PR with no `paths:` filter, so docs-only changes still trigger full CI. Add a `paths:` filter if that's common.
on:
pull_request:
paths:
- 'src/**'
- 'package.json'Docs LintRuns on every push/PR with no `paths:` filter, so docs-only changes still trigger full CI. Add a `paths:` filter if that's common.
on:
pull_request:
paths:
- 'src/**'
- 'package.json'Online Tests`upload-artifact` has no `retention-days`, so artifacts keep up to 90 days (storage cost). Set e.g. `retention-days: 7`.
- uses: actions/upload-artifact@v4
with:
name: build
path: dist/
retention-days: 7Online TestsThe schedule has no repository guard, so forks that enable Actions inherit the cron and burn their own minutes. Gate the job with `if: github.repository == 'owner/repo'`.
jobs:
nightly:
if: github.repository == 'owner/repo'
runs-on: ubuntu-latestOnline Testscheckout fetches the entire git history every run (`fetch-depth: 0`) and nothing in the workflow appears to read it. Remove the line — the default shallow clone is much faster on big repos. Keep it if a step genuinely needs history.
- uses: actions/checkout@v4
# fetch-depth: 0 removed — default shallow clone is enough hereOnline TestsTests run under an auto-retry wrapper — each retry re-bills the same minutes and masks the flaky tests it papers over. Track, fix or quarantine the flakes, then drop the wrapper.
PR Title PII GuardRuns on every push/PR with no `paths:` filter, so docs-only changes still trigger full CI. Add a `paths:` filter if that's common.
on:
pull_request:
paths:
- 'src/**'
- 'package.json'Integration Server Smoke Testcheckout fetches the entire git history every run (`fetch-depth: 0`) and nothing in the workflow appears to read it. Remove the line — the default shallow clone is much faster on big repos. Keep it if a step genuinely needs history.
- uses: actions/checkout@v4
# fetch-depth: 0 removed — default shallow clone is enough here# Scheduled at the top of the hour — applies to: CodeQL
on:
schedule:
- cron: '29 14 * * 3' # was '0 14 * * 3' — any non-:00 minute avoids the herd
# Scheduled workflow runs in forks — applies to: CodeQL, Security, Online Tests
jobs:
nightly:
if: github.repository == 'owner/repo'
runs-on: ubuntu-latest
# No path filters on triggers — applies to: Security, PII Scan, Fmt, YAML Validate, Systemd Verify, Docs Lint, PR Title PII Guard
on:
pull_request:
paths:
- 'src/**'
- 'package.json'
# Scheduled at the top of the hour — applies to: Security
on:
schedule:
- cron: '26 11 * * *' # was '0 11 * * *' — any non-:00 minute avoids the herd
# cancel-in-progress on a deploy workflow — applies to: Release Please
concurrency:
group: ${{ github.workflow }}
# queued deploys run in order; none are dropped
# System packages reinstalled every run — applies to: PII Scan
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: <your packages>
version: 1.0
# No job timeout — applies to: Gate Attestation
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 15
# Artifacts at default retention — applies to: Online Tests
- uses: actions/upload-artifact@v4
with:
name: build
path: dist/
retention-days: 7
# Full-history clone (fetch-depth: 0) — applies to: Online Tests, Integration Server Smoke Test
- uses: actions/checkout@v4
# fetch-depth: 0 removed — default shallow clone is enough hereEach snippet is representative — merge into the named workflow files rather than pasting wholesale.
This scorecard is a one-time snapshot. Install the free GitHub App to track this repo continuously: new regressions caught as they land, trends over time, on your public and private repos. Team adds the offending commit on the PR + Slack alerts.
Install & monitor this repo →Not ready to install? Get this report by email. No spam, unsubscribe anytime.