Skip to content

ci: add complete open source project infrastructure#13

Merged
yani- merged 1 commit intomasterfrom
oss-infrastructure
Mar 28, 2026
Merged

ci: add complete open source project infrastructure#13
yani- merged 1 commit intomasterfrom
oss-infrastructure

Conversation

@yani-
Copy link
Copy Markdown
Member

@yani- yani- commented Mar 28, 2026

Summary

  • Add community health files (CONTRIBUTING, CODE_OF_CONDUCT, SECURITY, issue/PR templates)
  • Add 3-platform CI with build, test, lint (clang-format v18), clazy (warn-only), and conventional commit enforcement
  • Add release-please for automated changelog and version management (seeded at v1.5.0)
  • Add auto-labeling PRs by file path (11 labels)
  • Add .clang-format, .editorconfig, .pre-commit-config.yaml for code style enforcement
  • Normalize all source files to consistent 4-space indent, Linux brace style
  • Add fuzz tests for .wpress parser (truncated, oversized, garbage, path traversal, malformed JSON)

Post-merge steps

After merging, run manually:

# Create labels for auto-labeler
gh label create "test" --description "Test suite changes" --color "0E8A16"
gh label create "crypto" --description "Encryption/decryption" --color "D93F0B"
gh label create "parser" --description "Backup file parsing" --color "1D76DB"
gh label create "build" --description "Build system/project files" --color "FBCA04"
gh label create "ci" --description "CI/CD workflows" --color "BFD4F2"
gh label create "ui" --description "User interface" --color "C5DEF5"
gh label create "extraction" --description "File extraction" --color "5319E7"
gh label create "vendor" --description "Vendored dependencies" --color "EDEDED"
gh label create "assets" --description "Icons and resources" --color "F9D0C4"
gh label create "installer" --description "Installer/packaging" --color "FEF2C0"
gh label create "docs" --description "Documentation" --color "0075CA"

# Enable branch protection on master
gh api repos/servmask/Qtraktor/branches/master/protection \
  --method PUT \
  --field required_status_checks='{"strict":true,"contexts":["Build & Test (Linux)","Build & Test (macOS)","Build & Test (Windows)","Code Style","Conventional Commits"]}' \
  --field enforce_admins=false \
  --field required_pull_request_reviews='{"required_approving_review_count":1}' \
  --field restrictions=null

Also enable GitHub Discussions in repo Settings > General > Features.

Test plan

  • CI runs on this PR (Linux, macOS, Windows build+test)
  • clang-format lint passes (all files normalized)
  • Fuzz tests pass on all platforms
  • After merge: verify release-please creates a Release PR on next feat: merge
  • After merge: verify auto-labeling works on next PR
  • After merge: verify branch protection blocks direct pushes

yani- added a commit that referenced this pull request Mar 28, 2026
Add community health files, CI pipeline, release automation, and code
style enforcement to make Qtraktor a contributor-ready open source project.

Community:
- CONTRIBUTING.md with build, test, and PR guidelines
- CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
- SECURITY.md with vulnerability reporting instructions
- YAML issue forms for bug reports and feature requests
- Pull request template with checklist

CI/CD:
- 3-platform CI workflow (Linux, macOS, Windows) with build and test
- clang-format lint with inline PR review comments (pinned to v18)
- clazy Qt-specific linter (warn-only, non-blocking)
- Conventional commit enforcement on PR titles
- Auto-labeling PRs by file path (11 labels)

Release automation:
- release-please for automated changelog and version management
- Seeded at v1.5.0 to match existing release history

Code style:
- .clang-format enforcing 4-space indent, Linux brace style
- .editorconfig for editor consistency
- .pre-commit-config.yaml for local format enforcement
- Normalize all source files to consistent style

Testing:
- Fuzz tests for .wpress parser (truncated, oversized, garbage,
  path traversal, boundary sizes, malformed JSON)
@yani- yani- force-pushed the oss-infrastructure branch from b2b91bc to 98b3643 Compare March 28, 2026 04:25
yani- added a commit that referenced this pull request Mar 28, 2026
Add community health files, CI pipeline, release automation, and code
style enforcement to make Qtraktor a contributor-ready open source project.

Community:
- CONTRIBUTING.md with build, test, and PR guidelines
- CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
- SECURITY.md with vulnerability reporting instructions
- YAML issue forms for bug reports and feature requests
- Pull request template with checklist

