Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/solidusio/circleci-orbs-extensions
A CircleCI Orb that runs specs for extensions against currently supported Solidus versions
https://github.com/solidusio/circleci-orbs-extensions
circleci-orbs ecommerce ecommerce-platform hacktoberfest solidusio
Last synced: about 2 months ago
JSON representation
A CircleCI Orb that runs specs for extensions against currently supported Solidus versions
- Host: GitHub
- URL: https://github.com/solidusio/circleci-orbs-extensions
- Owner: solidusio
- Created: 2019-06-04T09:08:48.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-11-12T13:03:04.000Z (about 2 months ago)
- Last Synced: 2024-11-12T13:39:53.446Z (about 2 months ago)
- Topics: circleci-orbs, ecommerce, ecommerce-platform, hacktoberfest, solidusio
- Language: Ruby
- Homepage: https://circleci.com/orbs/registry/orb/solidusio/extensions
- Size: 218 KB
- Stars: 3
- Watchers: 5
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# solidusio/extensions CircleCI Orb
This repository contains the source code of the CircleCI Orbs that we can
use on all Solidus extensions.A [CirlceCI Orb](https://circleci.com/docs/2.0/orb-intro/) is a sharable
package of CircleCI configuration elements. We will use it to share some
of the configuration that are common to all extensions and change frequently.
In this way, we will have a single thing to change where we need to spread
new configuration across Solidus extensions, for example when a new version
of Solidus is released.This Orb is published in the CircleCI Orbs registry at the following address:
https://circleci.com/orbs/registry/orb/solidusio/extensions
## Usage
Add the following code into the extension's `.circleci/config.yml`:
```yml
version: 2.1orbs:
# 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@volatilejobs:
run-specs-with-postgres:
executor: solidusio_extensions/postgres
steps:
- solidusio_extensions/run-tests
run-specs-with-mysql:
executor: solidusio_extensions/mysql
steps:
- solidusio_extensions/run-tests
run-specs-with-sqlite:
executor: solidusio_extensions/sqlite
steps:
- solidusio_extensions/run-tests
lint-code:
executor: solidusio_extensions/sqlite-memory
steps:
- solidusio_extensions/lint-codeworkflows:
"Run specs on supported Solidus versions":
jobs:
- run-specs-with-postgres
- run-specs-with-mysql
- run-specs-with-sqlite
- lint-code"Weekly run specs against main":
triggers:
- schedule:
cron: "0 0 * * 4" # every Thursday
filters:
branches:
only:
- main
jobs:
- run-specs-with-sqlite
```Be sure to also enable building the project on CircleCI, otherwise it won't
do anything.### Test Results (RSpec)
To enable CircleCI Test Results be sure to include `rspec_junit_formatter` in your gemspec:
spec.add_development_dependency 'rspec_junit_formatter'
And to properly setup the RSpec Rake task to generate the results XML output:
```rb
RSpec::Core::RakeTask.new(:specs) do |t|
# Ref: https://circleci.com/docs/2.0/configuration-reference/#store_test_results
if ENV['TEST_RESULTS_PATH']
t.rspec_opts =
"--format progress " \
"--format RspecJunitFormatter --out #{ENV['TEST_RESULTS_PATH']}"
end
end
```## Contributing
We accept Pull Requests on this repository. Any kind of contribution is welcome.
## Publishing the solidusio/extensions Orb
The [orb-tools Orb](https://github.com/CircleCI-Public/orb-tools-orb) is used
for publishing development and production versions of this Orb.PRs will create a development release of the Orb, while creating GitHub tags and releases
will trigger publishing a new version in the Orb registry.### Publish a development version from the CLI
Reference: https://circleci.com/docs/2.0/creating-orbs/#using-the-cli-to-publish-orbs
1. Setup the CircleCI CLI (https://circleci.com/docs/2.0/creating-orbs/#step-1---set-up-the-circleci-cli)
2. Build a one-file version of the orb with `circleci config pack src/ > build/orb.yml`
3. Publish the ORB with a development version (e.g. one linked to your current PR): `circleci orb publish build/orb.yml solidusio/extensions@dev:pr-123`
4. Test the ORB on a project updating the version `solidusio_extensions: solidusio/extensions@dev:pr-123`## License
The Orb is available as open source under the terms of the MIT License
as specified in the [Orbs Registry Licence](https://circleci.com/orbs/registry/licensing).