Skip to content

CI and repo automation: resemble ArcadeData/arcadedb (labels, milestones, issue classification, PR template, ...) #251

Closed

Description

@tae898

ArcadeData/arcadedb automates labels, milestones, issue triage, dependency merges and hygiene checks on GitHub; this repository has none of it, so labels, milestones and Dependabot pull requests are handled by hand. The goal is to make it resemble upstream wherever that works for a Python bindings repository without a new secret, a GitHub App or a repository setting.

What upstream does, read from main: labels come from the issue classifier (a model call) and from people; milestones (one per release version, with a due date) are set by hand by maintainers on every merged pull request and closed issue; the in-progress label, Dependabot merging, gitignore hygiene, REUSE and licence checks are workflows.

Each upstream piece and what happens to it here:

Upstream file Status Here
classify-issue.yml adapted classify-issue.yml: rule-based only. The package comes from the bug form dropdown (native, jvm), topic words give vector, performance, concurrency, timeseries; only labels that exist are added, never removed. Upstream's model call (labels, severity:*) and the sponsor high_priority job are not ported
label-issue-in-progress.yml ported label-issue-in-progress.yml, same trigger and logic (GitHub's closingIssuesReferences)
dependabot-auto-merge.yml adapted dependabot-auto-merge.yml plus .github/scripts/dependabot_merge.py. Upstream merges on one human approval with no green condition. Here it polls hourly and squash-merges patch and minor updates only when the check list is not empty, every check succeeded and the PR is mergeable and clean; majors and grouped updates stay open. Pinned to the inspected head SHA
milestones (done by hand upstream) adapted assign-milestone.yml: on merge, the PR and the issues it closes get the open milestone due first, if they have none. Dependabot PRs and issues closed as not planned are skipped
pull_request_template.md adapted .github/pull_request_template.md: Closes #N, timed A/B result for performance changes, docs touched, test and pre-commit checklist
ISSUE_TEMPLATE.md adapted ISSUE_TEMPLATE/bug_report.yml and feature_request.yml (package dropdown feeds the classifier), config.yml linking engine bugs to the upstream repository; the existing release.md stays
gitignore-hygiene.yml ported gitignore-hygiene.yml, the tracked-file check (the second check is for Java source trees)
dependency-review-config.yml and the Dependency Review job of studio-security-audit.yml adapted dependency-review.yml and dependency-review-config.yml: moderate or worse vulnerabilities and GPL, AGPL, SSPL licences fail a PR; the npm-specific parts are dropped
dependabot.yml already in place unchanged: pip and github-actions, weekly, 3-day cooldown
merge-related-issues.yml not ported asks a model to group issues and closes them; needs a token (see below)
claude.yml, claude-code-review.yml not ported need a Claude token and the Claude GitHub app (see below)
license-compliance.yml not ported Maven based; here the dependency floor audit (pip-audit) and scripts/verify_wheel_licences.py cover it
reuse-compliance.yml not ported reuse lint fails on this repository today (no LICENSES/Apache-2.0.txt, files under native/ and scripts/ without headers, an invalid expression in native/wheel/THIRD_PARTY_NOTICES.md); the workflow would be red on every PR
.github/scripts/check-* not ported guards for the Maven, GraalVM and Java test layout of the engine repository

Needs the maintainers (not added, nothing here can do it without them):

  • claude.yml, claude-code-review.yml, the model step of classify-issue.yml (which also sets the severity:* labels) and merge-related-issues.yml: a CLAUDE_CODE_OAUTH_TOKEN repository secret and the Claude GitHub App installed on the repository; the first two also use id-token: write.
  • high_priority for sponsors: GitHub Sponsors on the organization.
  • Event-driven Dependabot merging (gh pr merge --auto): the repository setting "Allow auto-merge" and branch protection on main with required status checks. Neither is on, which is why the merge workflow polls with its own green gate.
  • reuse-compliance.yml: a decision on licence annotations for native/ and the third-party notices, then adding LICENSES/Apache-2.0.txt.
  • dependency-review.yml needs "Dependency graph" enabled (the default for a public repository).

🤖 Generated with Claude Code

Activity

  1. tae898 commented on Nov 5, 2026

    @tae898
    CollaboratorAuthor

    Decision 2026-11-05: the workflows that need CLAUDE_CODE_OAUTH_TOKEN and the Claude GitHub App (claude.yml, claude-code-review.yml, the model-based part of classify-issue.yml with its severity:* labels, and merge-related-issues.yml) are skipped for now. The rule-based workflows in #252 cover labels, the in-progress state and milestones without a secret. This can be revisited later.

  2. added this to the 26.11.1 milestone on Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    github_actionsPull requests that update GitHub Actions code

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions