Skip to content

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Qbox-project/.github

Central configuration for the Qbox-project GitHub organization. This repository replaces the former github-docs file-sync approach with native GitHub org defaults and reusable workflows.

Repository layout

Qbox-project/.github/           (this repo)
├── profile/README.md           Org profile page
├── README.md                   This guide
└── .github/
    ├── CODE_OF_CONDUCT.md      Org-wide default
    ├── contributing.md         Org-wide default
    ├── pull_request_template.md Org-wide default
    ├── ISSUE_TEMPLATE/         Org-wide default
    └── workflows/              Reusable workflow_call workflows

All org defaults and shared workflows live under .github/ in this repo. GitHub serves these as organization-wide defaults for any repo that does not define its own copies. See Creating a default community health file.

Reusable workflows

Resource repos call these via workflow_call:

jobs:
  lint:
    uses: Qbox-project/.github/.github/workflows/lint.yml@main
    secrets: inherit
Workflow Inputs Secrets
lint.yml — —
release.yml version (required) APP_ID, PRIVATE_KEY
release-action.yml tag (optional) APP_ID, PRIVATE_KEY
release-artifacts.yml artifact-pattern (required), tag (optional) APP_ID, PRIVATE_KEY
discord-commit.yml — DISCORD_COMMIT_WEBHOOK
discord-release.yml — WEBHOOK_URL
issues-project.yml — APP_ID, PRIVATE_KEY

Compiled tools and editor packages

Use release-artifacts.yml for repositories that build binaries or VSIX packages. Keep the platform build jobs in the calling repository and upload their archives with actions/upload-artifact@v4. Once every build succeeds, call the shared publisher:

publish:
  needs: build
  uses: Qbox-project/.github/.github/workflows/release-artifacts.yml@main
  with:
    artifact-pattern: binary-*
  secrets: inherit

The caller must run on the release tag and allow contents: read. The publisher accepts flat ZIP, tar.gz and VSIX files, adds SHA256SUMS, and verifies that the tag matches the build's source commit. Release notes are generated from the commits since the previous tag, as in release-action.yml; the first tag of a repository gets an empty body. The GitHub App must be installed on the calling repository with permission to write repository contents.

This uses the App token so publishing a release also triggers a caller's release: published workflow. Call discord-release.yml from that event to announce releases; call discord-commit.yml on pushes to main for commit notifications. Both callers use secrets: inherit.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors