|
10 | 10 | docker:
|
11 | 11 | - image: debian:bullseye
|
12 | 12 | steps:
|
13 |
| - - run: echo "There is nothing here, just an empty job. Everything has been moved to GitHub Action" |
| 13 | + - run: |
| 14 | + name: Install Yarn |
| 15 | + command: | |
| 16 | + apt update |
| 17 | + apt install -y wget git curl jq |
| 18 | +
|
| 19 | + apt-get update |
| 20 | + apt-get install -y ca-certificates curl gnupg |
| 21 | + mkdir -p /etc/apt/keyrings |
| 22 | + curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg |
| 23 | +
|
| 24 | + NODE_MAJOR=18 |
| 25 | + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list |
| 26 | + apt-get update |
| 27 | +
|
| 28 | + apt install -y nodejs |
| 29 | + npm install --global yarn |
| 30 | + - checkout |
| 31 | + - run: |
| 32 | + name: Yarn Install |
| 33 | + command: yarn install |
| 34 | + - when: |
| 35 | + condition: |
| 36 | + or: |
| 37 | + - equal: [ main, << pipeline.git.branch >> ] |
| 38 | + - matches: |
| 39 | + pattern: /0\.[0-9]+[\.[0-9]+]?-stable/ |
| 40 | + value: << pipeline.git.branch >> |
| 41 | + steps: |
| 42 | + - run: |
| 43 | + name: "[Main or Stable] Create input for config to test everything" |
| 44 | + command: | |
| 45 | + mkdir -p /tmp/circleci/ |
| 46 | + node ./scripts/circleci/pipeline_selection.js filter-jobs |
| 47 | + - when: |
| 48 | + condition: |
| 49 | + not: |
| 50 | + or: |
| 51 | + - equal: [ main, << pipeline.git.branch >> ] |
| 52 | + - matches: |
| 53 | + pattern: /0\.[0-9]+[\.[0-9]+]?-stable/ |
| 54 | + value: << pipeline.git.branch >> |
| 55 | + steps: |
| 56 | + - run: |
| 57 | + name: "[PR Branch] Filter jobs" |
| 58 | + command: | |
| 59 | + if [[ -z "$CIRCLE_PULL_REQUEST" ]]; then |
| 60 | + echo "Not in a PR. Can't filter properly outside a PR. Please open a PR so that we can run the proper CI tests." |
| 61 | + echo "For safety, we run all the tests!" |
| 62 | + mkdir -p /tmp/circleci/ |
| 63 | + echo '{ "run_all": true }' > /tmp/circleci/pipeline_config.json |
| 64 | + else |
| 65 | + PR_NUMBER="${CIRCLE_PULL_REQUEST##*/}" |
| 66 | + node ./scripts/circleci/pipeline_selection.js filter-jobs |
| 67 | + fi |
| 68 | + - run: |
| 69 | + name: Create config |
| 70 | + description: Generates a configuration on the fly, depending on the files that have been modified |
| 71 | + command: | |
| 72 | + node ./scripts/circleci/pipeline_selection.js create-configs |
| 73 | + - store_artifacts: |
| 74 | + path: .circleci/generated_config.yml |
| 75 | + destination: generated_config.yml |
| 76 | + - continuation/continue: |
| 77 | + configuration_path: .circleci/generated_config.yml |
| 78 | + |
| 79 | +# our single workflow, that triggers the setup job defined above |
| 80 | +workflows: |
| 81 | + always-run: |
| 82 | + jobs: |
| 83 | + - choose_ci_jobs: |
| 84 | + filters: |
| 85 | + tags: |
| 86 | + only: /.*/ |
0 commit comments