From bc427c38c801b0dade62d935fb2cc5348eeb4be9 Mon Sep 17 00:00:00 2001 From: Alexander Dines Date: Wed, 7 Jan 2026 17:16:45 -0800 Subject: [PATCH 1/2] cp dines --- .github/workflows/pr-title.yml | 51 ++++++++++++++++++++++++++++++++++ .github/workflows/release.yml | 18 ++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 .github/workflows/pr-title.yml create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/pr-title.yml b/.github/workflows/pr-title.yml new file mode 100644 index 00000000..cceffce8 --- /dev/null +++ b/.github/workflows/pr-title.yml @@ -0,0 +1,51 @@ +name: PR Title Check + +on: + pull_request: + types: [opened, edited, synchronize, reopened] + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: amannn/action-semantic-pull-request@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + # Configure which types are allowed + types: | + feat + fix + docs + style + refactor + perf + test + build + ci + chore + revert + # Require scope to be provided + requireScope: false + # Configure which scopes are allowed (empty = any scope allowed) + scopes: | + cli + mcp + devbox + blueprint + snapshot + config + auth + ui + deps + # Ensure the subject starts with a lowercase letter + subjectPattern: ^(?![A-Z]).+$ + subjectPatternError: | + The subject "{subject}" found in the pull request title "{title}" + should start with a lowercase letter. + + Examples: + - feat: add new devbox command + - fix(cli): resolve argument parsing issue + - docs: update README with usage examples + diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..a6e92348 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,18 @@ +name: Release + +on: + push: + branches: [main] + +permissions: + contents: write + pull-requests: write + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: googleapis/release-please-action@v4 + with: + release-type: node + From c20062772763795d358665dce3ee95fb4fc8db60 Mon Sep 17 00:00:00 2001 From: Alexander Dines Date: Wed, 7 Jan 2026 17:28:44 -0800 Subject: [PATCH 2/2] cp dines --- .github/workflows/ci.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4e267ae6..9ba5d64e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -87,3 +87,19 @@ jobs: name: component-coverage path: coverage/ retention-days: 7 + + ready-to-merge: + runs-on: ubuntu-latest + needs: [format, lint, build, test] + if: always() + steps: + - name: Check all jobs passed + run: | + if [[ "${{ needs.format.result }}" != "success" ]] || \ + [[ "${{ needs.lint.result }}" != "success" ]] || \ + [[ "${{ needs.build.result }}" != "success" ]] || \ + [[ "${{ needs.test.result }}" != "success" ]]; then + echo "One or more required jobs failed" + exit 1 + fi + echo "All required jobs passed!"