Skip to content
Closed
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions .github/workflows/alpha-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,11 @@ concurrency:

jobs:
# Alpha releases run unit tests first
alpha-testing:
name: Alpha Testing
if: ${{ !contains(github.event.head_commit.message, 'πŸ”„ Update version') && !contains(github.event.head_commit.message, 'πŸ€– Update API clients') && !contains(github.event.head_commit.message, 'Alpha release') && !contains(github.event.head_commit.message, 'πŸš€') && !contains(github.event.head_commit.message, 'proxy-smart-releaser') }}
uses: ./.github/workflows/testing-strategy.yml
with:
test_stage: 'alpha'
test_scope: 'unit'

alpha-release:
name: Alpha Release
# Only run if the last commit is not a release commit to avoid infinite loops
if: ${{ !contains(github.event.head_commit.message, 'πŸ”„ Update version') && !contains(github.event.head_commit.message, 'πŸ€– Update API clients') && !contains(github.event.head_commit.message, 'Alpha release') && !contains(github.event.head_commit.message, 'πŸš€') && !contains(github.event.head_commit.message, 'proxy-smart-releaser') }}
needs: [alpha-testing]
uses: ./.github/workflows/release-orchestrator.yml
with:
release_type: 'alpha'
Expand All @@ -43,3 +35,12 @@ jobs:
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}

alpha-testing:
name: Alpha Testing
needs: alpha-release
if: ${{ !contains(github.event.head_commit.message, 'πŸ”„ Update version') && !contains(github.event.head_commit.message, 'πŸ€– Update API clients') && !contains(github.event.head_commit.message, 'Alpha release') && !contains(github.event.head_commit.message, 'πŸš€') && !contains(github.event.head_commit.message, 'proxy-smart-releaser') }}
uses: ./.github/workflows/testing-strategy.yml
with:
test_stage: 'alpha'
test_scope: 'unit'
19 changes: 9 additions & 10 deletions .github/workflows/beta-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,10 @@ concurrency:
cancel-in-progress: false

jobs:
# Beta releases run comprehensive testing (unit + integration + E2E)
beta-testing:
name: Beta Testing
if: ${{ !contains(github.event.head_commit.message, 'πŸ”„ Update version') && !contains(github.event.head_commit.message, 'πŸ€– Update API clients') && !contains(github.event.head_commit.message, 'Beta release') && !contains(github.event.head_commit.message, 'πŸš€') && !contains(github.event.head_commit.message, 'proxy-smart-releaser') }}
uses: ./.github/workflows/testing-strategy.yml
with:
test_stage: 'beta'
test_scope: 'all'

beta-release:
name: Beta Release
# Only run if the last commit is not a release commit to avoid infinite loops
if: ${{ !contains(github.event.head_commit.message, 'πŸ”„ Update version') && !contains(github.event.head_commit.message, 'πŸ€– Update API clients') && !contains(github.event.head_commit.message, 'Beta release') && !contains(github.event.head_commit.message, 'πŸš€') && !contains(github.event.head_commit.message, 'proxy-smart-releaser') }}
needs: [beta-testing]
uses: ./.github/workflows/release-orchestrator.yml
with:
release_type: 'beta'
Expand All @@ -43,3 +33,12 @@ jobs:
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}

beta-testing:
name: Beta Testing
needs: beta-release
if: ${{ !contains(github.event.head_commit.message, 'πŸ”„ Update version') && !contains(github.event.head_commit.message, 'πŸ€– Update API clients') && !contains(github.event.head_commit.message, 'Beta release') && !contains(github.event.head_commit.message, 'πŸš€') && !contains(github.event.head_commit.message, 'proxy-smart-releaser') }}
uses: ./.github/workflows/testing-strategy.yml
with:
test_stage: 'beta'
test_scope: 'all'
24 changes: 12 additions & 12 deletions .github/workflows/production-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,19 +51,9 @@ jobs:
echo "should_release=true" >> $GITHUB_OUTPUT
fi

# Production releases run full security and compliance testing
production-testing:
name: Production Testing (Security & Compliance)
needs: check-changes
if: ${{ needs.check-changes.outputs.should_release == 'true' && !contains(github.event.head_commit.message, 'πŸ”„ Update version') && !contains(github.event.head_commit.message, 'πŸ€– Update API clients') && !contains(github.event.head_commit.message, 'Production release') && !contains(github.event.head_commit.message, 'πŸŽ‰') }}
uses: ./.github/workflows/testing-strategy.yml
with:
test_stage: "production"
test_scope: "all"

production-release:
name: Production Release
needs: [check-changes, production-testing]
needs: [check-changes]
# Only run if the last commit is not a release commit AND there are non-documentation changes
if: ${{ needs.check-changes.outputs.should_release == 'true' && !contains(github.event.head_commit.message, 'πŸ”„ Update version') && !contains(github.event.head_commit.message, 'πŸ€– Update API clients') && !contains(github.event.head_commit.message, 'Production release') && !contains(github.event.head_commit.message, 'πŸŽ‰') }}
uses: ./.github/workflows/release-orchestrator.yml
Expand Down Expand Up @@ -141,10 +131,20 @@ jobs:
2. Fix any issues that caused the release to fail in the test branch
3. Re-test the changes thoroughly
4. Merge this PR when ready to retry the production release

**This PR uses the test branch to retry the failed production release.**" \
--base main \
--head "test" \
--label "retry,release-failure,high-priority"
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}

# Production releases run full security and compliance testing
production-testing:
name: Production Testing (Security & Compliance)
needs: [check-changes, production-release]
if: ${{ needs.check-changes.outputs.should_release == 'true' && !contains(github.event.head_commit.message, 'πŸ”„ Update version') && !contains(github.event.head_commit.message, 'πŸ€– Update API clients') && !contains(github.event.head_commit.message, 'Production release') && !contains(github.event.head_commit.message, 'πŸŽ‰') }}
uses: ./.github/workflows/testing-strategy.yml
with:
test_stage: "production"
test_scope: "all"