CI/CD:
- 3-platform CI workflow (Linux, macOS, Windows) with build and test
- clang-format lint with inline PR review comments (pinned to v18)
- clazy Qt-specific linter (warn-only, non-blocking)
- Conventional commit enforcement on PR titles
- Auto-labeling PRs by file path (11 labels)

Release automation:
- release-please for automated changelog and version management
- Seeded at v1.5.0 to match existing release history

Code style:
- .clang-format enforcing 4-space indent, Linux brace style
- .editorconfig for editor consistency
- .pre-commit-config.yaml for local format enforcement
- Normalize all source files to consistent style

Testing:
- Fuzz tests for .wpress parser (truncated, oversized, garbage,
  path traversal, boundary sizes, malformed JSON)
@yani- yani- force-pushed the oss-infrastructure branch from 98b3643 to 35c6032 Compare March 28, 2026 04:26
yani- added a commit that referenced this pull request Mar 28, 2026
Add community health files, CI pipeline, release automation, and code
style enforcement to make Qtraktor a contributor-ready open source project.

Community:
- CONTRIBUTING.md with build, test, and PR guidelines
- CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
- SECURITY.md with vulnerability reporting instructions
- YAML issue forms for bug reports and feature requests
- Pull request template with checklist

CI/CD:
- 3-platform CI workflow (Linux, macOS, Windows) with build and test
- clang-format lint with inline PR review comments (pinned to v18)
- clazy Qt-specific linter (warn-only, non-blocking)
- Conventional commit enforcement on PR titles
- Auto-labeling PRs by file path (11 labels)

Release automation:
- release-please for automated changelog and version management
- Seeded at v1.5.0 to match existing release history

Code style:
- .clang-format enforcing 4-space indent, Linux brace style
- .editorconfig for editor consistency
- .pre-commit-config.yaml for local format enforcement
- Normalize all source files to consistent style

Testing:
- Fuzz tests for .wpress parser (truncated, oversized, garbage,
  path traversal, boundary sizes, malformed JSON)
@yani- yani- force-pushed the oss-infrastructure branch from 35c6032 to e1a703f Compare March 28, 2026 04:32
yani- added a commit that referenced this pull request Mar 28, 2026
Add community health files, CI pipeline, release automation, and code
style enforcement to make Qtraktor a contributor-ready open source project.

Community:
- CONTRIBUTING.md with build, test, and PR guidelines
- CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
- SECURITY.md with vulnerability reporting instructions
- YAML issue forms for bug reports and feature requests
- Pull request template with checklist

CI/CD:
- 3-platform CI workflow (Linux, macOS, Windows) with build and test
- clang-format lint with inline PR review comments (pinned to v18)
- clazy Qt-specific linter (warn-only, non-blocking)
- Conventional commit enforcement on PR titles
- Auto-labeling PRs by file path (11 labels)

Release automation:
- release-please for automated changelog and version management
- Seeded at v1.5.0 to match existing release history

Code style:
- .clang-format enforcing 4-space indent, Linux brace style
- .editorconfig for editor consistency
- .pre-commit-config.yaml for local format enforcement
- Normalize all source files to consistent style

Testing:
- Fuzz tests for .wpress parser (truncated, oversized, garbage,
  path traversal, boundary sizes, malformed JSON)
@yani- yani- force-pushed the oss-infrastructure branch from e1a703f to 25b1add Compare March 28, 2026 04:36
yani- added a commit that referenced this pull request Mar 28, 2026
Add community health files, CI pipeline, release automation, and code
style enforcement to make Qtraktor a contributor-ready open source project.

Community:
- CONTRIBUTING.md with build, test, and PR guidelines
- CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
- SECURITY.md with vulnerability reporting instructions
- YAML issue forms for bug reports and feature requests
- Pull request template with checklist

CI/CD:
- 3-platform CI workflow (Linux, macOS, Windows) with build and test
- clang-format lint with inline PR review comments (pinned to v18)
- clazy Qt-specific linter (warn-only, non-blocking)
- Conventional commit enforcement on PR titles
- Auto-labeling PRs by file path (11 labels)

Release automation:
- release-please for automated changelog and version management
- Seeded at v1.5.0 to match existing release history

