Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
4 changes: 4 additions & 0 deletions .github/workflows/install_dummy_app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ on:
branches:
- main

concurrency:
group: dummy-app-${{ github.ref_name }}
cancel-in-progress: ${{ github.ref_name != 'main' }}

jobs:
install_dummy_app:
name: Dummy App
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Test

on:
push:
branches: [main]
pull_request:

concurrency:
group: test-${{ github.ref_name }}
cancel-in-progress: ${{ github.ref_name != 'main' }}

jobs:
solidus_admin:
uses: solidusio/solidus/.github/workflows/test_solidus.yml@github-actions
with:
lib_name: admin
coverage: false

solidus_api:
uses: solidusio/solidus/.github/workflows/test_solidus.yml@github-actions
with:
lib_name: api
coverage: false

solidus_backend:
uses: solidusio/solidus/.github/workflows/test_solidus.yml@github-actions
with:
lib_name: backend
coverage: false

solidus_core:
uses: solidusio/solidus/.github/workflows/test_solidus.yml@github-actions
with:
lib_name: core
coverage: false

solidus_promotions:
uses: solidusio/solidus/.github/workflows/test_solidus.yml@github-actions
with:
lib_name: promotions
coverage: false
90 changes: 90 additions & 0 deletions .github/workflows/test_solidus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: "Test Solidus"

on:
workflow_call:
inputs:
lib_name:
description: "The name of the Solidus library to test (e.g., core, backend, frontend)"
type: string
required: true
coverage:
description: "Enable code coverage reporting"
type: boolean
default: false

jobs:
run_tests:
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
include:
- rails: "7.2"
ruby: "3.4"
database: postgres
storage: paperclip
env:
BUNDLE_WITHOUT: "lint release"
COVERAGE: ${{ inputs.coverage }}
COVERAGE_DIR: tmp/coverage
DB: ${{ matrix.database }}
DB_HOST: ${{ matrix.database == 'mysql' && '127.0.0.1' || 'localhost' }}
DB_USERNAME: solidus
DB_PASSWORD: password
DEFAULT_MAX_WAIT_TIME: 10
DISABLE_ACTIVE_STORAGE: ${{ matrix.storage == 'paperclip' }}
LIB_NAME: ${{ inputs.lib_name }}
RAILS_ENV: test
RAILS_VERSION: ${{ matrix.rails }}
SOLIDUS_RAISE_DEPRECATIONS: true
services:
postgres:
image: postgres:13
env:
POSTGRES_USER: ${{ env.DB_USERNAME }}
POSTGRES_PASSWORD: ${{ env.DB_PASSWORD }}
POSTGRES_DB: solidus_test
ports: [5432:5432]
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
mysql:
image: mysql:5.7
env:
MYSQL_ROOT_PASSWORD: ${{ env.DB_PASSWORD }}
MYSQL_DATABASE: solidus_test
ports: [3306:3306]
options: >-
--health-cmd "mysqladmin ping -h 127.0.0.1 -uroot -proot"
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Install libvips
if: ${{ matrix.storage == 'activestorage' }}
run: |
sudo apt-get update -yq
sudo apt-get autoremove -yq
sudo apt-get install -yq libvips-dev --fix-missing
- name: Run tests
run: |
cd ${{ inputs.lib_name }}
bundle exec rake test_app
bundle exec rspec --profile 10 --format progress
- name: Report Coverage
if: ${{ inputs.coverage == 'true' }}
run: |
bundle exec rake solidus:coverage[cobertura]
- name: Upload Coverage Report
if: ${{ inputs.coverage == 'true' }}
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: tmp/coverage/coverage.xml
1 change: 0 additions & 1 deletion core/lib/spree/testing_support/dummy_app.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
require 'active_storage/engine'

Rails.env = 'test'
Rails.logger ||= Logger.new($stdout)

require 'solidus_core'

Expand Down
Loading