Skip to content

Commit d1d9280

Browse files
committed
Merge branch 'main' into kimik2-tools
2 parents 8021853 + 1220021 commit d1d9280

File tree

414 files changed

+70299
-2420
lines changed

Some content is hidden

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

414 files changed

+70299
-2420
lines changed

.github/workflows/beta-release.yml

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
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@v3
28+
with:
29+
node-version: 20
30+
registry-url: "https://registry.npmjs.org"
31+
always-auth: true
32+
33+
- name: Install dependencies
34+
working-directory: extensions/cli
35+
run: npm ci
36+
env:
37+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
38+
39+
- name: Get current version
40+
id: get_version
41+
working-directory: extensions/cli
42+
run: |
43+
# Get the latest version from package.json or npm registry
44+
CURRENT_VERSION=$(node -p "require('./package.json').version")
45+
if [[ "$CURRENT_VERSION" == "0.0.0-dev" ]]; then
46+
# If it's dev version, get latest from npm registry
47+
LATEST_VERSION=$(npm view @continuedev/cli version --silent 2>/dev/null || echo "0.0.0")
48+
echo "Using latest npm version: $LATEST_VERSION"
49+
CURRENT_VERSION=$LATEST_VERSION
50+
fi
51+
52+
# Create beta version with current date
53+
DATE_SUFFIX=$(date -u +%Y%m%d)
54+
BETA_VERSION="${CURRENT_VERSION}-beta.${DATE_SUFFIX}"
55+
56+
# Check if this version already exists on npm
57+
if npm view @continuedev/cli@$BETA_VERSION version --silent >/dev/null 2>&1; then
58+
echo "Version $BETA_VERSION already exists, adding timestamp"
59+
# Add hour and minute to make it unique
60+
TIMESTAMP_SUFFIX=$(date -u +%Y%m%d.%H%M)
61+
BETA_VERSION="${CURRENT_VERSION}-beta.${TIMESTAMP_SUFFIX}"
62+
echo "Using timestamped version: $BETA_VERSION"
63+
fi
64+
65+
echo "current_version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
66+
echo "beta_version=$BETA_VERSION" >> $GITHUB_OUTPUT
67+
echo "date_suffix=$DATE_SUFFIX" >> $GITHUB_OUTPUT
68+
69+
- name: Update package.json for beta
70+
working-directory: extensions/cli
71+
run: |
72+
# Update version in package.json
73+
npm version ${{ steps.get_version.outputs.beta_version }} --no-git-tag-version
74+
75+
- name: Build
76+
working-directory: extensions/cli
77+
run: npm run build
78+
79+
- name: Publish beta to npm
80+
working-directory: extensions/cli
81+
env:
82+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
83+
run: |
84+
npm publish --tag beta
85+
echo "Published beta version: ${{ steps.get_version.outputs.beta_version }}"
86+
87+
- name: Create beta release on GitHub
88+
env:
89+
GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_TOKEN }}
90+
run: |
91+
# Create a git tag for the beta
92+
git config --local user.email "[email protected]"
93+
git config --local user.name "GitHub Action"
94+
git tag "v${{ steps.get_version.outputs.beta_version }}"
95+
git push origin "v${{ steps.get_version.outputs.beta_version }}"
96+
97+
# Create GitHub release
98+
gh release create "v${{ steps.get_version.outputs.beta_version }}" \
99+
--title "Beta Release v${{ steps.get_version.outputs.beta_version }}" \
100+
--notes "Daily beta release for testing. This version will be promoted to stable after 7 days if no critical issues are found." \
101+
--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: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
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: Install dependencies
29+
run: |
30+
cd extensions/cli
31+
npm ci
32+
33+
- name: Run linting
34+
run: |
35+
cd extensions/cli
36+
npm run lint
37+
38+
test:
39+
strategy:
40+
matrix:
41+
os: [ubuntu-latest, windows-latest, macos-latest]
42+
node-version: [18, 20, 22, 24]
43+
runs-on: ${{ matrix.os }}
44+
45+
steps:
46+
- name: Checkout code
47+
uses: actions/checkout@v4
48+
49+
- name: Setup Node.js ${{ matrix.node-version }}
50+
uses: actions/setup-node@v4
51+
with:
52+
node-version: ${{ matrix.node-version }}
53+
cache: "npm"
54+
cache-dependency-path: extensions/cli/package-lock.json
55+
56+
- name: Install dependencies
57+
run: |
58+
cd extensions/cli
59+
npm ci
60+
61+
- name: Build
62+
run: |
63+
cd extensions/cli
64+
npm run build
65+
66+
# e2e tests are failing on Windows specifically - likely due to stdout flush issues
67+
- name: Run tests
68+
if: matrix.os != 'windows-latest'
69+
run: |
70+
cd extensions/cli
71+
npm test
72+
73+
- name: Run tests (excluding e2e on Windows)
74+
if: matrix.os == 'windows-latest'
75+
shell: bash
76+
run: |
77+
cd extensions/cli
78+
npm test -- --exclude='**/*.e2e.*' --exclude='**/e2e/**'
79+
80+
# GitHub does not have a way of requiring that all checks pass (you must manually select each job)
81+
# This action at least lets us manage the list of required tests via source control
82+
# so that creators of new jobs can add them to this list
83+
require-all-checks-to-pass-cli:
84+
if: always()
85+
runs-on: ubuntu-latest
86+
needs:
87+
- lint
88+
- test
89+
90+
steps:
91+
- name: Decide whether the needed jobs succeeded or failed
92+
uses: re-actors/alls-green@release/v1
93+
with:
94+
jobs: ${{ toJSON(needs) }}

0 commit comments

Comments
 (0)