-
Notifications
You must be signed in to change notification settings - Fork 216
Adopt Agent Plugins v1 package layout #757
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
Closed
matt-ramotar
wants to merge
2
commits into
MobileNativeFoundation:store6
from
matt-ramotar:plugins/canonical-agent-plugins
Closed
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| CONTRIBUTING.md | ||
| ROADMAP.md | ||
| STABILITY.md | ||
| docs/store6/important-defaults.md | ||
| docs/store6/invalidate-vs-clear.md | ||
| docs/store6/key-design.md | ||
| docs/store6/quickstart.md | ||
| llms.txt | ||
| store6-compose/README.md | ||
| store6-room/README.md | ||
| store6-sqldelight/README.md |
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,92 @@ | ||
| name: Store6 Benchmarks | ||
|
|
||
| # Non-blocking measurement lane. Report-only: runs the smoke configuration and uploads JSON | ||
| # results. NO step asserts against a number — no numeric performance target has been adopted | ||
| # (see store6-benchmarks/README.md for the CI boundary). This workflow is deliberately OUTSIDE | ||
| # the exact-head-green ready-gate convention, which continues to mean: the Store6 and CI | ||
| # workflows green at the head. | ||
| on: | ||
| workflow_dispatch: | ||
| pull_request: | ||
| branches: [ main, store6 ] | ||
| paths: | ||
| - 'store6-benchmarks/**' | ||
| - '.github/workflows/store6-benchmarks.yml' | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: store6-benchmarks-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| benchmarks-smoke: | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 45 | ||
| steps: | ||
| - name: Checkout the repo | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| persist-credentials: false | ||
|
|
||
| - name: Set up JDK | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| distribution: 'zulu' | ||
| java-version: '17' | ||
|
|
||
| - name: Set up Gradle | ||
| uses: gradle/actions/setup-gradle@v6 | ||
|
|
||
| - name: Grant execute permission for Gradlew | ||
| run: chmod +x gradlew | ||
|
|
||
| - name: Run smoke benchmarks (report-only; no thresholds) | ||
| run: ./gradlew :store6-benchmarks:smokeBenchmark --stacktrace | ||
|
|
||
| - name: Summarize results | ||
| shell: bash | ||
| run: | | ||
| set -euo pipefail | ||
| reports_dir="store6-benchmarks/build/reports/benchmarks" | ||
| mapfile -t json_reports < <(find "${reports_dir}" -type f -name '*.json' -print | LC_ALL=C sort) | ||
| report_count="${#json_reports[@]}" | ||
| if [[ "${report_count}" -ne 1 ]]; then | ||
| echo "ERROR: expected exactly one benchmark JSON under ${reports_dir}; found ${report_count}" >&2 | ||
| if [[ "${report_count}" -gt 0 ]]; then | ||
| printf ' %s\n' "${json_reports[@]}" >&2 | ||
| fi | ||
| exit 1 | ||
| fi | ||
| json="${json_reports[0]}" | ||
| if ! jq -e ' | ||
| type == "array" and | ||
| length > 0 and | ||
| all(.[]; | ||
| type == "object" and | ||
| ((.benchmark | type) == "string") and | ||
| ((.benchmark | length) > 0) and | ||
| ((has("params") | not) or ((.params | type) == "object")) and | ||
| ((.primaryMetric | type) == "object") and | ||
| ((.primaryMetric.score | type) == "number") and | ||
| ((.primaryMetric.scoreUnit | type) == "string") and | ||
| ((.primaryMetric.scoreUnit | length) > 0) | ||
| ) | ||
| ' "${json}" >/dev/null; then | ||
| echo "ERROR: benchmark JSON failed structural validation: ${json}" >&2 | ||
| exit 1 | ||
| fi | ||
| echo "Results from ${json} (smoke-grade numbers; hosted-runner noise applies — see store6-benchmarks/README.md):" | ||
| jq -r '.[] | [.benchmark, | ||
| ((.params // {}) | to_entries | map("\(.key)=\(.value)") | join(",")), | ||
| (.primaryMetric.score | tostring), | ||
| .primaryMetric.scoreUnit] | ||
| | @tsv' "${json}" | column -t -s $'\t' | ||
|
|
||
| - name: Upload benchmark results | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: store6-benchmarks-smoke-${{ github.run_id }} | ||
| path: store6-benchmarks/build/reports/benchmarks/ | ||
| if-no-files-found: error |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,71 @@ | ||
| name: Store6 full mutations JVM suite | ||
|
|
||
| on: | ||
| schedule: | ||
| - cron: '17 5 * * *' | ||
| workflow_dispatch: {} | ||
|
|
||
| permissions: | ||
| contents: read | ||
| issues: write | ||
|
|
||
| jobs: | ||
| full-mutations-jvm: | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 360 | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| persist-credentials: false | ||
|
|
||
| - name: Set up JDK 17 | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| distribution: 'zulu' | ||
| java-version: '17' | ||
|
|
||
| - name: Setup Gradle | ||
| uses: gradle/actions/setup-gradle@v6 | ||
|
|
||
| - name: Grant execute permission for Gradlew | ||
| run: chmod +x gradlew | ||
|
|
||
| - name: Run the FULL mutations JVM suite (Lincheck included) | ||
| run: ./gradlew :store6-mutations:jvmTest -Pstore6.fullJvmSuite --stacktrace | ||
|
|
||
| - name: Census — no suite may be lost | ||
| shell: bash | ||
| run: | | ||
| set -euo pipefail | ||
| expected=$(find store6-mutations/src/commonTest store6-mutations/src/jvmTest -name '*Test.kt' | wc -l | tr -d ' ') | ||
| executed=$(find store6-mutations/build/test-results/jvmTest -name 'TEST-*.xml' | wc -l | tr -d ' ') | ||
| echo "expected=${expected} executed=${executed}" | ||
| [ "${expected}" -eq "${executed}" ] | ||
|
|
||
| - name: Upload test results | ||
| if: ${{ always() }} | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: full-jvm-results-${{ github.run_id }}-${{ github.run_attempt }} | ||
| path: | | ||
| store6-mutations/build/test-results/**/*.xml | ||
| store6-mutations/build/reports/tests/** | ||
| if-no-files-found: warn | ||
| retention-days: 14 | ||
|
|
||
| - name: File the classification duty on failure | ||
| if: ${{ failure() }} | ||
| env: | ||
| GH_TOKEN: ${{ github.token }} | ||
| run: | | ||
| gh issue list -R "${GITHUB_REPOSITORY}" --state open \ | ||
| --search "Scheduled full mutations JVM suite red in:title" --json number \ | ||
| --jq '.[0].number' > /tmp/existing || true | ||
| body="Scheduled full-suite run ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID} failed. Classify per docs/v6 conduct (017 register / 031 job-cap class / novel). Never rerun for evidence." | ||
| if [ -s /tmp/existing ] && [ "$(cat /tmp/existing)" != "null" ] && [ -n "$(cat /tmp/existing)" ]; then | ||
| gh issue comment "$(cat /tmp/existing)" -R "${GITHUB_REPOSITORY}" --body "${body}" | ||
| else | ||
| gh issue create -R "${GITHUB_REPOSITORY}" \ | ||
| --title "Scheduled full mutations JVM suite red (${GITHUB_RUN_ID})" --body "${body}" | ||
| fi |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
CI downgrades to deprecated Node 20
Medium Severity
This commit replaces
actions/checkout@v6andactions/setup-java@v5with the v4 actions that still run on Node 20. GitHub is removing Node 20 from hosted runners on 2026-09-16, so these jobs are headed for runner breakage shortly after merge.Additional Locations (1)
.github/workflows/ci.yml#L80-L87Reviewed by Cursor Bugbot for commit 5512c45. Configure here.