summaryrefslogtreecommitdiff
path: root/.circleci/config.yml
blob: d51b74cf4ad0374d00903d1c1561133d2408e10d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
version: 2.1

orbs:
  orb: invocations/orb@dev:debuggery

workflows:
  main:
    jobs:
      - orb/lint:
          name: Lint
      - orb/format:
          name: Style check
      # Main test run, w/ coverage, and latest-supported cryptography
      - orb/coverage:
          name: Test 3.6 (w/ coverage, latest crypto)
      # Non-coverage runs w/ other crypto versions.
      # (Phrased as 2-dimensional matrix but 3.6 only for now to save credits)
      - orb/test:
          name: Test << matrix.version >> w/ << matrix.pip-overrides >>
          matrix:
            parameters:
              version: ["3.6"]
              # TODO: I don't see a nicer way to do this that doesn't require
              # making the orb know too much about its client code...
              pip-overrides: ["cryptography==2.5", "cryptography==3.4"]
      - orb/test-release:
          name: Release test
      - orb/test:
          name: Test << matrix.version >>
          # It's not worth testing on other interpreters if the baseline one
          # failed. Can't run >4 jobs at a time anyhow!
          requires: ["Test 3.6 (w/ coverage, latest crypto)"]
          matrix:
            parameters:
              version: ["3.7", "3.8", "3.9"]