Skip to content

Commit be0c0d5

Browse files
committed
merge: main
2 parents 9b0b581 + 519403e commit be0c0d5

File tree

481 files changed

+73773
-3389
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

481 files changed

+73773
-3389
lines changed

.github/actions/run-jetbrains-tests/action.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,13 @@ runs:
9393
path: binary/node_modules
9494
key: ${{ runner.os }}-binary-node-modules-${{ hashFiles('binary/package-lock.json') }}
9595

96+
- name: Install binary dependencies
97+
if: steps.binary-cache.outputs.cache-hit != 'true'
98+
shell: bash
99+
run: |
100+
cd binary
101+
npm ci
102+
96103
- name: Build the binaries
97104
shell: bash
98105
run: |

.github/workflows/beta-release.yml

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
name: Beta Release
2+
3+
on:
4+
schedule:
5+
# Run every day at 9am UTC
6+
- cron: "0 9 * * *"
7+
workflow_dispatch:
8+
# Allow manual triggering
9+
10+
permissions:
11+
contents: write
12+
issues: write
13+
pull-requests: write
14+
15+
jobs:
16+
beta-release:
17+
name: Beta Release
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout
21+
uses: actions/checkout@v4
22+
with:
23+
fetch-depth: 0
24+
token: ${{ secrets.SEMANTIC_RELEASE_TOKEN }}
25+
26+
- name: Setup Node.js
27+
uses: actions/setup-node@v4
28+
with:
29+
node-version: 20
30+
registry-url: "https://registry.npmjs.org"
31+
always-auth: true
32+
33+
- name: Setup packages
34+
uses: ./.github/actions/setup-packages
35+
36+
- name: Setup core component
37+
uses: ./.github/actions/setup-component
38+
with:
39+
component: core
40+
include-root: true
41+
42+
- name: Install CLI dependencies
43+
working-directory: extensions/cli
44+
run: npm ci
45+
env:
46+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
47+
48+
- name: Get current version
49+
id: get_version
50+
working-directory: extensions/cli
51+
run: |
52+
# Get the latest version from package.json or npm registry
53+
CURRENT_VERSION=$(node -p "require('./package.json').version")
54+
if [[ "$CURRENT_VERSION" == "0.0.0-dev" ]]; then
55+
# If it's dev version, get latest from npm registry
56+
LATEST_VERSION=$(npm view @continuedev/cli version --silent 2>/dev/null || echo "0.0.0")
57+
echo "Using latest npm version: $LATEST_VERSION"
58+
CURRENT_VERSION=$LATEST_VERSION
59+
fi
60+
61+
# Create beta version with current date
62+
DATE_SUFFIX=$(date -u +%Y%m%d)
63+
BETA_VERSION="${CURRENT_VERSION}-beta.${DATE_SUFFIX}"
64+
65+
# Check if this version already exists on npm
66+
if npm view @continuedev/cli@$BETA_VERSION version --silent >/dev/null 2>&1; then
67+
echo "Version $BETA_VERSION already exists, adding timestamp"
68+
# Add hour and minute to make it unique
69+
TIMESTAMP_SUFFIX=$(date -u +%Y%m%d.%H%M)
70+
BETA_VERSION="${CURRENT_VERSION}-beta.${TIMESTAMP_SUFFIX}"
71+
echo "Using timestamped version: $BETA_VERSION"
72+
fi
73+
74+
echo "current_version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
75+
echo "beta_version=$BETA_VERSION" >> $GITHUB_OUTPUT
76+
echo "date_suffix=$DATE_SUFFIX" >> $GITHUB_OUTPUT
77+
78+
- name: Update package.json for beta
79+
working-directory: extensions/cli
80+
run: |
81+
# Update version in package.json
82+
npm version ${{ steps.get_version.outputs.beta_version }} --no-git-tag-version
83+
84+
- name: Build
85+
working-directory: extensions/cli
86+
run: npm run build
87+
88+
- name: Publish beta to npm
89+
working-directory: extensions/cli
90+
env:
91+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
92+
run: |
93+
npm publish --tag beta
94+
echo "Published beta version: ${{ steps.get_version.outputs.beta_version }}"
95+
96+
- name: Create beta release on GitHub
97+
env:
98+
GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_TOKEN }}
99+
run: |
100+
# Create a git tag for the beta
101+
git config --local user.email "[email protected]"
102+
git config --local user.name "GitHub Action"
103+
git tag "v${{ steps.get_version.outputs.beta_version }}"
104+
git push origin "v${{ steps.get_version.outputs.beta_version }}"
105+
106+
# Create GitHub release
107+
gh release create "v${{ steps.get_version.outputs.beta_version }}" \
108+
--title "Beta Release v${{ steps.get_version.outputs.beta_version }}" \
109+
--notes "Daily beta release for testing. This version will be promoted to stable after 7 days if no critical issues are found." \
110+
--prerelease

