Skip to content

ci: Auto-regenerate packaging files on Dependabot PRs - #1763

Merged
adombeck merged 1 commit into
mainfrom
1759-automate-rust-packaging-file-u
Sep 2, 2026
Merged

ci: Auto-regenerate packaging files on Dependabot PRs#1763
adombeck merged 1 commit into
mainfrom
1759-automate-rust-packaging-file-u

Conversation

@adombeck

@adombeck adombeck commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Dependabot updates to the root Cargo and Go manifests can leave these files stale:

  • Cargo.lock
  • the XS-Vendored-Sources-Rust field in debian/control
  • debian/copyright for the vendor/ and vendor_rust/ trees

Updating these on the Dependabot PRs was a recurring manual chore.

Add a workflow that regenerates these files and pushes them to the PR branch.

Fixes #1759
UDENG-11145

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a GitHub Actions workflow to automatically regenerate Rust/Debian packaging artifacts (Cargo.lock normalization for Noble, XS-Vendored-Sources-Rust, and debian/copyright) on Dependabot dependabot/cargo/* pull requests, then push the regenerated files back to the PR branch so the PR becomes merge-ready without manual steps.

Changes:

  • Add a pull_request_target workflow triggered by Cargo.lock changes on Dependabot dependabot/cargo/* branches.
  • Install required Debian/Rust tooling in an ubuntu:noble container, regenerate vendored metadata and packaging files, then commit/push updates to the PR branch.
  • Implement concurrency controls to avoid overlapping runs per PR branch.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/update-rust-packaging-on-dependabot-pr.yaml Outdated
Comment thread .github/workflows/update-rust-packaging-on-dependabot-pr.yaml Outdated
Comment thread .github/workflows/update-rust-packaging-on-dependabot-pr.yaml Outdated
@adombeck
adombeck force-pushed the 1759-automate-rust-packaging-file-u branch 4 times, most recently from 7ed70dc to 5525c96 Compare August 12, 2026 10:41
@adombeck
adombeck requested a balanced review from Copilot August 12, 2026 11:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.

Comment thread .github/workflows/update-packaging-on-dependabot-pr.yaml
@adombeck
adombeck force-pushed the 1759-automate-rust-packaging-file-u branch 2 times, most recently from 5525c96 to 2c1609c Compare August 18, 2026 12:26
@adombeck
adombeck force-pushed the 1759-automate-rust-packaging-file-u branch from 2c1609c to 17d2982 Compare August 31, 2026 21:41
@adombeck adombeck changed the title ci: Auto-regenerate Rust packaging files on Dependabot cargo PRs ci: Auto-regenerate packaging files on Dependabot PRs Aug 31, 2026
@adombeck
adombeck marked this pull request as ready for review August 31, 2026 21:46

@nooreldeenmansour nooreldeenmansour left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
left few comments to consider, nothing blocking, approving in advance

Comment thread .github/workflows/update-packaging-on-dependabot-pr.yaml Outdated
Comment thread .github/workflows/update-packaging-on-dependabot-pr.yaml
Comment thread .github/workflows/update-packaging-on-dependabot-pr.yaml Outdated
Comment thread .github/workflows/update-packaging-on-dependabot-pr.yaml Outdated
Dependabot updates to the root Cargo and Go manifests can leave these files
stale:
- Cargo.lock
- debian/control's XS-Vendored-Sources-Rust field
- debian/copyright for the vendor/ and vendor_rust/ trees

Regenerate the files and push them to the PR branch. Generate Cargo.lock and
XS-Vendored-Sources-Rust in Ubuntu Noble, which matches the package build and
its pinned Cargo. Noble's default Cargo cannot parse Cargo.toml, so put the
pinned Cargo bin directory first in PATH. Generate debian/copyright in
ubuntu:devel, which provides python3-anytree and matches the licenserecon
check.

Run generation with read-only permissions because Cargo, cargo-vendor-filterer,
Go, and the copyright script may run dependency code. Let the separate
write-scoped job apply the artifact and push it without running PR code.

Fixes #1759

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@adombeck
adombeck force-pushed the 1759-automate-rust-packaging-file-u branch from 17d2982 to ef4323c Compare September 2, 2026 14:59
@adombeck
adombeck merged commit b05a07c into main Sep 2, 2026
17 checks passed
@adombeck
adombeck deleted the 1759-automate-rust-packaging-file-u branch September 2, 2026 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Automate Rust packaging file updates on Dependabot PRs

3 participants