Skip to content

chore: sync upstream, configure hacktron, and automate deployment - #16

Merged
zeyu2001 merged 15 commits into
main-enterprisefrom
agent/sync-upstream-add-hacktron
Aug 8, 2026
Merged

chore: sync upstream, configure hacktron, and automate deployment#16
zeyu2001 merged 15 commits into
main-enterprisefrom
agent/sync-upstream-add-hacktron

Conversation

@zeyu2001

@zeyu2001 zeyu2001 commented Aug 8, 2026

Copy link
Copy Markdown
Member

Summary

  • merge github-community-projects/safe-settings:main-enterprise through abcf581 into the HacktronAI fork without rewriting HacktronAI history
  • add .github/repos/hacktron.yml for the private hacktron repository
  • preserve all three merge methods used by the repository and encode the current main and staging protections explicitly
  • replace the stale manual Azure deploy with a gated GCP/GKE test-build-deploy workflow
  • add Hacktron production Helm values and a secret-safe Kubernetes bootstrap helper

Evidence

  • 509 merged HacktronAI/hacktron PRs were inspected: 464 used merge commits and 45 used linear squash/rebase-style merges
  • the repository currently allows merge commits, squash merges, and rebase merges
  • main currently requires one approval, stale-review dismissal, code-owner review, last-push approval, core-team bypass/push restriction, admin enforcement, and permits force pushes
  • staging currently requires one approval without the additional main restrictions
  • neither protected branch currently requires status checks

Safety

  • the sync was performed as a normal merge on this branch
  • no force-push, reset, history rewrite, or direct default-branch update was used
  • after the merge, this branch is 0 commits behind upstream
  • production deploys use immutable SHA image tags and atomic Helm rollback
  • automatic deployment remains disabled until SAFE_SETTINGS_DEPLOY_ENABLED is deliberately changed from false to true
  • GitHub App credentials remain in the Kubernetes app-env Secret and are never copied into an image

Validation

  • hacktron.yml parsed successfully with js-yaml
  • hacktron.yml passed schema/dereferenced/repos.json
  • npm run test:unit: 16 suites passed, 137 tests passed
  • npm run lint:lockfile: passed
  • npm run lint:engines: passed
  • npm run lint:peer: passed
  • actionlint v1.7.12: passed
  • ShellCheck and bash -n for script/bootstrap-k8s-secret: passed
  • Helm lint and template rendering with values-hacktron.yaml: passed
  • local Docker image build: passed

CI

  • Node 22 test job: passed
  • Node 24 test job: passed
  • CodeQL actions analysis: passed
  • CodeQL JavaScript/TypeScript analysis: passed
  • Cursor Bugbot: passed

Local full-suite notes

  • the local npm test command also runs lint:es, which reports 145 source/test style findings outside hacktron.yml
  • the local CommonJS Jest integration harness cannot load Probot 14's ESM entrypoint; the repository's Node 22 and Node 24 CI test jobs both pass

Deployment activation still required

  • add GCP_WORKLOAD_IDENTITY_PROVIDER and GCP_SERVICE_ACCOUNT to the production environment
  • allow repo:HacktronAI/safe-settings:environment:production in the GCP Workload Identity provider
  • confirm the documented Artifact Registry repository and GKE cluster still exist
  • authenticate to GCP locally and run ./script/bootstrap-k8s-secret to create/update default/app-env
  • set repository variable SAFE_SETTINGS_DEPLOY_ENABLED=true only after those checks pass

The GitHub App is already installed organization-wide with the required events. Its current webhook points to Smee; deploying the pod with WEBHOOK_PROXY_URL in app-env makes Probot consume that channel without exposing a public ingress.

dependabot Bot and others added 15 commits June 5, 2026 20:21
Bumps the npm_and_yarn group with 1 update in the / directory: [uuid](https://github.com/uuidjs/uuid).


Updates `uuid` from 8.3.2 to 14.0.0
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](uuidjs/uuid@v8.3.2...v14.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-version: 14.0.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
* fix: apply org-level settings before loading repository configurations

* fix: enhance descriptions and add new properties for security features in settings.json

* fix: update description for deprecated squash-merge commit title property in settings.json

* fix issue with archived repos

---------

Co-authored-by: Yadhav Jayaraman <57544838+decyjphr@users.noreply.github.com>
…ot/npm_and_yarn/npm_and_yarn-e9ce4f7be9

Merging dependabot dependency bump: jest-junit ^16.0.0 → ^17.0.0. All checks passed.
…dates

Bumps the npm_and_yarn group with 3 updates in the / directory: [js-yaml](https://github.com/nodeca/js-yaml), [qs](https://github.com/ljharb/qs) and [shell-quote](https://github.com/ljharb/shell-quote).


Updates `js-yaml` from 4.1.1 to 4.2.0
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/commits)

Updates `qs` from 6.15.0 to 6.15.2
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](ljharb/qs@v6.15.0...v6.15.2)

Updates `shell-quote` from 1.8.3 to 1.8.4
- [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md)
- [Commits](ljharb/shell-quote@v1.8.3...v1.8.4)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.2.0
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: qs
  dependency-version: 6.15.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: shell-quote
  dependency-version: 1.8.4
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
…/allow-priorityclassname-in-helm-chart

feat(helm): add priorityClassName support
Team entries are filtered by the same Diffable include/exclude logic that
collaborators use, but unlike collaborators those keys were never part of the
TeamSettings schema or documented, so editors and linters can't validate them.

Mirror the CollaboratorSettings allOf pattern to declare include and exclude on
TeamSettings, document both in the teams guide with examples, add a sample, and
cover the filter path with unit tests. No runtime changes.
…ty-projects/dependabot/npm_and_yarn/npm_and_yarn-dc71bf58a9

build(deps): bump the npm_and_yarn group across 1 directory with 3 updates
…coder/team-include-exclude

fix: Add the missing include/exclude repo filters to team settings schema
@zeyu2001
zeyu2001 marked this pull request as ready for review August 8, 2026 09:15
@zeyu2001
zeyu2001 merged commit 592949b into main-enterprise Aug 8, 2026
8 checks passed
@zeyu2001 zeyu2001 changed the title chore: sync upstream and configure hacktron chore: sync upstream, configure hacktron, and automate deployment Aug 8, 2026
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.

5 participants