Skip to content

ci(deps): bump actions/setup-node from 4.4.0 to 6.4.0 #215

ci(deps): bump actions/setup-node from 4.4.0 to 6.4.0

ci(deps): bump actions/setup-node from 4.4.0 to 6.4.0 #215

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
permissions:
contents: write
pull-requests: write
packages: read
jobs:
commitlint:
name: Commitlint
runs-on: ubuntu-latest
if: "!startsWith(github.head_ref, 'release-please--')"
permissions:
contents: read
pull-requests: read
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
fetch-depth: 0
- uses: wagoid/commitlint-github-action@b948419dd99f3fd78a6548d48f94e3df7f6bf3ed # v6.2.1
with:
configFile: commitlint.config.cjs
commitDepth: 1
release-please:
name: Release Please
runs-on: ubuntu-latest
needs: [commitlint]
if: |
always() &&
github.event_name == 'push' &&
(needs.commitlint.result == 'success' || needs.commitlint.result == 'skipped')
outputs:
release_created: ${{ steps.release.outputs.release_created }}
tag_name: ${{ steps.release.outputs.tag_name }}
version: ${{ steps.release.outputs.version }}
paths_released: ${{ steps.release.outputs.paths_released }}
aidd_context_release_created: ${{ steps.release.outputs['plugins/aidd-context--release_created'] }}
aidd_context_version: ${{ steps.release.outputs['plugins/aidd-context--version'] }}
aidd_context_tag_name: ${{ steps.release.outputs['plugins/aidd-context--tag_name'] }}
aidd_dev_release_created: ${{ steps.release.outputs['plugins/aidd-dev--release_created'] }}
aidd_dev_version: ${{ steps.release.outputs['plugins/aidd-dev--version'] }}
aidd_dev_tag_name: ${{ steps.release.outputs['plugins/aidd-dev--tag_name'] }}
aidd_vcs_release_created: ${{ steps.release.outputs['plugins/aidd-vcs--release_created'] }}
aidd_vcs_version: ${{ steps.release.outputs['plugins/aidd-vcs--version'] }}
aidd_vcs_tag_name: ${{ steps.release.outputs['plugins/aidd-vcs--tag_name'] }}
aidd_pm_release_created: ${{ steps.release.outputs['plugins/aidd-pm--release_created'] }}
aidd_pm_version: ${{ steps.release.outputs['plugins/aidd-pm--version'] }}
aidd_pm_tag_name: ${{ steps.release.outputs['plugins/aidd-pm--tag_name'] }}
aidd_orchestrator_release_created: ${{ steps.release.outputs['plugins/aidd-orchestrator--release_created'] }}
aidd_orchestrator_version: ${{ steps.release.outputs['plugins/aidd-orchestrator--version'] }}
aidd_orchestrator_tag_name: ${{ steps.release.outputs['plugins/aidd-orchestrator--tag_name'] }}
aidd_refine_release_created: ${{ steps.release.outputs['plugins/aidd-refine--release_created'] }}
aidd_refine_version: ${{ steps.release.outputs['plugins/aidd-refine--version'] }}
aidd_refine_tag_name: ${{ steps.release.outputs['plugins/aidd-refine--tag_name'] }}
steps:
- uses: googleapis/release-please-action@5c625bfb5d1ff62eadeeb3772007f7f66fdcf071 # v4.4.1
id: release
with:
config-file: release-please-config.json
manifest-file: .release-please-manifest.json
build-and-attach:
name: Build and attach
needs: [release-please]
if: needs.release-please.outputs.release_created == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: '20'
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
path: ~/.npm
key: npm-global-${{ runner.os }}-${{ github.run_id }}
restore-keys: |
npm-global-${{ runner.os }}-
- name: Install CLI
# Use @beta during pre-release cycle; switch to @latest after stable v5 ships.
run: |
npm config set @ai-driven-dev:registry https://npm.pkg.github.com
npm config set //npm.pkg.github.com/:_authToken ${{ secrets.PACKAGES_TOKEN }}
npm install -g @ai-driven-dev/cli@beta
- name: Build distributions
run: bash scripts/build-dist.sh
- name: Build source tarball
run: |
VERSION="${{ needs.release-please.outputs.version }}"
tar czf "/tmp/aidd-framework-${VERSION}.tar.gz" \
plugins/ \
.claude-plugin/ \
aidd_docs/
- name: Build per-tool tarballs
run: |
VERSION="${{ needs.release-please.outputs.version }}"
for tool in claude cursor copilot codex; do
tar czf "/tmp/aidd-${tool}-${VERSION}.tar.gz" \
-C dist/${tool}-local \
--exclude='.aidd/cache' \
.
tar czf "/tmp/aidd-${tool}-remote-${VERSION}.tar.gz" \
-C dist/${tool}-remote \
--exclude='.aidd/cache' \
.
done
- name: Attach tarballs to release
env:
GH_TOKEN: ${{ github.token }}
run: |
VERSION="${{ needs.release-please.outputs.version }}"
TAG="${{ needs.release-please.outputs.tag_name }}"
gh release upload "${TAG}" \
"/tmp/aidd-framework-${VERSION}.tar.gz" \
"/tmp/aidd-claude-${VERSION}.tar.gz" \
"/tmp/aidd-claude-remote-${VERSION}.tar.gz" \
"/tmp/aidd-cursor-${VERSION}.tar.gz" \
"/tmp/aidd-cursor-remote-${VERSION}.tar.gz" \
"/tmp/aidd-copilot-${VERSION}.tar.gz" \
"/tmp/aidd-copilot-remote-${VERSION}.tar.gz" \
"/tmp/aidd-codex-${VERSION}.tar.gz" \
"/tmp/aidd-codex-remote-${VERSION}.tar.gz" \
--clobber
build-plugin:
name: Build and attach plugin
needs: [release-please]
if: needs.release-please.outputs.paths_released != '' && needs.release-please.outputs.paths_released != '[]'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
plugin: [aidd-context, aidd-dev, aidd-vcs, aidd-pm, aidd-orchestrator, aidd-refine]
steps:
- name: Check if this plugin was released
id: check
run: |
PATHS='${{ needs.release-please.outputs.paths_released }}'
if echo "$PATHS" | jq -e --arg p "plugins/${{ matrix.plugin }}" 'map(. == $p) | any' > /dev/null 2>&1; then
echo "released=true" >> $GITHUB_OUTPUT
else
echo "released=false" >> $GITHUB_OUTPUT
fi
- uses: actions/checkout@v4
if: steps.check.outputs.released == 'true'
- name: Get plugin version
id: version
if: steps.check.outputs.released == 'true'
run: |
VERSION=$(jq -r '.version' "plugins/${{ matrix.plugin }}/.claude-plugin/plugin.json")
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Build plugin tarball
if: steps.check.outputs.released == 'true'
run: |
PLUGIN="${{ matrix.plugin }}"
VERSION="${{ steps.version.outputs.version }}"
tar czf "/tmp/${PLUGIN}-v${VERSION}.tar.gz" \
-C "plugins/${PLUGIN}" \
.
- name: Attach plugin tarball to release
if: steps.check.outputs.released == 'true'
env:
GH_TOKEN: ${{ github.token }}
run: |
PLUGIN="${{ matrix.plugin }}"
VERSION="${{ steps.version.outputs.version }}"
TAG="${PLUGIN}-v${VERSION}"
gh release upload "${TAG}" \
"/tmp/${PLUGIN}-v${VERSION}.tar.gz" \
--clobber