matrixorigin / matrixorigin/matrixone
[Bug]: Matrixone CI reusable workflow requires unavailable EE_DB_* secrets
- Dominant language
- Go
- Stars
- 1.9k
- Forks
- 311
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 768
Description
## Is there an existing issue for the same bug?
- [x] I have checked the existing issues.
## Branch Name
main
## Commit ID
`2e51b761789d8fa7a1c685dc81c254430206da39`
## Other Environment Information
- Hardware parameters: GitHub Actions workflow evaluation; the failed job did not start a runner step.
- OS type: Ubuntu/x86 job definition (`ubuntu-22.04` in the reusable workflow).
- Others:
- GitHub Actions event: `pull_request_target`
- MatrixOne workflow run 33215648123, attempt 1
- Failing job: `Matrixone CI / UT Test on Ubuntu/x86`, job 99004089430
- MatrixOne caller: `.github/workflows/entrypoint.yaml`
- Reusable workflow: `matrixorigin/CI/.github/workflows/ci.yaml@main`
- Related PR: https://github.com/matrixorigin/matrixone/pull/27819
## Actual Behavior
The `Matrixone CI / UT Test on Ubuntu/x86` check fails during reusable-workflow validation before any build or unit-test step runs. The check annotation reports:
```text
Error when evaluating 'secrets'. .github/workflows/entrypoint.yaml (Line: 76, Col: 11): Secret EE_DB_ADDR is required, but not provided while calling.
Error when evaluating 'secrets'. .github/workflows/entrypoint.yaml (Line: 76, Col: 11): Secret EE_DB_PORT is required, but not provided while calling.
Error when evaluating 'secrets'. .github/workflows/entrypoint.yaml (Line: 76, Col: 11): Secret EE_DB_USER is required, but not provided while calling.
Error when evaluating 'secrets'. .github/workflows/entrypoint.yaml (Line: 76, Col: 11): Secret EE_DB_PASSWORD is required, but not provided while calling.
Error when evaluating 'secrets'. .github/workflows/entrypoint.yaml (Line: 76, Col: 11): Secret EE_DB_DB is required, but not provided while calling.
```
The failed job has an empty `steps` array and no downloadable log because GitHub rejects the workflow call before runner execution.
## Expected Behavior
The reusable CI workflow should be valid for MatrixOne pull requests and should start the required UT jobs. If the EE database is not needed by a given UT path, its secrets should not be required for that path; otherwise the required secrets must be configured in the repository or organization available to the caller.
## Steps to Reproduce
1. Run or synchronize a fork pull request targeting MatrixOne `main` with the `pull_request_target` entrypoint.
2. In `.github/workflows/entrypoint.yaml`, observe `matrixone-ci` calling `matrixorigin/CI/.github/workflows/ci.yaml@main` at line 76 with `secrets: inherit` at line 82.
3. In the current reusable workflow, observe that `EE_DB_ADDR`, `EE_DB_PORT`, `EE_DB_USER`, `EE_DB_PASSWORD`, and `EE_DB_DB` are declared under `on.workflow_call.secrets` with `required: true` (lines 36-50).
4. The MatrixOne repository secret list contains the S3 and other CI secrets but no `EE_DB_*` secrets.
5. Observe run 33215648123 fail job 99004089430 during workflow evaluation, before any UT step starts.
## Additional information
### Evidence
- Failing workflow run: https://github.com/matrixorigin/matrixone/actions/runs/33215648123
- Failing job: https://github.com/matrixorigin/matrixone/actions/runs/33215648123/job/99004089430
- Check-run annotation: https://api.github.com/repos/matrixorigin/matrixone/check-runs/99004089430/annotations
- The run is attempt 1; `gh api repos/matrixorigin/matrixone/actions/jobs/99004089430` reports `status: completed`, `conclusion: failure`, and no steps.
- Current MatrixOne caller lines 72-82 invoke the reusable CI workflow with inherited secrets.
- Current `matrixorigin/CI` `ci.yaml@main` declares all five `EE_DB_*` secrets as required.
- `gh secret list --repo matrixorigin/matrixone` showed no `EE_DB_ADDR`, `EE_DB_PORT`, `EE_DB_USER`, `EE_DB_PASSWORD`, or `EE_DB_DB` entries.
### Root-cause and scope analysis
The failure is a repository/workflow configuration problem: GitHub validates the required `workflow_call` secrets before scheduling the reusable workflow, and the MatrixOne caller cannot provide the five required EE database secrets. PR #27819 changes only `pkg/logservice/hakeeper_client_test.go`; it does not modify workflow files or secret configuration, and the failing job never executes that test. Therefore this CI blocker is unrelated to PR #27819 and cannot be fixed by changing its code.
Searches for `EE_DB_ADDR`, the exact required-secret error, and `secrets inherit` found only historical configuration PRs #19282, #20147, and the distinct fork-checkout issue #25917; none tracks this current missing-secret validation failure.
Please either configure the required EE database secrets for the MatrixOne CI caller or change the reusable workflow/caller contract so jobs that do not use the EE database do not require unavailable secrets. The resolution should preserve secret redaction and least-privilege behavior for fork pull requests.
Contributor guide
Assessment
This issue has not been assessed yet.