Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 14 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Default — all PRs require review from a maintainer
* @dgtalbug

# CLI entry point and release config — needs careful sign-off
cmd/arc/ @dgtalbug
.goreleaser*.yaml @dgtalbug

# CI/CD changes always go through the same owner
.github/ @dgtalbug

# UI components
pkg/ui/ @dgtalbug
pkg/ui.legacy/ @dgtalbug
internal/branding/ @dgtalbug
814 changes: 814 additions & 0 deletions .github/agents/arc-cli.agent.md

Large diffs are not rendered by default.

47 changes: 28 additions & 19 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,44 @@
# Add 'feature' label to any PR branch starting with 'feature/' or 'feat/'
# ── Type labels (branch name = developer intent) ────────────────────────────

feature:
- head-branch: ['^feature/.*', '^feat/.*']

# Add 'bug' label to any PR branch starting with 'bug/' or 'fix/'
bug:
- head-branch: ['^bug/.*', '^fix/.*']

# Add 'documentation' label for changes in the 'docs/' folder
performance:
- head-branch: ['^perf/.*']

security:
- head-branch: ['^security/.*', '^sec/.*']

breaking:
- head-branch: ['^breaking/.*', '^break/.*']

chore:
- head-branch: ['^chore/.*']

maintenance:
- head-branch: ['^refactor/.*', '^cleanup/.*']

# ── Area labels (file changes = automatic) ───────────────────────────────────

documentation:
- changed-files:
- any-glob-to-any-file: ['docs/**']
- any-glob-to-any-file: ['docs/**', 'docs-site/**', '**/*.md']

# Add 'ci' label for changes to GitHub Actions workflows
ci:
- changed-files:
- any-glob-to-any-file: ['.github/workflows/**']
- any-glob-to-any-file: ['.github/**', '.goreleaser*.yaml']

testing:
- changed-files:
- any-glob-to-any-file: ['**/*_test.go', 'tests/**']

performance:
- head-branch: ['^perf/']

security:
- head-branch: ['^security/', '^sec/']

breaking:
- head-branch: ['^breaking/']

chore:
- head-branch: ['^chore/']
- any-glob-to-any-file: ['**/*_test.go', 'tests/**']

ui:
- changed-files:
- any-glob-to-any-file: ['pkg/ui/**', 'pkg/ui.legacy/**', 'internal/branding/**']

dependencies:
- changed-files:
- any-glob-to-any-file: ['go.mod', 'go.sum']
44 changes: 7 additions & 37 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
name: Benchmark

on:
push:
branches: [main]
workflow_call:

permissions:
contents: write
pull-requests: write
pages: write
id-token: write

jobs:
benchmark:
Expand All @@ -17,12 +17,12 @@ jobs:
has_benchmarks: ${{ steps.check_results.outputs.has_benchmarks }}
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v6
uses: actions/setup-go@v5
with:
go-version: '1.24'
go-version: "1.24"

- name: Run benchmarks
run: |
Expand Down Expand Up @@ -61,7 +61,7 @@ jobs:
if: steps.check_results.outputs.has_benchmarks == 'true' && ((github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_call')
with:
name: Go Benchmark
tool: 'go'
tool: "go"
output-file-path: benchmark.txt
github-token: ${{ secrets.GITHUB_TOKEN }}
auto-push: true
Expand All @@ -73,39 +73,9 @@ jobs:
continue-on-error: true
with:
name: Go Benchmark
tool: 'go'
tool: "go"
output-file-path: benchmark.txt
github-token: ${{ secrets.GITHUB_TOKEN }}
auto-push: false
comment-always: true
fail-on-alert: false

- name: Checkout gh-pages branch
if: steps.check_results.outputs.has_benchmarks == 'true' && ((github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_call')
uses: actions/checkout@v6
with:
ref: gh-pages
path: ./gh-pages

- name: Upload artifact
if: steps.check_results.outputs.has_benchmarks == 'true' && ((github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_call')
uses: actions/upload-pages-artifact@v3
with:
path: ./gh-pages

deploy:
needs: benchmark
if: needs.benchmark.outputs.has_benchmarks == 'true' && (github.event_name == 'workflow_call' || (github.event_name == 'push' && github.ref == 'refs/heads/main'))
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
- name: Print Deployment Summary
if: always()
run: |
echo "✅ Deployment to GitHub Pages complete."
echo "URL: ${{ steps.deployment.outputs.page_url }}"
Loading
Loading