From 0e848fe181bae855074226693040d49783724833 Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Sun, 1 Feb 2026 17:35:23 +0200 Subject: [PATCH 01/16] Add CI workflow configuration for testing and compatibility checks --- .github/workflows/ci.yaml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 000000000..7020918cd --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,32 @@ +name: CI +on: + push: + branches: + - main + tags: + - '[0-9]+.[0-9]+.[0-9]+' + - '[0-9]+.[0-9]+.[0-9]+a[0-9]+' + - '[0-9]+.[0-9]+.[0-9]+b[0-9]+' + pull_request: + issue_comment: + types: + - created + - edited + workflow_dispatch: + release: + types: + - published +jobs: + test: + name: Test + if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' || github.ref_name == 'main' }} + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v5.0.0 + - name: Test + uses: AlphaSphereDotAI/helpr_action@main + with: + is_test: true + test_dependency_compatibility: true + dependency_compatibility_tool: uv From e7e46b3e8418d236c59998a15440808fbb643b02 Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Sun, 1 Feb 2026 18:26:09 +0200 Subject: [PATCH 02/16] Update helpr_action version in CI workflow --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 7020918cd..d8717c6f0 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -25,7 +25,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v5.0.0 - name: Test - uses: AlphaSphereDotAI/helpr_action@main + uses: AlphaSphereDotAI/helpr_action@test with: is_test: true test_dependency_compatibility: true From 141697708c39fb55f6c3809629432b5441961f06 Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Sun, 1 Feb 2026 21:46:02 +0200 Subject: [PATCH 03/16] Modify CI to focus on code testing --- .github/workflows/ci.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index d8717c6f0..4f4fa1a4e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -28,5 +28,4 @@ jobs: uses: AlphaSphereDotAI/helpr_action@test with: is_test: true - test_dependency_compatibility: true - dependency_compatibility_tool: uv + test_code: true From 163e0342f3513bbfb9b0feb3bd3d337796b999ae Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Sun, 1 Feb 2026 21:48:51 +0200 Subject: [PATCH 04/16] Add linter configuration to CI workflow --- .github/workflows/ci.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4f4fa1a4e..cd47e40b1 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -29,3 +29,4 @@ jobs: with: is_test: true test_code: true + linter: 'lint' From 23ab8d2c46750967cc509822804634197b35fef9 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Sun, 1 Feb 2026 19:50:45 +0000 Subject: [PATCH 05/16] [YamlFix] Apply linters fixes --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cd47e40b1..f8577d5b0 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -29,4 +29,4 @@ jobs: with: is_test: true test_code: true - linter: 'lint' + linter: lint From e475fd03995d96ef1d14d9a9b9fdc276fcc4f2e6 Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Thu, 19 Mar 2026 04:10:38 +0200 Subject: [PATCH 06/16] Add GH AW compile to CI --- .github/workflows/ci_tools.yaml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.github/workflows/ci_tools.yaml b/.github/workflows/ci_tools.yaml index 9f20696b3..4256a40ca 100644 --- a/.github/workflows/ci_tools.yaml +++ b/.github/workflows/ci_tools.yaml @@ -5,6 +5,9 @@ on: - created - edited workflow_dispatch: + push: + paths: + - .github/workflows/*.md permissions: contents: write jobs: @@ -39,3 +42,21 @@ jobs: with: commit_message: Sync uv.lock commit_options: --no-verify + gh-aw-compile: + if: github.event_name == 'push' + name: GH AW Compile + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + token: ${{ secrets.GH_TOKEN }} + - name: Install GH AW CLI + uses: github/gh-aw-actions/setup-cli@v0.61.2 + - name: Compile + run: gh aw compile + - name: Commit and push changes + uses: stefanzweifel/git-auto-commit-action@04702edda442b2e678b25b537cec683a1493fcb9 # v7.1.0 + with: + commit_message: Compile GH AW + commit_options: --no-verify \ No newline at end of file From 6ed266d9cf6753483015c1ad345dbc7465cde0c6 Mon Sep 17 00:00:00 2001 From: MH0386 <77013511+MH0386@users.noreply.github.com> Date: Thu, 19 Mar 2026 02:11:17 +0000 Subject: [PATCH 07/16] [YamlFix] Apply linters fixes --- .github/workflows/ci-coach.lock.yml | 187 +++++++++++++--------------- .github/workflows/ci_tools.yaml | 2 +- 2 files changed, 91 insertions(+), 98 deletions(-) diff --git a/.github/workflows/ci-coach.lock.yml b/.github/workflows/ci-coach.lock.yml index 41d455395..3fb69da37 100644 --- a/.github/workflows/ci-coach.lock.yml +++ b/.github/workflows/ci-coach.lock.yml @@ -26,29 +26,24 @@ # Source: githubnext/agentics/workflows/ci-coach.md@main # # gh-aw-metadata: {"schema_version":"v2","frontmatter_hash":"71ed1f84ea27c23ade87e558d8ba7d823fb9d746ac9a0933535f40d015d8162f","compiler_version":"v0.59.0","strict":true} - -name: "CI Optimization Coach" -"on": +name: CI Optimization Coach +on: schedule: - - cron: "14 22 * * *" + - cron: 14 22 * * * # Friendly format: daily (scattered) workflow_dispatch: - permissions: {} - concurrency: - group: "gh-aw-${{ github.workflow }}" - -run-name: "CI Optimization Coach" - + group: gh-aw-${{ github.workflow }} +run-name: CI Optimization Coach jobs: activation: runs-on: ubuntu-slim permissions: contents: read outputs: - comment_id: "" - comment_repo: "" + comment_id: '' + comment_repo: '' model: ${{ steps.generate_aw_info.outputs.model }} secret_verification_result: ${{ steps.validate-secret.outputs.verification_result }} steps: @@ -59,22 +54,22 @@ jobs: - name: Generate agentic run info id: generate_aw_info env: - GH_AW_INFO_ENGINE_ID: "gemini" - GH_AW_INFO_ENGINE_NAME: "Google Gemini CLI" + GH_AW_INFO_ENGINE_ID: gemini + GH_AW_INFO_ENGINE_NAME: Google Gemini CLI GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_CUSTOM || '' }} - GH_AW_INFO_VERSION: "" - GH_AW_INFO_AGENT_VERSION: "" - GH_AW_INFO_CLI_VERSION: "v0.59.0" - GH_AW_INFO_WORKFLOW_NAME: "CI Optimization Coach" - GH_AW_INFO_EXPERIMENTAL: "false" - GH_AW_INFO_SUPPORTS_TOOLS_ALLOWLIST: "true" - GH_AW_INFO_STAGED: "false" + GH_AW_INFO_VERSION: '' + GH_AW_INFO_AGENT_VERSION: '' + GH_AW_INFO_CLI_VERSION: v0.59.0 + GH_AW_INFO_WORKFLOW_NAME: CI Optimization Coach + GH_AW_INFO_EXPERIMENTAL: 'false' + GH_AW_INFO_SUPPORTS_TOOLS_ALLOWLIST: 'true' + GH_AW_INFO_STAGED: 'false' GH_AW_INFO_ALLOWED_DOMAINS: '["defaults","dotnet","node","python","rust","java"]' - GH_AW_INFO_FIREWALL_ENABLED: "false" - GH_AW_INFO_AWF_VERSION: "" - GH_AW_INFO_AWMG_VERSION: "" - GH_AW_INFO_FIREWALL_TYPE: "squid" - GH_AW_COMPILED_STRICT: "true" + GH_AW_INFO_FIREWALL_ENABLED: 'false' + GH_AW_INFO_AWF_VERSION: '' + GH_AW_INFO_AWMG_VERSION: '' + GH_AW_INFO_FIREWALL_TYPE: squid + GH_AW_COMPILED_STRICT: 'true' uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 with: script: | @@ -82,7 +77,8 @@ jobs: await main(core, context); - name: Validate GEMINI_API_KEY secret id: validate-secret - run: /opt/gh-aw/actions/validate_multi_secret.sh GEMINI_API_KEY 'Gemini CLI' https://geminicli.com/docs/get-started/authentication/ + run: /opt/gh-aw/actions/validate_multi_secret.sh GEMINI_API_KEY 'Gemini CLI' + https://geminicli.com/docs/get-started/authentication/ env: GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} - name: Checkout .github and .agents folders @@ -97,7 +93,7 @@ jobs: - name: Check workflow file timestamps uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: - GH_AW_WORKFLOW_FILE: "ci-coach.lock.yml" + GH_AW_WORKFLOW_FILE: ci-coach.lock.yml with: script: | const { setupGlobals } = require('/opt/gh-aw/actions/setup_globals.cjs'); @@ -146,13 +142,13 @@ jobs: - **workspace**: __GH_AW_GITHUB_WORKSPACE__ {{/if}} {{#if __GH_AW_GITHUB_EVENT_ISSUE_NUMBER__ }} - - **issue-number**: #__GH_AW_GITHUB_EVENT_ISSUE_NUMBER__ + - **issue-number**: # __GH_AW_GITHUB_EVENT_ISSUE_NUMBER__ {{/if}} {{#if __GH_AW_GITHUB_EVENT_DISCUSSION_NUMBER__ }} - - **discussion-number**: #__GH_AW_GITHUB_EVENT_DISCUSSION_NUMBER__ + - **discussion-number**: # __GH_AW_GITHUB_EVENT_DISCUSSION_NUMBER__ {{/if}} {{#if __GH_AW_GITHUB_EVENT_PULL_REQUEST_NUMBER__ }} - - **pull-request-number**: #__GH_AW_GITHUB_EVENT_PULL_REQUEST_NUMBER__ + - **pull-request-number**: # __GH_AW_GITHUB_EVENT_PULL_REQUEST_NUMBER__ {{/if}} {{#if __GH_AW_GITHUB_EVENT_COMMENT_ID__ }} - **comment-id**: __GH_AW_GITHUB_EVENT_COMMENT_ID__ @@ -161,7 +157,6 @@ jobs: - **workflow-run-id**: __GH_AW_GITHUB_RUN_ID__ {{/if}} - GH_AW_PROMPT_EOF cat << 'GH_AW_PROMPT_EOF' @@ -199,9 +194,7 @@ jobs: script: | const { setupGlobals } = require('/opt/gh-aw/actions/setup_globals.cjs'); setupGlobals(core, github, context, exec, io); - const substitutePlaceholders = require('/opt/gh-aw/actions/substitute_placeholders.cjs'); - // Call the substitution function return await substitutePlaceholders({ file: process.env.GH_AW_PROMPT, @@ -234,17 +227,16 @@ jobs: /tmp/gh-aw/aw_info.json /tmp/gh-aw/aw-prompts/prompt.txt retention-days: 1 - agent: needs: activation runs-on: ubuntu-latest permissions: read-all concurrency: - group: "gh-aw-gemini-${{ github.workflow }}" + group: gh-aw-gemini-${{ github.workflow }} env: DEFAULT_BRANCH: ${{ github.event.repository.default_branch }} - GH_AW_ASSETS_ALLOWED_EXTS: "" - GH_AW_ASSETS_BRANCH: "" + GH_AW_ASSETS_ALLOWED_EXTS: '' + GH_AW_ASSETS_BRANCH: '' GH_AW_ASSETS_MAX_SIZE_KB: 0 GH_AW_MCP_LOG_DIR: /tmp/gh-aw/mcp-logs/safeoutputs GH_AW_SAFE_OUTPUTS: /opt/gh-aw/safeoutputs/outputs.jsonl @@ -316,7 +308,10 @@ jobs: const determineAutomaticLockdown = require('/opt/gh-aw/actions/determine_automatic_lockdown.cjs'); await determineAutomaticLockdown(github, context, core); - name: Download container images - run: bash /opt/gh-aw/actions/download_docker_images.sh ghcr.io/github/gh-aw-firewall/agent:0.24.2 ghcr.io/github/gh-aw-firewall/api-proxy:0.24.2 ghcr.io/github/gh-aw-firewall/squid:0.24.2 ghcr.io/github/gh-aw-mcpg:v0.1.15 ghcr.io/github/github-mcp-server:v0.32.0 mcp/fetch node:lts-alpine + run: bash /opt/gh-aw/actions/download_docker_images.sh ghcr.io/github/gh-aw-firewall/agent:0.24.2 + ghcr.io/github/gh-aw-firewall/api-proxy:0.24.2 ghcr.io/github/gh-aw-firewall/squid:0.24.2 + ghcr.io/github/gh-aw-mcpg:v0.1.15 ghcr.io/github/github-mcp-server:v0.32.0 + mcp/fetch node:lts-alpine - name: Write Safe Outputs Config run: | mkdir -p /opt/gh-aw/safeoutputs @@ -577,17 +572,14 @@ jobs: # Mask immediately to prevent timing vulnerabilities API_KEY=$(openssl rand -base64 45 | tr -d '/+=') echo "::add-mask::${API_KEY}" - PORT=3001 - + # Set outputs for next steps { echo "safe_outputs_api_key=${API_KEY}" echo "safe_outputs_port=${PORT}" } >> "$GITHUB_OUTPUT" - echo "Safe Outputs MCP server will run on port ${PORT}" - - name: Start Safe Outputs MCP HTTP Server id: safe-outputs-start env: @@ -605,9 +597,7 @@ jobs: export GH_AW_SAFE_OUTPUTS_TOOLS_PATH export GH_AW_SAFE_OUTPUTS_CONFIG_PATH export GH_AW_MCP_LOG_DIR - bash /opt/gh-aw/actions/start_safe_outputs_server.sh - - name: Start MCP Gateway id: start-mcp-gateway env: @@ -619,7 +609,7 @@ jobs: run: | set -eo pipefail mkdir -p /tmp/gh-aw/mcp-config - + # Export gateway environment variables for MCP config and gateway script export MCP_GATEWAY_PORT="80" export MCP_GATEWAY_DOMAIN="host.docker.internal" @@ -630,10 +620,8 @@ jobs: mkdir -p "${MCP_GATEWAY_PAYLOAD_DIR}" export MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD="524288" export DEBUG="*" - export GH_AW_ENGINE="gemini" export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_LOCKDOWN -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.1.15' - cat << GH_AW_MCP_CONFIG_EOF | bash /opt/gh-aw/actions/start_mcp_gateway.sh { "mcpServers": { @@ -742,7 +730,7 @@ jobs: const { main } = require('/opt/gh-aw/actions/redact_secrets.cjs'); await main(); env: - GH_AW_SECRET_NAMES: 'GEMINI_API_KEY,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN' + GH_AW_SECRET_NAMES: GEMINI_API_KEY,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN SECRET_GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} SECRET_GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }} SECRET_GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }} @@ -761,7 +749,7 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_SAFE_OUTPUTS: ${{ env.GH_AW_SAFE_OUTPUTS }} - GH_AW_ALLOWED_DOMAINS: "*.googleapis.com,*.jsr.io,*.pythonhosted.org,*.vsblob.vsassets.io,adoptium.net,anaconda.org,api.adoptium.net,api.foojay.io,api.npms.io,api.nuget.org,api.snapcraft.io,archive.apache.org,archive.ubuntu.com,azure.archive.ubuntu.com,azuresearch-usnc.nuget.org,azuresearch-ussc.nuget.org,binstar.org,bootstrap.pypa.io,builds.dotnet.microsoft.com,bun.sh,cdn.azul.com,cdn.jsdelivr.net,central.sonatype.com,ci.dot.net,conda.anaconda.org,conda.binstar.org,crates.io,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,dc.services.visualstudio.com,deb.nodesource.com,deno.land,dist.nuget.org,dl.google.com,dlcdn.apache.org,dot.net,dotnet.microsoft.com,dotnetcli.blob.core.windows.net,download.eclipse.org,download.java.net,download.oracle.com,downloads.gradle-dn.com,esm.sh,files.pythonhosted.org,generativelanguage.googleapis.com,get.pnpm.io,github.com,googleapis.deno.dev,googlechromelabs.github.io,gradle.org,host.docker.internal,index.crates.io,jcenter.bintray.com,jdk.java.net,json-schema.org,json.schemastore.org,jsr.io,keyserver.ubuntu.com,maven.apache.org,maven.google.com,maven.oracle.com,maven.pkg.github.com,nodejs.org,npm.pkg.github.com,npmjs.com,npmjs.org,nuget.org,nuget.pkg.github.com,nugetregistryv2prod.blob.core.windows.net,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,oneocsp.microsoft.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,pip.pypa.io,pkgs.dev.azure.com,plugins-artifacts.gradle.org,plugins.gradle.org,ppa.launchpad.net,pypi.org,pypi.python.org,raw.githubusercontent.com,registry.bower.io,registry.npmjs.com,registry.npmjs.org,registry.yarnpkg.com,repo.anaconda.com,repo.continuum.io,repo.gradle.org,repo.grails.org,repo.maven.apache.org,repo.spring.io,repo.yarnpkg.com,repo1.maven.org,s.symcb.com,s.symcd.com,security.ubuntu.com,services.gradle.org,sh.rustup.rs,skimdb.npmjs.com,static.crates.io,static.rust-lang.org,storage.googleapis.com,telemetry.vercel.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.java.com,www.microsoft.com,www.npmjs.com,www.npmjs.org,yarnpkg.com" + GH_AW_ALLOWED_DOMAINS: '*.googleapis.com,*.jsr.io,*.pythonhosted.org,*.vsblob.vsassets.io,adoptium.net,anaconda.org,api.adoptium.net,api.foojay.io,api.npms.io,api.nuget.org,api.snapcraft.io,archive.apache.org,archive.ubuntu.com,azure.archive.ubuntu.com,azuresearch-usnc.nuget.org,azuresearch-ussc.nuget.org,binstar.org,bootstrap.pypa.io,builds.dotnet.microsoft.com,bun.sh,cdn.azul.com,cdn.jsdelivr.net,central.sonatype.com,ci.dot.net,conda.anaconda.org,conda.binstar.org,crates.io,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,dc.services.visualstudio.com,deb.nodesource.com,deno.land,dist.nuget.org,dl.google.com,dlcdn.apache.org,dot.net,dotnet.microsoft.com,dotnetcli.blob.core.windows.net,download.eclipse.org,download.java.net,download.oracle.com,downloads.gradle-dn.com,esm.sh,files.pythonhosted.org,generativelanguage.googleapis.com,get.pnpm.io,github.com,googleapis.deno.dev,googlechromelabs.github.io,gradle.org,host.docker.internal,index.crates.io,jcenter.bintray.com,jdk.java.net,json-schema.org,json.schemastore.org,jsr.io,keyserver.ubuntu.com,maven.apache.org,maven.google.com,maven.oracle.com,maven.pkg.github.com,nodejs.org,npm.pkg.github.com,npmjs.com,npmjs.org,nuget.org,nuget.pkg.github.com,nugetregistryv2prod.blob.core.windows.net,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,oneocsp.microsoft.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,pip.pypa.io,pkgs.dev.azure.com,plugins-artifacts.gradle.org,plugins.gradle.org,ppa.launchpad.net,pypi.org,pypi.python.org,raw.githubusercontent.com,registry.bower.io,registry.npmjs.com,registry.npmjs.org,registry.yarnpkg.com,repo.anaconda.com,repo.continuum.io,repo.gradle.org,repo.grails.org,repo.maven.apache.org,repo.spring.io,repo.yarnpkg.com,repo1.maven.org,s.symcb.com,s.symcd.com,security.ubuntu.com,services.gradle.org,sh.rustup.rs,skimdb.npmjs.com,static.crates.io,static.rust-lang.org,storage.googleapis.com,telemetry.vercel.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.java.com,www.microsoft.com,www.npmjs.com,www.npmjs.org,yarnpkg.com' GITHUB_SERVER_URL: ${{ github.server_url }} GITHUB_API_URL: ${{ github.api_url }} with: @@ -843,8 +831,9 @@ jobs: if: always() && steps.detection_guard.outputs.run_detection == 'true' uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: - WORKFLOW_NAME: "CI Optimization Coach" - WORKFLOW_DESCRIPTION: "Daily CI optimization coach that analyzes GitHub Actions workflows for efficiency improvements and cost reduction opportunities" + WORKFLOW_NAME: CI Optimization Coach + WORKFLOW_DESCRIPTION: Daily CI optimization coach that analyzes GitHub Actions + workflows for efficiency improvements and cost reduction opportunities HAS_PATCH: ${{ steps.collect_output.outputs.has_patch }} with: script: | @@ -929,7 +918,6 @@ jobs: echo "success=false" >> "$GITHUB_OUTPUT" echo "Detection found issues" fi - conclusion: needs: - activation @@ -942,7 +930,7 @@ jobs: issues: write pull-requests: write concurrency: - group: "gh-aw-conclusion-ci-coach" + group: gh-aw-conclusion-ci-coach cancel-in-progress: false outputs: noop_message: ${{ steps.noop.outputs.noop_message }} @@ -971,11 +959,11 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} - GH_AW_NOOP_MAX: "1" - GH_AW_WORKFLOW_NAME: "CI Optimization Coach" - GH_AW_WORKFLOW_SOURCE: "githubnext/agentics/workflows/ci-coach.md@main" - GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/githubnext/agentics/tree/main/workflows/ci-coach.md" - GH_AW_TRACKER_ID: "ci-coach-daily" + GH_AW_NOOP_MAX: '1' + GH_AW_WORKFLOW_NAME: CI Optimization Coach + GH_AW_WORKFLOW_SOURCE: githubnext/agentics/workflows/ci-coach.md@main + GH_AW_WORKFLOW_SOURCE_URL: ${{ github.server_url }}/githubnext/agentics/tree/main/workflows/ci-coach.md + GH_AW_TRACKER_ID: ci-coach-daily with: github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -988,10 +976,10 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} - GH_AW_WORKFLOW_NAME: "CI Optimization Coach" - GH_AW_WORKFLOW_SOURCE: "githubnext/agentics/workflows/ci-coach.md@main" - GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/githubnext/agentics/tree/main/workflows/ci-coach.md" - GH_AW_TRACKER_ID: "ci-coach-daily" + GH_AW_WORKFLOW_NAME: CI Optimization Coach + GH_AW_WORKFLOW_SOURCE: githubnext/agentics/workflows/ci-coach.md@main + GH_AW_WORKFLOW_SOURCE_URL: ${{ github.server_url }}/githubnext/agentics/tree/main/workflows/ci-coach.md + GH_AW_TRACKER_ID: ci-coach-daily with: github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -1004,20 +992,21 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} - GH_AW_WORKFLOW_NAME: "CI Optimization Coach" - GH_AW_WORKFLOW_SOURCE: "githubnext/agentics/workflows/ci-coach.md@main" - GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/githubnext/agentics/tree/main/workflows/ci-coach.md" - GH_AW_TRACKER_ID: "ci-coach-daily" - GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + GH_AW_WORKFLOW_NAME: CI Optimization Coach + GH_AW_WORKFLOW_SOURCE: githubnext/agentics/workflows/ci-coach.md@main + GH_AW_WORKFLOW_SOURCE_URL: ${{ github.server_url }}/githubnext/agentics/tree/main/workflows/ci-coach.md + GH_AW_TRACKER_ID: ci-coach-daily + GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ + github.run_id }} GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} - GH_AW_WORKFLOW_ID: "ci-coach" + GH_AW_WORKFLOW_ID: ci-coach GH_AW_SECRET_VERIFICATION_RESULT: ${{ needs.activation.outputs.secret_verification_result }} GH_AW_CHECKOUT_PR_SUCCESS: ${{ needs.agent.outputs.checkout_pr_success }} GH_AW_CODE_PUSH_FAILURE_ERRORS: ${{ needs.safe_outputs.outputs.code_push_failure_errors }} GH_AW_CODE_PUSH_FAILURE_COUNT: ${{ needs.safe_outputs.outputs.code_push_failure_count }} - GH_AW_GROUP_REPORTS: "false" - GH_AW_FAILURE_REPORT_AS_ISSUE: "true" - GH_AW_TIMEOUT_MINUTES: "30" + GH_AW_GROUP_REPORTS: 'false' + GH_AW_FAILURE_REPORT_AS_ISSUE: 'true' + GH_AW_TIMEOUT_MINUTES: '30' with: github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -1030,14 +1019,15 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} - GH_AW_WORKFLOW_NAME: "CI Optimization Coach" - GH_AW_WORKFLOW_SOURCE: "githubnext/agentics/workflows/ci-coach.md@main" - GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/githubnext/agentics/tree/main/workflows/ci-coach.md" - GH_AW_TRACKER_ID: "ci-coach-daily" - GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + GH_AW_WORKFLOW_NAME: CI Optimization Coach + GH_AW_WORKFLOW_SOURCE: githubnext/agentics/workflows/ci-coach.md@main + GH_AW_WORKFLOW_SOURCE_URL: ${{ github.server_url }}/githubnext/agentics/tree/main/workflows/ci-coach.md + GH_AW_TRACKER_ID: ci-coach-daily + GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ + github.run_id }} GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} GH_AW_NOOP_MESSAGE: ${{ steps.noop.outputs.noop_message }} - GH_AW_NOOP_REPORT_AS_ISSUE: "true" + GH_AW_NOOP_REPORT_AS_ISSUE: 'true' with: github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -1050,11 +1040,12 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} - GH_AW_WORKFLOW_NAME: "CI Optimization Coach" - GH_AW_WORKFLOW_SOURCE: "githubnext/agentics/workflows/ci-coach.md@main" - GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/githubnext/agentics/tree/main/workflows/ci-coach.md" - GH_AW_TRACKER_ID: "ci-coach-daily" - GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + GH_AW_WORKFLOW_NAME: CI Optimization Coach + GH_AW_WORKFLOW_SOURCE: githubnext/agentics/workflows/ci-coach.md@main + GH_AW_WORKFLOW_SOURCE_URL: ${{ github.server_url }}/githubnext/agentics/tree/main/workflows/ci-coach.md + GH_AW_TRACKER_ID: ci-coach-daily + GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ + github.run_id }} with: github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -1062,12 +1053,12 @@ jobs: setupGlobals(core, github, context, exec, io); const { main } = require('/opt/gh-aw/actions/handle_create_pr_error.cjs'); await main(); - safe_outputs: needs: - activation - agent - if: ((!cancelled()) && (needs.agent.result != 'skipped')) && (needs.agent.outputs.detection_success == 'true') + if: ((!cancelled()) && (needs.agent.result != 'skipped')) && (needs.agent.outputs.detection_success + == 'true') runs-on: ubuntu-slim permissions: contents: write @@ -1075,13 +1066,13 @@ jobs: pull-requests: write timeout-minutes: 15 env: - GH_AW_CALLER_WORKFLOW_ID: "${{ github.repository }}/ci-coach" - GH_AW_ENGINE_ID: "gemini" - GH_AW_TRACKER_ID: "ci-coach-daily" - GH_AW_WORKFLOW_ID: "ci-coach" - GH_AW_WORKFLOW_NAME: "CI Optimization Coach" - GH_AW_WORKFLOW_SOURCE: "githubnext/agentics/workflows/ci-coach.md@main" - GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/githubnext/agentics/tree/main/workflows/ci-coach.md" + GH_AW_CALLER_WORKFLOW_ID: ${{ github.repository }}/ci-coach + GH_AW_ENGINE_ID: gemini + GH_AW_TRACKER_ID: ci-coach-daily + GH_AW_WORKFLOW_ID: ci-coach + GH_AW_WORKFLOW_NAME: CI Optimization Coach + GH_AW_WORKFLOW_SOURCE: githubnext/agentics/workflows/ci-coach.md@main + GH_AW_WORKFLOW_SOURCE_URL: ${{ github.server_url }}/githubnext/agentics/tree/main/workflows/ci-coach.md outputs: code_push_failure_count: ${{ steps.process_safe_outputs.outputs.code_push_failure_count }} code_push_failure_errors: ${{ steps.process_safe_outputs.outputs.code_push_failure_errors }} @@ -1116,7 +1107,8 @@ jobs: name: agent path: /tmp/gh-aw/ - name: Checkout repository - if: ((!cancelled()) && (needs.agent.result != 'skipped')) && (contains(needs.agent.outputs.output_types, 'create_pull_request')) + if: ((!cancelled()) && (needs.agent.result != 'skipped')) && (contains(needs.agent.outputs.output_types, + 'create_pull_request')) uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.base_ref || github.event.pull_request.base.ref || github.ref_name || github.event.repository.default_branch }} @@ -1124,7 +1116,8 @@ jobs: persist-credentials: false fetch-depth: 1 - name: Configure Git credentials - if: ((!cancelled()) && (needs.agent.result != 'skipped')) && (contains(needs.agent.outputs.output_types, 'create_pull_request')) + if: ((!cancelled()) && (needs.agent.result != 'skipped')) && (contains(needs.agent.outputs.output_types, + 'create_pull_request')) env: REPO_NAME: ${{ github.repository }} SERVER_URL: ${{ github.server_url }} @@ -1142,10 +1135,11 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} - GH_AW_ALLOWED_DOMAINS: "*.googleapis.com,*.jsr.io,*.pythonhosted.org,*.vsblob.vsassets.io,adoptium.net,anaconda.org,api.adoptium.net,api.foojay.io,api.npms.io,api.nuget.org,api.snapcraft.io,archive.apache.org,archive.ubuntu.com,azure.archive.ubuntu.com,azuresearch-usnc.nuget.org,azuresearch-ussc.nuget.org,binstar.org,bootstrap.pypa.io,builds.dotnet.microsoft.com,bun.sh,cdn.azul.com,cdn.jsdelivr.net,central.sonatype.com,ci.dot.net,conda.anaconda.org,conda.binstar.org,crates.io,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,dc.services.visualstudio.com,deb.nodesource.com,deno.land,dist.nuget.org,dl.google.com,dlcdn.apache.org,dot.net,dotnet.microsoft.com,dotnetcli.blob.core.windows.net,download.eclipse.org,download.java.net,download.oracle.com,downloads.gradle-dn.com,esm.sh,files.pythonhosted.org,generativelanguage.googleapis.com,get.pnpm.io,github.com,googleapis.deno.dev,googlechromelabs.github.io,gradle.org,host.docker.internal,index.crates.io,jcenter.bintray.com,jdk.java.net,json-schema.org,json.schemastore.org,jsr.io,keyserver.ubuntu.com,maven.apache.org,maven.google.com,maven.oracle.com,maven.pkg.github.com,nodejs.org,npm.pkg.github.com,npmjs.com,npmjs.org,nuget.org,nuget.pkg.github.com,nugetregistryv2prod.blob.core.windows.net,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,oneocsp.microsoft.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,pip.pypa.io,pkgs.dev.azure.com,plugins-artifacts.gradle.org,plugins.gradle.org,ppa.launchpad.net,pypi.org,pypi.python.org,raw.githubusercontent.com,registry.bower.io,registry.npmjs.com,registry.npmjs.org,registry.yarnpkg.com,repo.anaconda.com,repo.continuum.io,repo.gradle.org,repo.grails.org,repo.maven.apache.org,repo.spring.io,repo.yarnpkg.com,repo1.maven.org,s.symcb.com,s.symcd.com,security.ubuntu.com,services.gradle.org,sh.rustup.rs,skimdb.npmjs.com,static.crates.io,static.rust-lang.org,storage.googleapis.com,telemetry.vercel.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.java.com,www.microsoft.com,www.npmjs.com,www.npmjs.org,yarnpkg.com" + GH_AW_ALLOWED_DOMAINS: '*.googleapis.com,*.jsr.io,*.pythonhosted.org,*.vsblob.vsassets.io,adoptium.net,anaconda.org,api.adoptium.net,api.foojay.io,api.npms.io,api.nuget.org,api.snapcraft.io,archive.apache.org,archive.ubuntu.com,azure.archive.ubuntu.com,azuresearch-usnc.nuget.org,azuresearch-ussc.nuget.org,binstar.org,bootstrap.pypa.io,builds.dotnet.microsoft.com,bun.sh,cdn.azul.com,cdn.jsdelivr.net,central.sonatype.com,ci.dot.net,conda.anaconda.org,conda.binstar.org,crates.io,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,dc.services.visualstudio.com,deb.nodesource.com,deno.land,dist.nuget.org,dl.google.com,dlcdn.apache.org,dot.net,dotnet.microsoft.com,dotnetcli.blob.core.windows.net,download.eclipse.org,download.java.net,download.oracle.com,downloads.gradle-dn.com,esm.sh,files.pythonhosted.org,generativelanguage.googleapis.com,get.pnpm.io,github.com,googleapis.deno.dev,googlechromelabs.github.io,gradle.org,host.docker.internal,index.crates.io,jcenter.bintray.com,jdk.java.net,json-schema.org,json.schemastore.org,jsr.io,keyserver.ubuntu.com,maven.apache.org,maven.google.com,maven.oracle.com,maven.pkg.github.com,nodejs.org,npm.pkg.github.com,npmjs.com,npmjs.org,nuget.org,nuget.pkg.github.com,nugetregistryv2prod.blob.core.windows.net,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,oneocsp.microsoft.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,pip.pypa.io,pkgs.dev.azure.com,plugins-artifacts.gradle.org,plugins.gradle.org,ppa.launchpad.net,pypi.org,pypi.python.org,raw.githubusercontent.com,registry.bower.io,registry.npmjs.com,registry.npmjs.org,registry.yarnpkg.com,repo.anaconda.com,repo.continuum.io,repo.gradle.org,repo.grails.org,repo.maven.apache.org,repo.spring.io,repo.yarnpkg.com,repo1.maven.org,s.symcb.com,s.symcd.com,security.ubuntu.com,services.gradle.org,sh.rustup.rs,skimdb.npmjs.com,static.crates.io,static.rust-lang.org,storage.googleapis.com,telemetry.vercel.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.java.com,www.microsoft.com,www.npmjs.com,www.npmjs.org,yarnpkg.com' GITHUB_SERVER_URL: ${{ github.server_url }} GITHUB_API_URL: ${{ github.api_url }} - GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: "{\"create_pull_request\":{\"expires\":48,\"max\":1,\"max_patch_size\":1024,\"protected_files\":[\"package.json\",\"bun.lockb\",\"bunfig.toml\",\"deno.json\",\"deno.jsonc\",\"deno.lock\",\"global.json\",\"NuGet.Config\",\"Directory.Packages.props\",\"mix.exs\",\"mix.lock\",\"go.mod\",\"go.sum\",\"stack.yaml\",\"stack.yaml.lock\",\"pom.xml\",\"build.gradle\",\"build.gradle.kts\",\"settings.gradle\",\"settings.gradle.kts\",\"gradle.properties\",\"package-lock.json\",\"yarn.lock\",\"pnpm-lock.yaml\",\"npm-shrinkwrap.json\",\"requirements.txt\",\"Pipfile\",\"Pipfile.lock\",\"pyproject.toml\",\"setup.py\",\"setup.cfg\",\"Gemfile\",\"Gemfile.lock\",\"uv.lock\"],\"protected_files_policy\":\"fallback-to-issue\",\"protected_path_prefixes\":[\".github/\",\".agents/\"],\"title_prefix\":\"[ci-coach] \"},\"missing_data\":{},\"missing_tool\":{}}" + GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: '{"create_pull_request":{"expires":48,"max":1,"max_patch_size":1024,"protected_files":["package.json","bun.lockb","bunfig.toml","deno.json","deno.jsonc","deno.lock","global.json","NuGet.Config","Directory.Packages.props","mix.exs","mix.lock","go.mod","go.sum","stack.yaml","stack.yaml.lock","pom.xml","build.gradle","build.gradle.kts","settings.gradle","settings.gradle.kts","gradle.properties","package-lock.json","yarn.lock","pnpm-lock.yaml","npm-shrinkwrap.json","requirements.txt","Pipfile","Pipfile.lock","pyproject.toml","setup.py","setup.cfg","Gemfile","Gemfile.lock","uv.lock"],"protected_files_policy":"fallback-to-issue","protected_path_prefixes":[".github/",".agents/"],"title_prefix":"[ci-coach] + "},"missing_data":{},"missing_tool":{}}' GH_AW_CI_TRIGGER_TOKEN: ${{ secrets.GH_AW_CI_TRIGGER_TOKEN }} with: github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -1161,4 +1155,3 @@ jobs: name: safe-output-items path: /tmp/safe-output-items.jsonl if-no-files-found: warn - diff --git a/.github/workflows/ci_tools.yaml b/.github/workflows/ci_tools.yaml index 4256a40ca..51ebf159c 100644 --- a/.github/workflows/ci_tools.yaml +++ b/.github/workflows/ci_tools.yaml @@ -59,4 +59,4 @@ jobs: uses: stefanzweifel/git-auto-commit-action@04702edda442b2e678b25b537cec683a1493fcb9 # v7.1.0 with: commit_message: Compile GH AW - commit_options: --no-verify \ No newline at end of file + commit_options: --no-verify From dc3d24addad710fcda23dea69e3acc0250087d25 Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Fri, 17 Apr 2026 11:06:41 +0200 Subject: [PATCH 08/16] Update CI to use dependency compatibility action Replaces `uv sync` with a dedicated action for dependency compatibility checks. This simplifies the CI workflow and ensures better handling of dependency issues. --- .github/workflows/test.yaml | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 0e3f7ce51..664a58300 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -21,32 +21,10 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - name: Install uv - uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0 + - name: Run dependency compatibility check + uses: AlphaSphereDotAI/helpr_action/ci/test/dependency_compatibility@v0.0.16 with: - enable-cache: true - activate-environment: true - - name: Install the project - id: dependency_check - run: uv sync --frozen --no-install-project - - name: Job Summary - uses: jazanne/job-summary-action@690eb386a0b86fe4da7c6f0e543e61330ff09f06 # v1.0.0 - if: success() || failure() - with: - summary: |- - ## Dependency Compatibility Check - - **Status**: ${{ steps.dependency_check.outcome == 'success' && ':white_check_mark:' || ':x:' }} - - name: Show Dependency Tree - if: steps.dependency_check.outcome == 'success' - run: | - echo "## Dependency Tree" >> $GITHUB_STEP_SUMMARY - echo "
" >> $GITHUB_STEP_SUMMARY - echo " Dependency Tree " >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo '```' >> $GITHUB_STEP_SUMMARY - echo "$(uv tree --show-sizes)" >> $GITHUB_STEP_SUMMARY - echo '```' >> $GITHUB_STEP_SUMMARY - echo "
" >> $GITHUB_STEP_SUMMARY + tool: uv lint: name: Lint permissions: From 5fdc22af07191be5952877d8556096b34ed8fcd1 Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Fri, 17 Apr 2026 11:14:00 +0200 Subject: [PATCH 09/16] Update dependency compatibility action version --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 664a58300..d9ed1faee 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -22,7 +22,7 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Run dependency compatibility check - uses: AlphaSphereDotAI/helpr_action/ci/test/dependency_compatibility@v0.0.16 + uses: AlphaSphereDotAI/helpr_action/ci/test/dependency_compatibility@v0.0.62 with: tool: uv lint: From 6f3a4659de3592b3043b8f304d16df3c00663b9a Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Fri, 17 Apr 2026 11:26:54 +0200 Subject: [PATCH 10/16] feat: Add setup devenv step to CI --- .github/workflows/test.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 664a58300..971e5be28 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -21,6 +21,8 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - name: Setup Devenv + uses: AlphaSphereDotAI/helpr_action/ci/setup/devenv@v0.0.62 - name: Run dependency compatibility check uses: AlphaSphereDotAI/helpr_action/ci/test/dependency_compatibility@v0.0.16 with: From ff3ead2e6b269be4d387c0d3a77ceda80dcb404f Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Fri, 17 Apr 2026 17:12:31 +0200 Subject: [PATCH 11/16] Update CI to include devenv shell command This commit adds the `devenv shell` command to the CI workflow. This ensures that the environment is correctly set up before running dependency compatibility checks. --- .github/workflows/test.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 07a3a207a..0a2a5ee95 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -23,6 +23,8 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup Devenv uses: AlphaSphereDotAI/helpr_action/ci/setup/devenv@v0.0.62 + - name: Enter Devenv Shell + run: devenv shell - name: Run dependency compatibility check uses: AlphaSphereDotAI/helpr_action/ci/test/dependency_compatibility@v0.0.62 with: From 34db40c3e43871b8cec32e9840b6e498029788cb Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Fri, 17 Apr 2026 17:37:15 +0200 Subject: [PATCH 12/16] Add command to evaluate devenv hook in workflow --- .github/workflows/test.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 0a2a5ee95..6b1aa9c20 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -23,6 +23,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup Devenv uses: AlphaSphereDotAI/helpr_action/ci/setup/devenv@v0.0.62 + - run: eval "$(devenv hook bash)" - name: Enter Devenv Shell run: devenv shell - name: Run dependency compatibility check From e47fbe6bc7d7850f862a9f3d6ec7f7224ef38eb8 Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Fri, 17 Apr 2026 18:12:44 +0200 Subject: [PATCH 13/16] Update test.yaml --- .github/workflows/test.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 6b1aa9c20..285392973 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -23,9 +23,8 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup Devenv uses: AlphaSphereDotAI/helpr_action/ci/setup/devenv@v0.0.62 - - run: eval "$(devenv hook bash)" - name: Enter Devenv Shell - run: devenv shell + run: eval "$(devenv shell inc)" - name: Run dependency compatibility check uses: AlphaSphereDotAI/helpr_action/ci/test/dependency_compatibility@v0.0.62 with: From 320fbd1b0a0117aa4f35091987d7aaed0403e309 Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Sat, 18 Apr 2026 12:35:41 +0200 Subject: [PATCH 14/16] Update dependency compatibility action and shell command Updated dependency compatibility action version and shell command. --- .github/workflows/test.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 285392973..e66fb09b3 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -23,12 +23,11 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup Devenv uses: AlphaSphereDotAI/helpr_action/ci/setup/devenv@v0.0.62 - - name: Enter Devenv Shell - run: eval "$(devenv shell inc)" - name: Run dependency compatibility check - uses: AlphaSphereDotAI/helpr_action/ci/test/dependency_compatibility@v0.0.62 + uses: AlphaSphereDotAI/helpr_action/ci/test/dependency_compatibility@v0.0.63 with: tool: uv + shell: devenv shell bash -- -e {0} lint: name: Lint permissions: From f6ba145624a0fb79038c5cee451568385e851e82 Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Sat, 18 Apr 2026 16:23:27 +0200 Subject: [PATCH 15/16] Update dependency compatibility action to use main branch --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index e66fb09b3..d094bea07 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -24,7 +24,7 @@ jobs: - name: Setup Devenv uses: AlphaSphereDotAI/helpr_action/ci/setup/devenv@v0.0.62 - name: Run dependency compatibility check - uses: AlphaSphereDotAI/helpr_action/ci/test/dependency_compatibility@v0.0.63 + uses: AlphaSphereDotAI/helpr_action/ci/testing/dependency_compatibility@main with: tool: uv shell: devenv shell bash -- -e {0} From d5806929a644049fccddda178d524aabf6506049 Mon Sep 17 00:00:00 2001 From: Mohamed Hisham Abdelzaher Date: Sat, 18 Apr 2026 16:33:07 +0200 Subject: [PATCH 16/16] Update devenv action version to v0.0.63 --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index d094bea07..b1e2724d3 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -22,7 +22,7 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup Devenv - uses: AlphaSphereDotAI/helpr_action/ci/setup/devenv@v0.0.62 + uses: AlphaSphereDotAI/helpr_action/ci/setup/devenv@v0.0.63 - name: Run dependency compatibility check uses: AlphaSphereDotAI/helpr_action/ci/testing/dependency_compatibility@main with: