From 4a7569ab340620227bb07e99aa51052eb627a7e1 Mon Sep 17 00:00:00 2001 From: Deepak Kumar Mishra Date: Mon, 7 Sep 2026 15:02:03 +0530 Subject: [PATCH 1/4] CLI-1871: Add sync-skills GitHub Actions workflow. --- .github/workflows/sync-skills.yml | 53 +++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/sync-skills.yml diff --git a/.github/workflows/sync-skills.yml b/.github/workflows/sync-skills.yml new file mode 100644 index 00000000..67f51e1d --- /dev/null +++ b/.github/workflows/sync-skills.yml @@ -0,0 +1,53 @@ +name: Sync ACLI skills + +on: + release: + types: [published] + workflow_dispatch: + inputs: + force: + description: 'Force PR even if no skill files changed' + required: false + default: false + type: boolean + +jobs: + sync-skills: + runs-on: ubuntu-24.04 + name: Sync skills to acquia-skills repo + steps: + - name: Checkout release commit + uses: actions/checkout@v7 + + - name: Resolve version tag + id: version + run: | + if [ "${{ github.event_name }}" = "release" ]; then + echo "tag=${{ github.event.release.tag_name }}" >> $GITHUB_OUTPUT + else + echo "tag=${{ github.ref_name }}" >> $GITHUB_OUTPUT + fi + + - name: Read Acquia spec version + id: spec + run: echo "version=$(cat assets/acquia-spec.version)" >> $GITHUB_OUTPUT + + - name: Download ACLI binary + run: | + curl -fsSL "https://github.com/acquia/cli/releases/download/${{ steps.version.outputs.tag }}/acli.phar" \ + -o /usr/local/bin/acli + chmod +x /usr/local/bin/acli + + - name: Generate commands JSON + run: acli list --format=json > /tmp/acli-commands.json + + - name: Dispatch sync event to acquia-skills + env: + GH_TOKEN: ${{ secrets.ACQUIA_SKILLS_PAT }} + run: | + gh api repos/acquia/acquia-skills/dispatches \ + --method POST \ + --field event_type=sync-acli-skills \ + --field "client_payload[acli_version]=${{ steps.version.outputs.tag }}" \ + --field "client_payload[spec_version]=${{ steps.spec.outputs.version }}" \ + --field "client_payload[force]=${{ inputs.force || false }}" From 58a987356d15ce74a70bc56c32ca7b710044ab7d Mon Sep 17 00:00:00 2001 From: Deepak Mishra <108808209+deepakmishra2@users.noreply.github.com> Date: Mon, 7 Sep 2026 15:11:24 +0530 Subject: [PATCH 2/4] Fix co-pilot suggestions Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .github/workflows/sync-skills.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/sync-skills.yml b/.github/workflows/sync-skills.yml index 67f51e1d..f19f713b 100644 --- a/.github/workflows/sync-skills.yml +++ b/.github/workflows/sync-skills.yml @@ -5,6 +5,10 @@ on: types: [published] workflow_dispatch: inputs: + tag: + description: 'ACLI release tag to sync (defaults to latest release)' + required: false + type: string force: description: 'Force PR even if no skill files changed' required: false @@ -19,6 +23,11 @@ jobs: - name: Checkout release commit uses: actions/checkout@v7 + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.2' + coverage: none - name: Resolve version tag id: version run: | @@ -35,9 +44,9 @@ jobs: - name: Download ACLI binary run: | curl -fsSL "https://github.com/acquia/cli/releases/download/${{ steps.version.outputs.tag }}/acli.phar" \ - -o /usr/local/bin/acli - chmod +x /usr/local/bin/acli - + -o "$RUNNER_TEMP/acli" + chmod +x "$RUNNER_TEMP/acli" + echo "$RUNNER_TEMP" >> "$GITHUB_PATH" - name: Generate commands JSON run: acli list --format=json > /tmp/acli-commands.json From ad8246142d2b64134c4b93b1bf7ba18bf6ca55eb Mon Sep 17 00:00:00 2001 From: Deepak Kumar Mishra Date: Tue, 8 Sep 2026 11:35:01 +0530 Subject: [PATCH 3/4] feedback suggestion --- .github/workflows/sync-skills.yml | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/.github/workflows/sync-skills.yml b/.github/workflows/sync-skills.yml index f19f713b..17d963bb 100644 --- a/.github/workflows/sync-skills.yml +++ b/.github/workflows/sync-skills.yml @@ -23,33 +23,15 @@ jobs: - name: Checkout release commit uses: actions/checkout@v7 - - name: Set up PHP - uses: shivammathur/setup-php@v2 - with: - php-version: '8.2' - coverage: none - name: Resolve version tag id: version run: | if [ "${{ github.event_name }}" = "release" ]; then echo "tag=${{ github.event.release.tag_name }}" >> $GITHUB_OUTPUT else - echo "tag=${{ github.ref_name }}" >> $GITHUB_OUTPUT + echo "tag=${{ inputs.tag }}" >> $GITHUB_OUTPUT fi - - name: Read Acquia spec version - id: spec - run: echo "version=$(cat assets/acquia-spec.version)" >> $GITHUB_OUTPUT - - - name: Download ACLI binary - run: | - curl -fsSL "https://github.com/acquia/cli/releases/download/${{ steps.version.outputs.tag }}/acli.phar" \ - -o "$RUNNER_TEMP/acli" - chmod +x "$RUNNER_TEMP/acli" - echo "$RUNNER_TEMP" >> "$GITHUB_PATH" - - name: Generate commands JSON - run: acli list --format=json > /tmp/acli-commands.json - - name: Dispatch sync event to acquia-skills env: GH_TOKEN: ${{ secrets.ACQUIA_SKILLS_PAT }} @@ -58,5 +40,5 @@ jobs: --method POST \ --field event_type=sync-acli-skills \ --field "client_payload[acli_version]=${{ steps.version.outputs.tag }}" \ - --field "client_payload[spec_version]=${{ steps.spec.outputs.version }}" \ + --field "client_payload[spec_version]=$(cat assets/acquia-spec.version)" \ --field "client_payload[force]=${{ inputs.force || false }}" From 027aa07cece464d5097dbe51cc85bf1602bdbb73 Mon Sep 17 00:00:00 2001 From: Deepak Kumar Mishra Date: Tue, 8 Sep 2026 12:23:46 +0530 Subject: [PATCH 4/4] feedback copilot --- .github/workflows/sync-skills.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/sync-skills.yml b/.github/workflows/sync-skills.yml index 17d963bb..050d6936 100644 --- a/.github/workflows/sync-skills.yml +++ b/.github/workflows/sync-skills.yml @@ -20,17 +20,23 @@ jobs: runs-on: ubuntu-24.04 name: Sync skills to acquia-skills repo steps: - - name: Checkout release commit - uses: actions/checkout@v7 - - name: Resolve version tag id: version run: | if [ "${{ github.event_name }}" = "release" ]; then echo "tag=${{ github.event.release.tag_name }}" >> $GITHUB_OUTPUT - else + elif [ -n "${{ inputs.tag }}" ]; then echo "tag=${{ inputs.tag }}" >> $GITHUB_OUTPUT + else + echo "tag=$(gh release view --repo acquia/cli --json tagName --jq '.tagName')" >> $GITHUB_OUTPUT fi + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Checkout release commit + uses: actions/checkout@v7 + with: + ref: ${{ steps.version.outputs.tag }} - name: Dispatch sync event to acquia-skills env: