version: 2.1 orbs: # Always take the latest version of the orb, this allows us to # run specs against Solidus supported versions only without the need # to change this configuration every time a Solidus version is released # or goes EOL. solidusio_extensions: solidusio/extensions@volatile jobs: run-specs: parameters: solidus: type: string default: main db: type: string default: "postgres" ruby: type: string default: "3.2" executor: name: solidusio_extensions/<< parameters.db >> ruby_version: << parameters.ruby >> steps: - checkout - solidusio_extensions/run-tests-solidus-<< parameters.solidus >> lint-code: executor: name: solidusio_extensions/sqlite-memory ruby_version: 2.5 steps: - solidusio_extensions/lint-code workflows: "Run specs on supported Solidus versions": jobs: - run-specs: name: &name "run-specs-solidus-<< matrix.solidus >>-ruby-<< matrix.ruby >>-db-<< matrix.db >>" matrix: parameters: { solidus: ["main"], ruby: ["3.2"], db: ["postgres"] } - run-specs: name: *name matrix: parameters: { solidus: ["current"], ruby: ["3.1"], db: ["mysql"] } - run-specs: name: *name matrix: parameters: { solidus: ["older"], ruby: ["3.0"], db: ["sqlite"] } "Weekly run specs against main": triggers: - schedule: cron: "0 0 * * 4" # every Thursday filters: branches: only: - master jobs: - run-specs: name: *name matrix: parameters: { solidus: ["main"], ruby: ["3.2"], db: ["postgres"] } - run-specs: name: *name matrix: parameters: { solidus: ["current"], ruby: ["3.1"], db: ["mysql"] }