bobbai00 opened a new pull request, #4734:
URL: https://github.com/apache/texera/pull/4734

   ### What changes were proposed in this PR?
   
   New workflow `.github/workflows/license-binary-nightly.yml` — the second 
sub-task of the license-binary relaxation effort (#4691 was the first; this is 
#4692).
   
   PR builds run `check_binary_deps.py` with `--ignore-transitive-version` so 
benign upstream version bumps on transitive deps don't block unrelated PRs. 
With that relaxation in place, transitive version drift would otherwise become 
invisible. This nightly job runs the same four checks **without** that flag — 
strict exact-match — and surfaces drift through a single GitHub issue:
   
   - **Trigger:** `schedule` at 07:00 UTC daily, plus `workflow_dispatch` for 
manual runs.
   - **Per-ecosystem jobs** (`frontend-npm`, `agent-npm`, `python`, `jar`) each 
rebuild the dist the same way `build.yml` does and invoke the strict check. 
`continue-on-error: true` on the check step ensures one ecosystem failing 
doesn't skip the others; per-job results are uploaded as artifacts.
   - **`jar` job** runs a unified check across every dist's `lib/` directory 
rather than a per-service matrix. Per-service placement errors are already 
caught by `build.yml` on every PR; the nightly's job is exact-version drift, 
which the unified check surfaces just as well at a fraction of the matrix cost.
   - **`report` job** (`needs: [...]`, `if: always()`) downloads the 
per-ecosystem artifacts and runs an `actions/github-script` step that:
     - finds the open issue tagged with the stable label `license-binary-drift`,
     - **on drift** — updates that issue's body with the per-ecosystem diff (or 
creates one if none exists, labeling it `license-binary-drift` + `ci`),
     - **on clean run** — closes the open tracking issue (with an explanatory 
comment) so the steady state is empty,
     - **off the default branch** — skips issue management entirely so 
`workflow_dispatch` on feature branches still runs the checks but does not 
surface issues.
   - **Required-checks gate:** unaffected — this workflow runs on its own 
schedule and is not referenced from `required-checks.yml`.
   
   ### Any related issues, documentation, discussions?
   
   Resolves #4692. Sibling: #4691 / #4693 (PR-time relaxation that this nightly 
counterbalances). Parent: #4688.
   
   ### How was this PR tested?
   
   YAML structure validated with PyYAML; the embedded `actions/github-script` 
body run end-to-end under Node with stubbed `github` / `context` / `core` 
against three scenarios:
   
   | Scenario | Behavior |
   | --- | --- |
   | Drift on `main`, existing tracking issue | Update issue title + body, log 
"Updated tracking issue #N" |
   | Drift on `main`, no existing issue | Create issue with stable label 
`license-binary-drift` + `ci` |
   | Drift but ref is `refs/heads/feature-branch` (workflow_dispatch) | Log 
"Not on default branch; skipping" — no issue surfaced |
   | Clean run, existing tracking issue | Close issue with explanatory comment |
   | Clean run, no existing issue | No-op |
   
   Cron-vs-manual semantics tested by toggling `eventName` between `schedule` 
and `workflow_dispatch` in the stub `context`. The first real nightly run after 
merge will exercise the workflow against the live combined LICENSE-binary on 
`main`.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (claude-opus-4-7)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to