Merge branch 'pull/4985' #5186
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
- push | |
- pull_request | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
name: Ubuntu ${{ matrix.ubuntu }}, Ruby ${{ matrix.ruby }} | |
strategy: | |
matrix: | |
ubuntu: [22.04, 24.04] | |
ruby: ['3.1', '3.2', '3.3'] | |
runs-on: ubuntu-${{ matrix.ubuntu }} | |
env: | |
RAILS_ENV: test | |
OPENSTREETMAP_MEMCACHE_SERVERS: 127.0.0.1 | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- name: Setup ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
rubygems: 3.4.10 | |
bundler-cache: true | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
with: | |
path: node_modules | |
key: yarn-ubuntu-${{ matrix.ubuntu }}-${{ hashFiles('yarn.lock') }} | |
restore-keys: | | |
yarn-ubuntu-${{ matrix.ubuntu }}- | |
- name: Install packages | |
run: | | |
sudo apt-get -yqq update | |
sudo apt-get -yqq install memcached libvips-dev | |
- name: Create database | |
run: | | |
sudo systemctl start postgresql | |
sudo -u postgres createuser -s $(id -un) | |
createdb openstreetmap | |
- name: Configure rails | |
run: | | |
cp config/github.database.yml config/database.yml | |
cp config/example.storage.yml config/storage.yml | |
touch config/settings.local.yml | |
- name: Populate database | |
run: | | |
sed -f script/normalise-structure db/structure.sql > db/structure.expected | |
bundle exec rails db:migrate | |
sed -f script/normalise-structure db/structure.sql > db/structure.actual | |
diff -uw db/structure.expected db/structure.actual | |
- name: Export javascript strings | |
run: bundle exec rails i18n:js:export | |
- name: Install node modules | |
run: bundle exec bin/yarn install | |
- name: Compile assets | |
run: bundle exec rails assets:precompile | |
- name: Create tmp/pids directory | |
run: mkdir -p tmp/pids | |
- name: Run tests | |
run: bundle exec rails test:all | |
- name: Run javascript tests | |
run: bundle exec teaspoon | |
- name: Report completion to Coveralls | |
uses: coverallsapp/[email protected] | |
with: | |
github-token: ${{ secrets.github_token }} | |
flag-name: ubuntu-${{ matrix.ubuntu }}-ruby-${{ matrix.ruby }} | |
format: lcov | |
parallel: true | |
finish: | |
name: Finalise | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Report completion to Coveralls | |
uses: coverallsapp/[email protected] | |
with: | |
github-token: ${{ secrets.github_token }} | |
parallel-finished: true |