Repository navigation
Project Requirements gate: accept DEVIN_ORG_ID from a variable or secret; report setup errors on the PR - #45
Conversation
…ecret Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
There was a problem hiding this comment.
Note
Newer findings are available below. Devin Review posted a newer report on this PR, in addition to the findings presented here.
🔍 Devin Review: 1 flag
Not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Project Requirements: PASSPR #45 changes only the Project Requirements gate's CI tooling. The gate now reads DEVIN_ORG_ID from a repository variable first and falls back to a secret. When configuration is missing or invalid, it posts an error commit status and a PR comment that links the setup doc, as long as it still has GitHub access. All three requirements pass: the gate reference doc is updated to match, the change adds no site-specific coupling, and the new behavior has nominal and off-nominal tests that run in CI. All 35 gate-script tests pass locally.
Evaluated at Criteria: |
…kflow changes Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…path Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|



Summary
The first manual run of the Project Requirements gate (run 37666022613) failed with
Missing configuration: DEVIN_ORG_ID. The error appeared only in the Actions log; nothing was posted on the PR.1. Org ID from a variable or a secret. The workflow only read
vars.DEVIN_ORG_ID, so an org ID saved under Secrets came through as an empty string.2. Setup errors show up on the PR.
Config.from_envused to fail before the GitHub client existed, somain()could only print the error. It now also callsreport_setup_error:The Devin numeric settings are removed first so that a malformed one, such as
DEVIN_MAX_ACU=oops, is also reported on the PR. If the GitHub settings are missing too, or a GitHub call fails, the function logs a warning instead and the original error is preserved.main(http=http_json)now takes the HTTP function as a parameter so tests can call it.3. Tests. This PR was also the gate's first live run, and it returned
failon test coverage. To address that:DEVIN_ORG_IDexpression straight fromproject-requirements.ymland resolve its||chain againstvars/secrets. They cover variable only, secret only, variable taking precedence over secret, and both missing.main()tests cover a missingDEVIN_ORG_ID, a missingDEVIN_API_KEY, and a malformedDEVIN_MAX_ACU. Each asserts an error status, an actionable comment, exit code 1, and no Devin calls. Removing the reporter call, or the numeric-setting filter, makes these tests fail.project-requirements-tests.ymlnow also runs whenproject-requirements.ymlchanges.The setup table and the comment behavior in the docs are updated.
Link to Devin session: https://nasa-jpl-demo.devinenterprise.com/sessions/4be0d92fba4f4ec3b8e00342c356f8aa
Open in Devin Desktop: https://nasa-jpl-demo.devinenterprise.com/desktop/session/4be0d92fba4f4ec3b8e00342c356f8aa?variant=devin
Requested by: @jl-0