solidusio-contrib/solidus_globalize

View on GitHub
.circleci/config.yml

Summary

Maintainability
Test Coverage
version: 2.1

orbs:
  # Required for feature specs.
  browser-tools: circleci/browser-tools@1.1

  # 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
      - browser-tools/install-chrome
      - solidusio_extensions/run-tests-solidus-<< parameters.solidus >>

  lint-code:
    executor:
      name: solidusio_extensions/sqlite
      ruby_version: "3.0"
    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"] }
      - lint-code

  "Weekly run specs against master":
    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"] }