-
Notifications
You must be signed in to change notification settings - Fork 1
feat: optimize processing, caching, and scope identity #25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
7ff1dcc
3555318
3f8cb2a
4b7da1d
8810301
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| #!/usr/bin/env node | ||
|
|
||
| const fs = require('node:fs'); | ||
|
|
||
| const REPORT = 'docs/performance/results/order-scale-language-summary.json'; | ||
| const expectedVersion = process.env.RELEASE_VERSION; | ||
|
|
||
| if (!expectedVersion) { | ||
| throw new Error('RELEASE_VERSION is required'); | ||
| } | ||
|
|
||
| const summary = JSON.parse(fs.readFileSync(REPORT, 'utf8')); | ||
| const candidate = summary.candidate || {}; | ||
| const expectedCoordinate = `blue.language:blue-language-java:${expectedVersion}`; | ||
| const failures = []; | ||
|
|
||
| if (candidate.coordinate !== expectedCoordinate) { | ||
| failures.push(`candidate coordinate must be ${expectedCoordinate}`); | ||
| } | ||
| if (candidate.releaseReady !== true) { | ||
| failures.push('candidate.releaseReady must be true'); | ||
| } | ||
| if (candidate.verdict !== 'YES') { | ||
| failures.push('candidate.verdict must be YES'); | ||
| } | ||
|
|
||
| if (failures.length > 0) { | ||
| console.error(`Release authorization failed in ${REPORT}:`); | ||
| failures.forEach((failure) => console.error(`- ${failure}`)); | ||
| process.exit(1); | ||
| } | ||
|
|
||
| console.log(`Release authorization confirmed for ${expectedCoordinate}`); | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,17 +3,25 @@ name: Release | |
| on: | ||
| workflow_dispatch: | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: release-stable | ||
| cancel-in-progress: false | ||
|
|
||
| jobs: | ||
| Release: | ||
| runs-on: ubuntu-latest | ||
| env: | ||
| CI: true | ||
| BLUE_RELEASE_CHANNEL: stable | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
When this manual release workflow runs from the current checkout, Useful? React with 👍 / 👎. |
||
| steps: | ||
| - name: Check out | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 | ||
| token: ${{ secrets.WORKFLOW_PAT }} | ||
| persist-credentials: false | ||
|
|
||
| - name: Check if branch is master | ||
| run: | | ||
|
|
@@ -38,7 +46,10 @@ jobs: | |
| uses: gradle/gradle-build-action@v2 | ||
|
|
||
| - name: Execute Gradle build | ||
| run: ./gradlew clean build | ||
| run: >- | ||
| ./gradlew clean build identityDifferentialTest | ||
| patchSequenceDifferentialTest memoryIntegrationTest cacheLifecycleTest | ||
| jmhClasses sourceReleaseArchive | ||
|
|
||
| - name: Execute Gradle publish | ||
| run: ./gradlew publish | ||
|
|
@@ -61,4 +72,5 @@ jobs: | |
| path: | | ||
| build/libs | ||
| build/publications | ||
| build/release | ||
| build/jreleaser | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the RC workflow this script is run immediately after
prepare-rc-release; I checked the repository and there is nodocs/performance/results/order-scale-language-summary.jsonor earlier workflow step that generates it, soreadFileSyncthrowsENOENTon every RC run before the build or publish can proceed. Add/generate the report in the workflow, or make this check consume an artifact that is actually present.Useful? React with 👍 / 👎.