Code style:
- .clang-format enforcing 4-space indent, Linux brace style
- .editorconfig for editor consistency
- .pre-commit-config.yaml for local format enforcement
- Normalize all source files to consistent style

Testing:
- Fuzz tests for .wpress parser (truncated, oversized, garbage,
  path traversal, boundary sizes, malformed JSON)
@yani- yani- force-pushed the oss-infrastructure branch from 25b1add to 03b0d65 Compare March 28, 2026 04:48
yani- added a commit that referenced this pull request Mar 28, 2026
Add community health files, CI pipeline, release automation, and code
style enforcement to make Qtraktor a contributor-ready open source project.

Community:
- CONTRIBUTING.md with build, test, and PR guidelines
- CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
- SECURITY.md with vulnerability reporting instructions
- YAML issue forms for bug reports and feature requests
- Pull request template with checklist

CI/CD:
- 3-platform CI workflow (Linux, macOS, Windows) with build and test
- clang-format lint with inline PR review comments (pinned to v18)
- clazy Qt-specific linter (warn-only, non-blocking)
- Conventional commit enforcement on PR titles
- Auto-labeling PRs by file path (11 labels)

Release automation:
- release-please for automated changelog and version management
- Seeded at v1.5.0 to match existing release history

Code style:
- .clang-format enforcing 4-space indent, Linux brace style
- .editorconfig for editor consistency
- .pre-commit-config.yaml for local format enforcement
- Normalize all source files to consistent style

Testing:
- Fuzz tests for .wpress parser (truncated, oversized, garbage,
  path traversal, boundary sizes, malformed JSON)
@yani- yani- force-pushed the oss-infrastructure branch from 03b0d65 to 556189b Compare March 28, 2026 04:51
yani- added a commit that referenced this pull request Mar 28, 2026
Add community health files, CI pipeline, release automation, and code
style enforcement to make Qtraktor a contributor-ready open source project.

Community:
- CONTRIBUTING.md with build, test, and PR guidelines
- CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
- SECURITY.md with vulnerability reporting instructions
- YAML issue forms for bug reports and feature requests
- Pull request template with checklist

CI/CD:
- 3-platform CI workflow (Linux, macOS, Windows) with build and test
- clang-format lint with inline PR review comments (pinned to v18)
- clazy Qt-specific linter (warn-only, non-blocking)
- Conventional commit enforcement on PR titles
- Auto-labeling PRs by file path (11 labels)

Release automation:
- release-please for automated changelog and version management
- Seeded at v1.5.0 to match existing release history

Code style:
- .clang-format enforcing 4-space indent, Linux brace style
- .editorconfig for editor consistency
- .pre-commit-config.yaml for local format enforcement
- Normalize all source files to consistent style

Testing:
- Fuzz tests for .wpress parser (truncated, oversized, garbage,
  path traversal, boundary sizes, malformed JSON)
@yani- yani- force-pushed the oss-infrastructure branch from 556189b to 35a3256 Compare March 28, 2026 04:53
Add community health files, CI pipeline, release automation, and code
style enforcement to make Qtraktor a contributor-ready open source project.

Community:
- CONTRIBUTING.md with build, test, and PR guidelines
- CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
- SECURITY.md with vulnerability reporting instructions
- YAML issue forms for bug reports and feature requests
- Pull request template with checklist

CI/CD:
- 3-platform CI workflow (Linux, macOS, Windows) with build and test
- clang-format lint with inline PR review comments (pinned to v18)
- clazy Qt-specific linter (warn-only, non-blocking)
- Conventional commit enforcement on PR titles
- Auto-labeling PRs by file path (11 labels)

Release automation:
- release-please for automated changelog and version management
- Seeded at v1.5.0 to match existing release history

Code style:
- .clang-format enforcing 4-space indent, Linux brace style
- .editorconfig for editor consistency
- .pre-commit-config.yaml for local format enforcement
- Normalize all source files to consistent style

Testing:
- Fuzz tests for .wpress parser (truncated, oversized, garbage,
  path traversal, boundary sizes, malformed JSON)
@yani- yani- force-pushed the oss-infrastructure branch from 35a3256 to af768e8 Compare March 28, 2026 04:57
@yani- yani- merged commit 35a50da into master Mar 28, 2026
5 checks passed
@yani- yani- deleted the oss-infrastructure branch March 28, 2026 05:00
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.

1 participant