diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 7d273d01637f1..0000000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,132 +0,0 @@ -version: 2.1 - -aliases: - - &docker - - image: cimg/node:18.20.1-browsers - - - &environment - TZ: /usr/share/zoneinfo/America/Los_Angeles - - - &TEST_PARALLELISM 20 - - - &attach_workspace - at: build - -commands: - setup_node_modules: - description: "Restore node_modules" - steps: - - restore_cache: - name: Restore yarn cache - keys: - - v2-yarn_cache-{{ arch }}-{{ checksum "yarn.lock" }} - - run: - name: Install dependencies - command: | - yarn install --frozen-lockfile --cache-folder ~/.cache/yarn - if [ $? -ne 0 ]; then - yarn install --frozen-lockfile --cache-folder ~/.cache/yarn - fi - environment: - # If we start needing the Electron binary, please ensure the binary is cached in CI following https://www.electronjs.org/docs/latest/tutorial/installation - ELECTRON_SKIP_BINARY_DOWNLOAD: 1 - - save_cache: - name: Save yarn cache - key: v2-yarn_cache-{{ arch }}-{{ checksum "yarn.lock" }} - paths: - - ~/.cache/yarn - -# The CircleCI API doesn't yet support triggering a specific workflow, but it -# does support triggering a pipeline. So as a workaround you can triggger the -# entire pipeline and use parameters to disable everything except the workflow -# you want. CircleCI recommends this workaround here: -# https://support.circleci.com/hc/en-us/articles/360050351292-How-to-trigger-a-workflow-via-CircleCI-API-v2- -parameters: - # This is only set when triggering the CI pipeline via an API request. - prerelease_commit_sha: - type: string - default: '' - -jobs: - publish_prerelease: - parameters: - commit_sha: - type: string - release_channel: - type: string - dist_tag: - type: string - docker: *docker - environment: *environment - steps: - - checkout - - setup_node_modules - - run: - name: Run publish script - command: | - git fetch origin main - cd ./scripts/release && yarn && cd ../../ - scripts/release/prepare-release-from-ci.js --skipTests -r << parameters.release_channel >> --commit=<< parameters.commit_sha >> - cp ./scripts/release/ci-npmrc ~/.npmrc - scripts/release/publish.js --ci --tags << parameters.dist_tag >> - -workflows: - # Used to publish a prerelease manually via the command line - publish_preleases: - when: << pipeline.parameters.prerelease_commit_sha >> - jobs: - - publish_prerelease: - name: Publish to Canary channel - commit_sha: << pipeline.parameters.prerelease_commit_sha >> - release_channel: stable - # The tags to use when publishing canaries. The main one we should - # always include is "canary" but we can use multiple (e.g. alpha, - # beta, rc). To declare multiple, use a comma-separated string, like - # this: - # dist_tag: "canary,alpha,beta,rc" - # - # TODO: We currently tag canaries with "next" in addition to "canary" - # because this used to be called the "next" channel and some - # downstream consumers might still expect that tag. We can remove this - # after some time has elapsed and the change has been communicated. - dist_tag: "canary,next,rc" - - publish_prerelease: - name: Publish to Experimental channel - requires: - # NOTE: Intentionally running these jobs sequentially because npm - # will sometimes fail if you try to concurrently publish two - # different versions of the same package, even if they use different - # dist tags. - - Publish to Canary channel - commit_sha: << pipeline.parameters.prerelease_commit_sha >> - release_channel: experimental - dist_tag: experimental - - # Publishes on a cron schedule - publish_preleases_nightly: - unless: << pipeline.parameters.prerelease_commit_sha >> - triggers: - - schedule: - # At 10 minutes past 16:00 on Mon, Tue, Wed, Thu, and Fri - cron: "10 16 * * 1,2,3,4,5" - filters: - branches: - only: - - main - jobs: - - publish_prerelease: - name: Publish to Canary channel - commit_sha: << pipeline.git.revision >> - release_channel: stable - dist_tag: "canary,next,rc" - - publish_prerelease: - name: Publish to Experimental channel - requires: - # NOTE: Intentionally running these jobs sequentially because npm - # will sometimes fail if you try to concurrently publish two - # different versions of the same package, even if they use different - # dist tags. - - Publish to Canary channel - commit_sha: << pipeline.git.revision >> - release_channel: experimental - dist_tag: experimental