mirror of
https://github.com/langchain-ai/deepagentsjs.git
synced 2026-08-24 22:11:26 -04:00
53194d08ad
Bumps the major-deps-updates group with 2 updates: [actions/setup-python](https://github.com/actions/setup-python) and [actions/stale](https://github.com/actions/stale). Updates `actions/setup-python` from 6.3.0 to 7.0.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/setup-python/releases">actions/setup-python's releases</a>.</em></p> <blockquote> <h2>v7.0.0</h2> <h2>What's Changed</h2> <h3>Enhancements</h3> <ul> <li>Migrate to ESM and upgrade dependencies by <a href="https://github.com/priyagupta108"><code>@priyagupta108</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1330">actions/setup-python#1330</a></li> <li>Pin SHA commits and update docs with latest versions by <a href="https://github.com/HarithaVattikuti"><code>@HarithaVattikuti</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1338">actions/setup-python#1338</a></li> <li>Remove the pip-install input by <a href="https://github.com/gowridurgad"><code>@gowridurgad</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1336">actions/setup-python#1336</a></li> </ul> <h3>Bug Fix</h3> <ul> <li>Fix to Classify stderr warning messages as warnings instead of errors in annotations by <a href="https://github.com/lmvysakh"><code>@lmvysakh</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1335">actions/setup-python#1335</a></li> <li>Validate and retry manifest fetch to prevent silent failures by <a href="https://github.com/priyagupta108"><code>@priyagupta108</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1332">actions/setup-python#1332</a></li> </ul> <h3>Dependency Upgrade</h3> <ul> <li>Bump certifi from 2020.6.20 to 2024.7.4 in /<strong>tests</strong>/data by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1328">actions/setup-python#1328</a></li> <li>Remove EOL Python versions and Bumps numpy text fixture by <a href="https://github.com/priya-kinthali"><code>@priya-kinthali</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1333">actions/setup-python#1333</a></li> <li>Upgrade <code>@actions/cache</code> to 6.2.0 by <a href="https://github.com/philip-gai"><code>@philip-gai</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1337">actions/setup-python#1337</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/lmvysakh"><code>@lmvysakh</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/1335">actions/setup-python#1335</a></li> <li><a href="https://github.com/philip-gai"><code>@philip-gai</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/1337">actions/setup-python#1337</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v6...v7.0.0">https://github.com/actions/setup-python/compare/v6...v7.0.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/setup-python/commit/5fda3b95a4ea91299a34e894583c3862153e4b97"><code>5fda3b9</code></a> Pin SHA commits and update docs with latest versions (<a href="https://redirect.github.com/actions/setup-python/issues/1338">#1338</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/4ab7e95f05e168b4356aebde89dd84f59c283d8e"><code>4ab7e95</code></a> Merge pull request <a href="https://redirect.github.com/actions/setup-python/issues/1337">#1337</a> from actions/philip-gai/bump-actions-cache-6-2-0</li> <li><a href="https://github.com/actions/setup-python/commit/0f3a009f475dbea83c0371cd85d099690fee8c5c"><code>0f3a009</code></a> Remove the pip-install input (<a href="https://redirect.github.com/actions/setup-python/issues/1336">#1336</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/f8cf4291c8b8e273ddd26e569454615c7315d932"><code>f8cf429</code></a> Migrate to ESM and upgrade dependencies (<a href="https://redirect.github.com/actions/setup-python/issues/1330">#1330</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/54baeea5b34417d10a7479663a23cca53ea209b5"><code>54baeea</code></a> Validate and retry manifest fetch to prevent silent failures (<a href="https://redirect.github.com/actions/setup-python/issues/1332">#1332</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/c7092773a316760f4ecfe498e4af668a4dafeac5"><code>c709277</code></a> Annotation code fix (<a href="https://redirect.github.com/actions/setup-python/issues/1335">#1335</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/6849080452e69b330395e8a6d23cf90f56d76a1a"><code>6849080</code></a> remove EOL Python versions and Bumps numpy text fixture (<a href="https://redirect.github.com/actions/setup-python/issues/1333">#1333</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/0903b469fbf4441aadfe4f4b249dc5b1fba3a73e"><code>0903b46</code></a> Bump certifi from 2020.6.20 to 2024.7.4 in /<strong>tests</strong>/data (<a href="https://redirect.github.com/actions/setup-python/issues/1328">#1328</a>)</li> <li>See full diff in <a href="https://github.com/actions/setup-python/compare/ece7cb06caefa5fff74198d8649806c4678c61a1...5fda3b95a4ea91299a34e894583c3862153e4b97">compare view</a></li> </ul> </details> <br /> Updates `actions/stale` from 10.4.0 to 11.0.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/stale/releases">actions/stale's releases</a>.</em></p> <blockquote> <h2>v11.0.0</h2> <h2>What's Changed</h2> <h3>Enhancement</h3> <ul> <li>Migrate to ESM and update dependencies by <a href="https://github-grid.enterprise.slack.com/team/U08CVLQ4JKE"><code>@chiranjib-swain</code></a> in <a href="https://redirect.github.com/actions/stale/pull/1350">actions/stale#1350</a></li> </ul> <h3>Dependency Update</h3> <ul> <li>Override brace-expansion to 5.0.8 to address 24 high-severity dependency vulnerabilities by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/stale/pull/1351">actions/stale#1351</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/stale/compare/v10...v11.0.0">https://github.com/actions/stale/compare/v10...v11.0.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/stale/commit/4391f3da665fdf50b6810c1a66712fb9ba21aa93"><code>4391f3d</code></a> Fix 24 high severity vulnerabilities by overriding brace-expansion to 5.0.8 (...</li> <li><a href="https://github.com/actions/stale/commit/eaf9131fae5eafd0c31a64ebe3a2e183266fec48"><code>eaf9131</code></a> refactor: update imports to use ES module syntax and improve test structure (...</li> <li>See full diff in <a href="https://github.com/actions/stale/compare/1e223db275d687790206a7acac4d1a11bd6fe629...4391f3da665fdf50b6810c1a66712fb9ba21aa93">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
333 lines
12 KiB
YAML
333 lines
12 KiB
YAML
# CLI Release Workflow
|
|
#
|
|
# This workflow builds and publishes the deepagents-cli npm package.
|
|
# It wraps the Python deepagents-cli from PyPI as platform-specific binaries.
|
|
#
|
|
# Triggers:
|
|
# - Manual dispatch with optional version override
|
|
# - Daily schedule to check for new PyPI releases
|
|
#
|
|
# Jobs:
|
|
# 1. check-version: Determine if a new build is needed
|
|
# 2. build: Build binaries for each platform (matrix)
|
|
# 3. publish: Publish all packages to npm
|
|
|
|
name: CLI Release
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: "Version to build (leave empty for latest from PyPI)"
|
|
required: false
|
|
type: string
|
|
dry_run:
|
|
description: "Dry run (skip publishing)"
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
schedule:
|
|
# Check for new PyPI releases daily at 6:00 AM UTC
|
|
- cron: "0 6 * * *"
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
# Ensure only one release workflow runs at a time
|
|
concurrency:
|
|
group: cli-release
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
# ==========================================================================
|
|
# Job 1: Check if a new version needs to be built
|
|
# ==========================================================================
|
|
check-version:
|
|
name: Check Version
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
should_build: ${{ steps.check.outputs.should_build }}
|
|
version: ${{ steps.check.outputs.version }}
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Check for new version
|
|
id: check
|
|
run: |
|
|
set -e
|
|
|
|
# Get latest PyPI version
|
|
echo "Fetching latest version from PyPI..."
|
|
PYPI_VERSION=$(curl -s https://pypi.org/pypi/deepagents-cli/json | jq -r '.info.version')
|
|
echo "PyPI version: $PYPI_VERSION"
|
|
|
|
# Get current npm version (may not exist yet)
|
|
echo "Checking npm version..."
|
|
NPM_VERSION=$(npm view deepagents-cli version 2>/dev/null || echo "0.0.0")
|
|
echo "npm version: $NPM_VERSION"
|
|
|
|
# Manual override takes precedence
|
|
if [ -n "${{ github.event.inputs.version }}" ]; then
|
|
VERSION="${{ github.event.inputs.version }}"
|
|
echo "Using manual version override: $VERSION"
|
|
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
echo "should_build=true" >> $GITHUB_OUTPUT
|
|
elif [ "$PYPI_VERSION" != "$NPM_VERSION" ]; then
|
|
echo "New version available: $PYPI_VERSION (current: $NPM_VERSION)"
|
|
echo "version=$PYPI_VERSION" >> $GITHUB_OUTPUT
|
|
echo "should_build=true" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "No new version available"
|
|
echo "version=$PYPI_VERSION" >> $GITHUB_OUTPUT
|
|
echo "should_build=false" >> $GITHUB_OUTPUT
|
|
fi
|
|
|
|
- name: Summary
|
|
run: |
|
|
echo "### Version Check Results" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "| Property | Value |" >> $GITHUB_STEP_SUMMARY
|
|
echo "|----------|-------|" >> $GITHUB_STEP_SUMMARY
|
|
echo "| Version | ${{ steps.check.outputs.version }} |" >> $GITHUB_STEP_SUMMARY
|
|
echo "| Should Build | ${{ steps.check.outputs.should_build }} |" >> $GITHUB_STEP_SUMMARY
|
|
|
|
# ==========================================================================
|
|
# Job 2: Build binaries for each platform
|
|
# ==========================================================================
|
|
build:
|
|
name: Build (${{ matrix.platform }})
|
|
needs: check-version
|
|
if: needs.check-version.outputs.should_build == 'true'
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- platform: linux-x64
|
|
os: ubuntu-latest
|
|
python-version: "3.11"
|
|
- platform: linux-arm64
|
|
os: ubuntu-24.04-arm
|
|
python-version: "3.11"
|
|
- platform: darwin-x64
|
|
os: macos-13
|
|
python-version: "3.11"
|
|
- platform: darwin-arm64
|
|
os: macos-14
|
|
python-version: "3.11"
|
|
- platform: win32-x64
|
|
os: windows-latest
|
|
python-version: "3.11"
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
timeout-minutes: 30
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
|
with:
|
|
node-version: "22"
|
|
|
|
- name: Setup pnpm
|
|
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install
|
|
working-directory: libs/cli
|
|
|
|
- name: Build CLI binary
|
|
run: |
|
|
pnpm run build:cli \
|
|
--platform ${{ matrix.platform }} \
|
|
--version ${{ needs.check-version.outputs.version }}
|
|
working-directory: libs/cli
|
|
env:
|
|
# Increase Node.js heap size for PyInstaller
|
|
NODE_OPTIONS: "--max-old-space-size=4096"
|
|
|
|
- name: List build output
|
|
run: |
|
|
echo "Build output:"
|
|
ls -la dist/platforms/${{ matrix.platform }}/ || true
|
|
ls -la dist/platforms/${{ matrix.platform }}/bin/ || true
|
|
working-directory: libs/cli
|
|
shell: bash
|
|
|
|
- name: Upload platform package
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: cli-${{ matrix.platform }}
|
|
path: libs/cli/dist/platforms/${{ matrix.platform }}/
|
|
retention-days: 7
|
|
if-no-files-found: error
|
|
|
|
# ==========================================================================
|
|
# Job 3: Publish all packages to npm
|
|
# ==========================================================================
|
|
publish:
|
|
name: Publish to npm
|
|
needs: [check-version, build]
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
|
with:
|
|
node-version: "22"
|
|
registry-url: "https://registry.npmjs.org"
|
|
|
|
- name: Setup pnpm
|
|
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
|
|
|
|
- name: Download all platform packages
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
path: libs/cli/dist/platforms/
|
|
pattern: cli-*
|
|
merge-multiple: true
|
|
|
|
- name: List downloaded artifacts
|
|
run: |
|
|
echo "Downloaded artifacts:"
|
|
find libs/cli/dist/platforms -type f | head -50
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install
|
|
working-directory: libs/cli
|
|
|
|
- name: Build main package
|
|
run: pnpm run build
|
|
working-directory: libs/cli
|
|
|
|
- name: Update versions
|
|
run: |
|
|
VERSION="${{ needs.check-version.outputs.version }}"
|
|
echo "Setting version to $VERSION"
|
|
|
|
# Update main package version
|
|
cd libs/cli
|
|
npm version "$VERSION" --no-git-tag-version --allow-same-version
|
|
|
|
# Update platform package versions
|
|
for platform in linux-x64 linux-arm64 darwin-x64 darwin-arm64 win32-x64; do
|
|
if [ -d "dist/platforms/$platform" ]; then
|
|
echo "Updating $platform to version $VERSION"
|
|
cd "dist/platforms/$platform"
|
|
npm version "$VERSION" --no-git-tag-version --allow-same-version
|
|
cd - > /dev/null
|
|
else
|
|
echo "Warning: Platform $platform not found"
|
|
fi
|
|
done
|
|
|
|
- name: Publish platform packages
|
|
if: ${{ github.event.inputs.dry_run != 'true' }}
|
|
run: |
|
|
for platform in linux-x64 linux-arm64 darwin-x64 darwin-arm64 win32-x64; do
|
|
if [ -d "libs/cli/dist/platforms/$platform" ]; then
|
|
echo "Publishing @deepagents-cli/$platform..."
|
|
cd "libs/cli/dist/platforms/$platform"
|
|
|
|
# Try to publish, continue on error (may already exist)
|
|
npm publish --access public || echo "Warning: Failed to publish $platform (may already exist)"
|
|
|
|
cd - > /dev/null
|
|
fi
|
|
done
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
|
|
- name: Publish main package
|
|
if: ${{ github.event.inputs.dry_run != 'true' }}
|
|
run: |
|
|
echo "Publishing deepagents-cli..."
|
|
npm publish --access public
|
|
working-directory: libs/cli
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
|
|
- name: Dry run summary
|
|
if: ${{ github.event.inputs.dry_run == 'true' }}
|
|
run: |
|
|
echo "### Dry Run - Would have published:" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "- deepagents-cli@${{ needs.check-version.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
|
for platform in linux-x64 linux-arm64 darwin-x64 darwin-arm64 win32-x64; do
|
|
echo "- @deepagents-cli/$platform@${{ needs.check-version.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
|
done
|
|
|
|
- name: Publish summary
|
|
if: ${{ github.event.inputs.dry_run != 'true' }}
|
|
run: |
|
|
echo "### Published Packages" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "Version: ${{ needs.check-version.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "| Package | Status |" >> $GITHUB_STEP_SUMMARY
|
|
echo "|---------|--------|" >> $GITHUB_STEP_SUMMARY
|
|
echo "| deepagents-cli | ✅ Published |" >> $GITHUB_STEP_SUMMARY
|
|
for platform in linux-x64 linux-arm64 darwin-x64 darwin-arm64 win32-x64; do
|
|
echo "| @deepagents-cli/$platform | ✅ Published |" >> $GITHUB_STEP_SUMMARY
|
|
done
|
|
|
|
# ==========================================================================
|
|
# Job 4: Create GitHub Release (optional)
|
|
# ==========================================================================
|
|
release:
|
|
name: Create Release
|
|
needs: [check-version, publish]
|
|
if: ${{ github.event.inputs.dry_run != 'true' }}
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Create Release
|
|
uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
|
|
with:
|
|
tag_name: cli-v${{ needs.check-version.outputs.version }}
|
|
name: deepagents-cli v${{ needs.check-version.outputs.version }}
|
|
body: |
|
|
## deepagents-cli v${{ needs.check-version.outputs.version }}
|
|
|
|
This release wraps [deepagents-cli ${{ needs.check-version.outputs.version }}](https://pypi.org/project/deepagents-cli/${{ needs.check-version.outputs.version }}/) from PyPI.
|
|
|
|
### Installation
|
|
|
|
```bash
|
|
npm install -g deepagents-cli
|
|
```
|
|
|
|
### Supported Platforms
|
|
|
|
- Linux x64
|
|
- Linux ARM64
|
|
- macOS Intel (x64)
|
|
- macOS Apple Silicon (ARM64)
|
|
- Windows x64
|
|
|
|
### Links
|
|
|
|
- [npm package](https://www.npmjs.com/package/deepagents-cli)
|
|
- [PyPI package](https://pypi.org/project/deepagents-cli/)
|
|
- [Documentation](https://github.com/langchain-ai/deepagentsjs/tree/main/libs/cli)
|
|
draft: false
|
|
prerelease: false
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|