Skip to content

feat(phone_numbers): allow 4 digits on category configurations (#2466) #5259

feat(phone_numbers): allow 4 digits on category configurations (#2466)

feat(phone_numbers): allow 4 digits on category configurations (#2466) #5259

Workflow file for this run

name: CI
on: push
jobs:
linters:
name: Linters
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Cache js dependencies
uses: actions/cache@v4
with:
key: node_modules-${{ hashFiles('yarn.lock') }}
path: node_modules
- name: Install JS dependencies
run: yarn install
- name: Run Rubocop
run: bundle exec rubocop
- name: Run ESLint
run: yarn lint
test_unit:
name: Unit Tests
runs-on: ubuntu-latest
services:
postgres:
image: postgres:13.2
env:
POSTGRES_USER: rdv_insertion_test
POSTGRES_PASSWORD: rdv_insertion_test
POSTGRES_DB: rdv_insertion_test
options: >-
--mount type=tmpfs,destination=/var/lib/postgresql/data
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
redis:
image: redis
ports:
- 6379:6379
options: --entrypoint redis-server
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version-file: .node-version
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Cache js dependencies
uses: actions/cache@v4
with:
key: node_modules-${{ hashFiles('yarn.lock') }}
path: node_modules
- name: Install JS dependencies
run: yarn install
- name: Precompile assets
run: yarn run build
- name: List all unit spec files
run: |
mkdir -p tmp
ls spec/**/*.rb | grep -v spec/features > tmp/unit_spec_files.txt
- name: Cache parallel test unit spec runtime log
uses: actions/cache@v4
with:
key: unit-spec-runtime-log-${{ hashFiles('tmp/unit_spec_files.txt') }}
path: tmp/parallel_runtime_rspec.log
- name: Setup test database and run specs
run: |
RAILS_ENV=test bundle exec rake parallel:drop parallel:create parallel:load_schema parallel:spec['spec/(?!features)']
env:
HOST: http://example.com
POSTGRES_HOST: localhost
POSTGRES_PORT: 5432
POSTGRES_USER: rdv_insertion_test
POSTGRES_PASSWORD: rdv_insertion_test
POSTGRES_DB: rdv_insertion_test
test_features:
name: Feature Tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ci_node_total: [4]
ci_node_index: [0, 1, 2, 3]
services:
postgres:
image: postgres:13.2
env:
POSTGRES_USER: rdv_insertion_test
POSTGRES_PASSWORD: rdv_insertion_test
POSTGRES_DB: rdv_insertion_test
options: >-
--mount type=tmpfs,destination=/var/lib/postgresql/data
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
redis:
image: redis
ports:
- 6379:6379
options: --entrypoint redis-server
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version-file: .node-version
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Cache js dependencies
uses: actions/cache@v4
with:
key: node_modules-${{ hashFiles('yarn.lock') }}
path: node_modules
- name: Install JS dependencies
run: yarn install
- name: Precompile assets
run: RAILS_ENV=test bundle exec rake assets:precompile
- name: List all feature spec files
run: |
mkdir -p tmp
find spec/features -name "*_spec.rb" > tmp/feature_spec_files.txt
echo "Total feature spec files found:"
wc -l tmp/feature_spec_files.txt
- name: Setup test database and run specs
run: |
echo "Spec files for this node:"
cat tmp/feature_spec_files.txt | sort | awk "NR % $CI_NODE_TOTAL == $CI_NODE_INDEX" | tee node_spec_files.txt
FILE_COUNT=$(cat node_spec_files.txt | wc -l)
echo "Running $FILE_COUNT spec files on CI node index $CI_NODE_INDEX"
if [ $FILE_COUNT -eq 0 ]; then
echo "No spec files to run on this node. This is likely an error in file distribution."
exit 1
fi
RAILS_ENV=test bundle exec rspec $(cat node_spec_files.txt)
env:
HOST: http://example.com
POSTGRES_HOST: localhost
POSTGRES_PORT: 5432
POSTGRES_USER: rdv_insertion_test
POSTGRES_PASSWORD: rdv_insertion_test
POSTGRES_DB: rdv_insertion_test
CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
CI_NODE_INDEX: ${{ matrix.ci_node_index }}