Summary
Pull requests that target develop (the workflow prescribed in CONTRIBUTING) do not run the unit or integration test suite in CI. Two problems in the PR test path:
- Trigger filter excludes
develop. .github/workflows/pull-request-received.yml runs run_tests.yml only when the PR's base branch matches feature/** | issue/** | issues/**. PRs into develop (or main) never match, so no test job runs — only pre-commit.ci / Snyk / Read the Docs checks appear.
- Missing required secrets.
run_tests.yml declares EARTHDATA_USERNAME and EARTHDATA_PASSWORD as required: true for workflow_call, but pull-request-received.yml passes only codecov_token. Even if the trigger fired, the reusable-workflow call would fail validation for the missing required secrets. (The release path, version-and-build.yml, passes all three correctly.)
Net effect: develop-targeted PRs get no automated pytest at all; only local runs validate them.
Proposed fix
pull-request-received.yml: add develop and main to the branches filter, and pass the Earthdata secrets through to run_tests.yml.
run_tests.yml: make the Earthdata secrets optional and gate the integration step on their presence, so PRs from forks (which have no secrets) still run the unit tests and simply skip integration, while same-repo PRs and the release path run the full suite.
Verification
- Opening this PR against
develop should itself trigger the test workflow (self-validating), since pull_request uses the head branch's workflow definition.
Summary
Pull requests that target
develop(the workflow prescribed in CONTRIBUTING) do not run the unit or integration test suite in CI. Two problems in the PR test path:develop..github/workflows/pull-request-received.ymlrunsrun_tests.ymlonly when the PR's base branch matchesfeature/** | issue/** | issues/**. PRs intodevelop(ormain) never match, so no test job runs — only pre-commit.ci / Snyk / Read the Docs checks appear.run_tests.ymldeclaresEARTHDATA_USERNAMEandEARTHDATA_PASSWORDasrequired: trueforworkflow_call, butpull-request-received.ymlpasses onlycodecov_token. Even if the trigger fired, the reusable-workflow call would fail validation for the missing required secrets. (The release path,version-and-build.yml, passes all three correctly.)Net effect: develop-targeted PRs get no automated pytest at all; only local runs validate them.
Proposed fix
pull-request-received.yml: adddevelopandmainto thebranchesfilter, and pass the Earthdata secrets through torun_tests.yml.run_tests.yml: make the Earthdata secrets optional and gate the integration step on their presence, so PRs from forks (which have no secrets) still run the unit tests and simply skip integration, while same-repo PRs and the release path run the full suite.Verification
developshould itself trigger the test workflow (self-validating), sincepull_requestuses the head branch's workflow definition.