.github/workflows/cla.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ jobs:
2727
path-to-document: "https://github.com/continuedev/continue/blob/main/CLA.md"
2828
branch: cla-signatures
2929
# Bots and CLAs signed outside of GitHub
30-
allowlist: dependabot[bot],fbricon,panyamkeerthana,Jazzcort,owtaylor,halfline
30+
allowlist: dependabot[bot],fbricon,panyamkeerthana,Jazzcort,owtaylor,halfline,[email protected]
3131
signed-commit-message: "CLA signed in $pullRequestNo"
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
name: CLI PR Checks
2+
3+
on:
4+
pull_request:
5+
branches: [main]
6+
paths:
7+
- "extensions/cli/**"
8+
9+
permissions:
10+
contents: read
11+
pull-requests: write
12+
issues: write
13+
14+
jobs:
15+
lint:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v4
20+
21+
- name: Setup Node.js
22+
uses: actions/setup-node@v4
23+
with:
24+
node-version: 20
25+
cache: "npm"
26+
cache-dependency-path: extensions/cli/package-lock.json
27+
28+
- name: Setup packages
29+
uses: ./.github/actions/setup-packages
30+
- name: Setup core component
31+
uses: ./.github/actions/setup-component
32+
with:
33+
component: core
34+
include-root: true
35+
36+
- name: Install dependencies
37+
run: |
38+
cd extensions/cli
39+
npm ci --include=optional
40+
41+
- name: Run linting
42+
run: |
43+
cd extensions/cli
44+
npm run lint
45+
46+
test:
47+
strategy:
48+
matrix:
49+
os: [ubuntu-latest, windows-latest, macos-latest]
50+
node-version: [18, 20, 22, 24]
51+
runs-on: ${{ matrix.os }}
52+
53+
steps:
54+
- name: Checkout code
55+
uses: actions/checkout@v4
56+
57+
- name: Setup Node.js ${{ matrix.node-version }}
58+
uses: actions/setup-node@v4
59+
with:
60+
node-version: ${{ matrix.node-version }}
61+
62+
- name: Cache CLI node_modules
63+
uses: actions/cache@v4
64+
with:
65+
path: extensions/cli/node_modules
66+
key: ${{ runner.os }}-node${{ matrix.node-version }}-cli-modules-${{ hashFiles('extensions/cli/package-lock.json') }}
67+
restore-keys: |
68+
${{ runner.os }}-node${{ matrix.node-version }}-cli-modules-
69+
70+
- name: Setup packages
71+
uses: ./.github/actions/setup-packages
72+
- name: Setup core component
73+
uses: ./.github/actions/setup-component
74+
with:
75+
component: core
76+
include-root: true
77+
78+
- name: Install dependencies
79+
run: |
80+
cd extensions/cli
81+
npm ci --include=optional
82+
83+
- name: Build
84+
run: |
85+
cd extensions/cli
86+
npm run build
87+
88+
- name: Run smoke tests
89+
run: |
90+
cd extensions/cli
91+
npm run test:smoke
92+
93+
# e2e tests are failing on Windows specifically - likely due to stdout flush issues
94+
- name: Run tests
95+
if: matrix.os != 'windows-latest'
96+
run: |
97+
cd extensions/cli
98+
npm test
99+
100+
- name: Run tests (excluding e2e on Windows)
101+
if: matrix.os == 'windows-latest'
102+
shell: bash
103+
run: |
104+
cd extensions/cli
105+
npm test -- --exclude='**/*.e2e.*' --exclude='**/e2e/**'
106+
107+
# GitHub does not have a way of requiring that all checks pass (you must manually select each job)
108+
# This action at least lets us manage the list of required tests via source control
109+
# so that creators of new jobs can add them to this list
110+
require-all-checks-to-pass-cli:
111+
if: always()
112+
runs-on: ubuntu-latest
113+
needs:
114+
- lint
115+
- test
116+
117+
steps:
118+
- name: Decide whether the needed jobs succeeded or failed
119+
uses: re-actors/alls-green@release/v1
120+
with:
121+
jobs: ${{ toJSON(needs) }}

.github/workflows/docs.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

.github/workflows/jetbrains-release.yaml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ jobs:
120120

121121
# # Set up Java environment for the next steps
122122
- name: Setup Java
123-
uses: actions/setup-java@v4
123+
uses: actions/setup-java@v5
124124
with:
125125
distribution: zulu
126126
java-version: 17
@@ -189,6 +189,8 @@ jobs:
189189
cd ../../gui
190190
npm ci
191191
npm run build
192+
env:
193+
NODE_OPTIONS: "--max-old-space-size=8192"
192194

193195
# Run prepackage.js script
194196
- name: Run prepackage script
@@ -433,7 +435,7 @@ jobs:
433435

434436
# Set up Java environment for the next steps
435437
- name: Setup Java
436-
uses: actions/setup-java@v4
438+
uses: actions/setup-java@v5
437439
with:
438440
distribution: zulu
439441
java-version: 17
@@ -486,7 +488,7 @@ jobs:
486488

487489
# Set up Java environment for the next steps
488490
- name: Setup Java
489-
uses: actions/setup-java@v4
491+
uses: actions/setup-java@v5
490492
with:
491493
distribution: zulu
492494
java-version: 17
@@ -517,7 +519,7 @@ jobs:
517519

518520
# Set up Java environment for the next steps
519521
- name: Setup Java
520-
uses: actions/setup-java@v4
522+
uses: actions/setup-java@v5
521523
with:
522524
distribution: zulu
523525
java-version: 17

0 commit comments

Comments
 (0)