From 8cda7bc97eba77ea285df6e7e439ea35419d0720 Mon Sep 17 00:00:00 2001 From: Raymond Zhao <7199958+rzhao271@users.noreply.github.com> Date: Tue, 29 Sep 2026 10:34:15 -0700 Subject: [PATCH] chore: migrate CI to GitHub Actions --- .github/workflows/ci.yml | 53 +++++++++++++++++++ azure-pipelines.yml | 22 -------- build/azure-pipelines/index/build.yml.off | 21 -------- build/azure-pipelines/linux/build.yml | 25 --------- .../azure-pipelines/lsif-repository-tests.yml | 31 ----------- build/azure-pipelines/win32/build.yml | 28 ---------- 6 files changed, 53 insertions(+), 127 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 azure-pipelines.yml delete mode 100644 build/azure-pipelines/index/build.yml.off delete mode 100644 build/azure-pipelines/linux/build.yml delete mode 100644 build/azure-pipelines/lsif-repository-tests.yml delete mode 100644 build/azure-pipelines/win32/build.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..8ccbcd0 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,53 @@ +name: CI + +on: + push: + pull_request: + branches: + - main + - "release/*" + +permissions: + contents: read + +jobs: + build: + name: Build (${{ matrix.os }}) + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: + - ubuntu-latest + - windows-latest + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Use Node.js 24.18.0 + uses: actions/setup-node@v4 + with: + node-version: 24.18.0 + + - name: Install dependencies + run: npm ci + + - name: Run hygiene checks + run: | + npm run check:isolated-lockfiles + npm run lint + + - name: Compile + run: npm run compile + + - name: Run unit tests + run: npm run test + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v4 + with: + name: test-results-${{ matrix.os }} + path: util/junit.xml + if-no-files-found: ignore diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index a0b1cea..0000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,22 +0,0 @@ -trigger: - batch: true - branches: - include: - - '*' - -pr: -- main -- release/* - -jobs: -- job: Linux - pool: - vmImage: 'ubuntu-latest' - steps: - - template: build/azure-pipelines/linux/build.yml - -- job: Windows - pool: - vmImage: 'windows-latest' - steps: - - template: build/azure-pipelines/win32/build.yml \ No newline at end of file diff --git a/build/azure-pipelines/index/build.yml.off b/build/azure-pipelines/index/build.yml.off deleted file mode 100644 index dcb809d..0000000 --- a/build/azure-pipelines/index/build.yml.off +++ /dev/null @@ -1,21 +0,0 @@ -steps: -- task: NodeTool@0 - inputs: - versionSpec: '16.14.2' - displayName: 'Use Node.js 16.14.2' - -- script: | - npm ci - displayName: 'Install dependencies' - -- script: | - npm run symlink - displayName: 'Symlink Dependencies' - -- task: RichCodeNavIndexer@0 - displayName: VS Rich Code Navigation Upload - inputs: - languages: typescript - typescriptVersion: 0.6.0-next.21 - configFiles: .lsifrc.json - continueOnError: true \ No newline at end of file diff --git a/build/azure-pipelines/linux/build.yml b/build/azure-pipelines/linux/build.yml deleted file mode 100644 index abb3d0b..0000000 --- a/build/azure-pipelines/linux/build.yml +++ /dev/null @@ -1,25 +0,0 @@ -steps: -- task: NodeTool@0 - inputs: - versionSpec: '24.18.0' - displayName: 'Use Node.js 24.18.0' - -- script: | - npm ci - displayName: 'Install dependencies' - -- script: | - npm run check:isolated-lockfiles - npm run lint - npm run compile - displayName: 'Compile client' - -- script: | - npm run test - displayName: 'Run unit tests' - -- task: PublishTestResults@2 - inputs: - testResultsFormat: 'JUnit' - testResultsFiles: 'util/junit.xml' - testRunTitle: 'Run unit tests' \ No newline at end of file diff --git a/build/azure-pipelines/lsif-repository-tests.yml b/build/azure-pipelines/lsif-repository-tests.yml deleted file mode 100644 index 2b8e06c..0000000 --- a/build/azure-pipelines/lsif-repository-tests.yml +++ /dev/null @@ -1,31 +0,0 @@ -# no PR triggers -pr: none -trigger: none - -schedules: -- cron: "0 0 * * *" - displayName: Daily midnight test repositories validation - branches: - include: - - main - -pool: - vmImage: 'ubuntu-20.04' - -steps: -- task: NodeTool@0 - inputs: - versionSpec: '24.18.0' - displayName: 'Use Node.js 24.18.0' - -- script: | - npm ci - displayName: 'Install dependencies' - -- script: | - npm run compile - displayName: 'Compile client' - -- script: | - node ./build/bin/testConfigs.js ./configs - displayName: 'Running repository tests' diff --git a/build/azure-pipelines/win32/build.yml b/build/azure-pipelines/win32/build.yml deleted file mode 100644 index 83f7e82..0000000 --- a/build/azure-pipelines/win32/build.yml +++ /dev/null @@ -1,28 +0,0 @@ -steps: -- task: NodeTool@0 - inputs: - versionSpec: '24.18.0' - displayName: 'Use Node.js 24.18.0' - -- script: | - npm ci - displayName: 'Install dependencies' - -- script: | - npm run check:isolated-lockfiles - npm run lint - displayName: 'Hygiene Checks' - -- script: - npm run compile - displayName: 'Compile client' - -- script: | - npm run test - displayName: 'Run unit tests' - -- task: PublishTestResults@2 - inputs: - testResultsFormat: 'JUnit' - testResultsFiles: 'util/junit.xml' - testRunTitle: 'Run unit tests' \ No newline at end of file