main
4 次代码提交
| 作者 | SHA1 | 备注 | 提交日期 | |
|---|---|---|---|---|
|
|
d37b34b02f |
Improve issue version triage and remove title prefixes (#1217)
## Problem Bug-report validation rejected useful prose even when the FCC version was unambiguous, and older installations received no update guidance. Issue forms also duplicated their existing labels with forced title prefixes. ## Changes | Before | After | | --- | --- | | The FCC version field accepted only a bare version, copied command output, or `None`. | The field accepts exactly one standalone `number.number.number` value anywhere in the text, while preserving exact `None` and rejecting ambiguous input. | | Valid versions were not compared with the currently installable code. | The workflow reads the live issue and project version from the default branch, then compares numeric components safely. | | Older reports received no update guidance. | One bot-owned comment asks the reporter to update; edits update or remove that comment without labels or issue closure. | | Bug and feature forms forced `[Bug]` and `[Feature]` title prefixes. | Existing `bug` and `enhancement` labels own classification without changing the reporter's title. | | Contract coverage inspected only workflow source fragments. | Contract coverage executes the JavaScript lifecycle and protects label-only issue classification. | <!-- greptile_comment --> <details open><summary><h3>Greptile Summary</h3></summary> This PR improves issue classification and FCC version triage. The main changes are: - Removes forced title prefixes from bug and feature forms. - Accepts one unambiguous numeric FCC version within descriptive text. - Compares reported versions with the default branch project version. - Reconciles invalid-version and update-guidance comments after edits. - Adds executable workflow lifecycle and issue-form contract tests. </details> <h3>Confidence Score: 5/5</h3> This looks safe to merge. Corrected version fields now remove stale invalid-version comments. Common valid TOML quote and comment formats are handled. No blocking issues remain in the changed code. <details><summary><h3><a href="https://www.greptile.com/trex"><img alt="T-Rex" src="https://greptile-static-assets.s3.amazonaws.com/trex/trex_green.svg" height="20" align="absmiddle"></a> T-Rex Logs</h3></summary> **What T-Rex did** - I reviewed the pre-change contract-validation baseline for forms, which showed 12 failures and 18 passes under origin/main. - I executed the post-change contract-validation test run with the environment set for the project and the pytest suite targeting the contract tests, and it completed with exit code 0 and 30 passes. <a href="https://app.greptile.com/trex/runs/15163869/artifacts"><picture><source media="(prefers-color-scheme: dark)" srcset="https://greptile-static-assets.s3.amazonaws.com/badges/ViewAllArtifactsDark.svg?v=4"><source media="(prefers-color-scheme: light)" srcset="https://greptile-static-assets.s3.amazonaws.com/badges/ViewAllArtifacts.svg?v=4"><img alt="View all artifacts" src="https://greptile-static-assets.s3.amazonaws.com/badges/ViewAllArtifacts.svg?v=4"></picture></a> <sub><a href="https://www.greptile.com/trex"><img alt="T-Rex" src="https://greptile-static-assets.s3.amazonaws.com/trex/trex_green.svg" height="14" align="absmiddle"></a> Ran code and verified through T-Rex</sub> </details> <details open><summary><h3>Important Files Changed</h3></summary> | Filename | Overview | |----------|----------| | .github/workflows/validate-bug-report-version.yml | Adds live issue reconciliation, project-version parsing, numeric comparison, and managed invalid and outdated comments. | | tests/contracts/test_issue_form_version_validation.py | Adds executable coverage for version extraction, TOML parsing, numeric comparison, and comment reconciliation. | | .github/ISSUE_TEMPLATE/bug-report.yml | Removes the title prefix and allows one numeric version within descriptive text. | | .github/ISSUE_TEMPLATE/feature-request.yml | Removes the title prefix while retaining enhancement classification. | | tests/contracts/test_issue_forms.py | Checks that issue forms use labels instead of title prefixes. | </details> <sub>Reviews (3): Last reviewed commit: ["Reconcile bug version triage state"](https://github.com/alishahryar1/free-claude-code/commit/8efe7aaf95bd2a96719b1d0811afb83b06c5d79c) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=45775911)</sub> <!-- /greptile_comment --> |
||
|
|
3418ddb8ce |
build(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#1173)
Bumps [actions/github-script](https://github.com/actions/github-script) from 8.0.0 to 9.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/github-script/releases">actions/github-script's releases</a>.</em></p> <blockquote> <h2>v9.0.0</h2> <p><strong>New features:</strong></p> <ul> <li><strong><code>getOctokit</code> factory function</strong> — Available directly in the script context. Create additional authenticated Octokit clients with different tokens for multi-token workflows, GitHub App tokens, and cross-org access. See <a href="https://github.com/actions/github-script#creating-additional-clients-with-getoctokit">Creating additional clients with <code>getOctokit</code></a> for details and examples.</li> <li><strong>Orchestration ID in user-agent</strong> — The <code>ACTIONS_ORCHESTRATION_ID</code> environment variable is automatically appended to the user-agent string for request tracing.</li> </ul> <p><strong>Breaking changes:</strong></p> <ul> <li><strong><code>require('@actions/github')</code> no longer works in scripts.</strong> The upgrade to <code>@actions/github</code> v9 (ESM-only) means <code>require('@actions/github')</code> will fail at runtime. If you previously used patterns like <code>const { getOctokit } = require('@actions/github')</code> to create secondary clients, use the new injected <code>getOctokit</code> function instead — it's available directly in the script context with no imports needed.</li> <li><code>getOctokit</code> is now an injected function parameter. Scripts that declare <code>const getOctokit = ...</code> or <code>let getOctokit = ...</code> will get a <code>SyntaxError</code> because JavaScript does not allow <code>const</code>/<code>let</code> redeclaration of function parameters. Use the injected <code>getOctokit</code> directly, or use <code>var getOctokit = ...</code> if you need to redeclare it.</li> <li>If your script accesses other <code>@actions/github</code> internals beyond the standard <code>github</code>/<code>octokit</code> client, you may need to update those references for v9 compatibility.</li> </ul> <h2>What's Changed</h2> <ul> <li>Add ACTIONS_ORCHESTRATION_ID to user-agent string by <a href="https://github.com/Copilot"><code>@Copilot</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/695">actions/github-script#695</a></li> <li>ci: use deployment: false for integration test environments by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/712">actions/github-script#712</a></li> <li>feat!: add getOctokit to script context, upgrade <code>@actions/github</code> v9, <code>@octokit/core</code> v7, and related packages by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/700">actions/github-script#700</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Copilot"><code>@Copilot</code></a> made their first contribution in <a href="https://redirect.github.com/actions/github-script/pull/695">actions/github-script#695</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/github-script/compare/v8.0.0...v9.0.0">https://github.com/actions/github-script/compare/v8.0.0...v9.0.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/github-script/commit/3a2844b7e9c422d3c10d287c895573f7108da1b3"><code>3a2844b</code></a> Merge pull request <a href="https://redirect.github.com/actions/github-script/issues/700">#700</a> from actions/salmanmkc/expose-getoctokit + prepare re...</li> <li><a href="https://github.com/actions/github-script/commit/ca10bbdd1a7739de09e99a200c7a59f5d73a4079"><code>ca10bbd</code></a> fix: use <code>@octokit/core/</code>types import for v7 compatibility</li> <li><a href="https://github.com/actions/github-script/commit/86e48e20ac85c970ed1f96e718fd068173948b7b"><code>86e48e2</code></a> merge: incorporate main branch changes</li> <li><a href="https://github.com/actions/github-script/commit/c1084728b5b935ec4ddc1e4cee877b01797b3ff9"><code>c108472</code></a> chore: rebuild dist for v9 upgrade and getOctokit factory</li> <li><a href="https://github.com/actions/github-script/commit/afff112e4f8b57c718168af75b89ce00bc8d091d"><code>afff112</code></a> Merge pull request <a href="https://redirect.github.com/actions/github-script/issues/712">#712</a> from actions/salmanmkc/deployment-false + fix user-ag...</li> <li><a href="https://github.com/actions/github-script/commit/ff8117e5b78c415f814f39ad6998f424fee7b817"><code>ff8117e</code></a> ci: fix user-agent test to handle orchestration ID</li> <li><a href="https://github.com/actions/github-script/commit/81c6b7876079abe10ff715951c9fc7b3e1ab389d"><code>81c6b78</code></a> ci: use deployment: false to suppress deployment noise from integration tests</li> <li><a href="https://github.com/actions/github-script/commit/3953caf8858d318f37b6cc53a9f5708859b5a7b7"><code>3953caf</code></a> docs: update README examples from <a href="https://github.com/v8"><code>@v8</code></a> to <a href="https://github.com/v9"><code>@v9</code></a>, add getOctokit docs and v9 brea...</li> <li><a href="https://github.com/actions/github-script/commit/c17d55b90dcdb3d554d0027a6c180a7adc2daf78"><code>c17d55b</code></a> ci: add getOctokit integration test job</li> <li><a href="https://github.com/actions/github-script/commit/a047196d9a02fe92098771cafbb98c2f1814e408"><code>a047196</code></a> test: add getOctokit integration tests via callAsyncFunction</li> <li>Additional commits viewable in <a href="https://github.com/actions/github-script/compare/ed597411d8f924073f98dfc5c65a23a2325f34cd...3a2844b7e9c422d3c10d287c895573f7108da1b3">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
74ddf478b1 |
Accept copied FCC version output in bug reports (#1131)
## Problem Bug-report validation rejected the literal output of `fcc-server --version`, leaving reports labeled even when they contained an unambiguous FCC version. ## Changes | Before | After | | --- | --- | | The validator rejected `free-claude-code x.y.z` copied from the command output. | The validator silently accepts copied command output. | | The form requested a bare `x.y.z` value or `None`. | The form continues requesting a bare `x.y.z` value or `None`. | | Prefixed version input had no accepted exact shape. | Prefixed version input must exactly match `free-claude-code x.y.z`. | |
||
|
|
3f39937ec9 |
Validate FCC versions in bug reports (#1124)
## Problem Bug reports can satisfy the required FCC version field with ambiguous values such as `latest`, preventing reliable reproduction and regression analysis. ## Changes | Before | After | | --- | --- | | The form accepted any non-empty FCC version text. | The form requests only an `x.y.z` version or `None`. | | Invalid values required manual maintainer follow-up. | A dedicated workflow labels invalid reports and posts one correction prompt. | | Corrected reports retained manual triage state. | Editing the issue reruns validation and removes the workflow-owned label when valid. | <!-- greptile_comment --> <details open><summary><h3>Greptile Summary</h3></summary> This PR validates FCC versions supplied through the bug-report form. The main changes are: - Requests an exact `x.y.z` version or `None`. - Validates bug reports when opened or edited. - Adds and removes workflow-owned triage state. - Adds contract tests for parsing and workflow behavior. </details> <h3>Confidence Score: 5/5</h3> This looks safe to merge. No blocking issues found in the changed code. <details><summary><h3><a href="https://www.greptile.com/trex"><img alt="T-Rex" src="https://greptile-static-assets.s3.amazonaws.com/trex/trex_green.svg" height="20" align="absmiddle"></a> T-Rex Logs</h3></summary> **What T-Rex did** - T-Rex captured the initial state showing there was no version triage before capture. - After capture, the latest state showed a needs-fcc-version label added and one marked comment. - Repeat delivery then listed only comments. - In the 4.6.1 case, the needs-fcc-version label was removed. - With the None input, no API calls were made. <a href="https://app.greptile.com/trex/runs/14521311/artifacts"><picture><source media="(prefers-color-scheme: dark)" srcset="https://greptile-static-assets.s3.amazonaws.com/badges/ViewAllArtifactsDark.svg?v=4"><source media="(prefers-color-scheme: light)" srcset="https://greptile-static-assets.s3.amazonaws.com/badges/ViewAllArtifacts.svg?v=4"><img alt="View all artifacts" src="https://greptile-static-assets.s3.amazonaws.com/badges/ViewAllArtifacts.svg?v=4"></picture></a> <sub><a href="https://www.greptile.com/trex"><img alt="T-Rex" src="https://greptile-static-assets.s3.amazonaws.com/trex/trex_green.svg" height="14" align="absmiddle"></a> Ran code and verified through T-Rex</sub> </details> <details open><summary><h3>Important Files Changed</h3></summary> | Filename | Overview | |----------|----------| | .github/ISSUE_TEMPLATE/bug-report.yml | Updates the FCC version instructions and placeholder to require an exact version or `None`. | | .github/workflows/validate-bug-report-version.yml | Adds exact version validation with per-issue concurrency, idempotent comments, and label reconciliation after edits. | | tests/contracts/test_issue_form_version_validation.py | Adds contract coverage for form text, accepted and rejected values, field extraction, and triage operations. | </details> <sub>Reviews (1): Last reviewed commit: ["Validate FCC versions in bug reports"](https://github.com/alishahryar1/free-claude-code/commit/388fe8515d61bdd47bc6ee9e1c9034222940c3bf) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=44414967)</sub> <!-- /greptile_comment --> |