Add actions workflow to run tests
This commit is contained in:
parent
e027d5fc5c
commit
efef67447b
4 changed files with 84 additions and 0 deletions
69
.github/workflows/tests.yml
vendored
Normal file
69
.github/workflows/tests.yml
vendored
Normal file
|
@ -0,0 +1,69 @@
|
|||
name: Tests
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
jobs:
|
||||
tests:
|
||||
name: Ubuntu ${{ matrix.ubuntu }}, Ruby ${{ matrix.ruby }}
|
||||
strategy:
|
||||
matrix:
|
||||
ubuntu: [18.04, 20.04]
|
||||
ruby: [2.5, 2.7]
|
||||
runs-on: ubuntu-${{ matrix.ubuntu }}
|
||||
env:
|
||||
RAILS_ENV: test
|
||||
OPENSTREETMAP_MEMCACHE_SERVERS: 127.0.0.1
|
||||
steps:
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v1
|
||||
- name: Setup ruby
|
||||
uses: actions/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby }}
|
||||
- name: Cache gems
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: vendor/bundle
|
||||
key: bundle-ubuntu-${{ matrix.ubuntu }}-ruby-${{ matrix.ruby }}-${{ hashFiles('Gemfile.lock') }}
|
||||
restore-keys: |
|
||||
bundle-ubuntu-${{ matrix.ubuntu }}-ruby-${{ matrix.ruby }}-
|
||||
- name: Cache node modules
|
||||
uses: actions/cache@v1
|
||||
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
|
||||
- name: Install gems
|
||||
run: |
|
||||
gem install bundler
|
||||
bundle config set deployment true
|
||||
bundle install --jobs 4 --retry 3
|
||||
- name: Create database
|
||||
run: |
|
||||
sudo systemctl start postgresql
|
||||
sudo -u postgres createuser -s $(id -un)
|
||||
createdb openstreetmap
|
||||
psql -c "CREATE EXTENSION btree_gist" openstreetmap
|
||||
psql -f db/functions/functions.sql 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 rake 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 rake i18n:js:export
|
||||
- name: Install node modules
|
||||
run: bundle exec rake yarn:install
|
||||
- name: Run tests
|
||||
run: bundle exec rake test:db
|
|
@ -1,6 +1,7 @@
|
|||
# "The Rails Port"
|
||||
|
||||
[](https://github.com/openstreetmap/openstreetmap-website/actions?query=workflow%3ALint%20branch%3Amaster%20event%3Apush)
|
||||
[](https://github.com/openstreetmap/openstreetmap-website/actions?query=workflow%3ATests%20branch%3Amaster%20event%3Apush)
|
||||
[](https://travis-ci.org/openstreetmap/openstreetmap-website)
|
||||
[](https://coveralls.io/r/openstreetmap/openstreetmap-website?branch=master)
|
||||
|
||||
|
|
4
config/github.database.yml
Normal file
4
config/github.database.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
test:
|
||||
adapter: postgresql
|
||||
database: openstreetmap
|
||||
encoding: utf8
|
10
script/normalise-structure
Normal file
10
script/normalise-structure
Normal file
|
@ -0,0 +1,10 @@
|
|||
/^$/d
|
||||
/^--/d
|
||||
/^CREATE EXTENSION IF NOT EXISTS plpgsql /d
|
||||
/^COMMENT ON EXTENSION plpgsql /d
|
||||
/^SET default_with_oids /d
|
||||
/^SET default_table_access_method /d
|
||||
/^SET idle_in_transaction_session_timeout /d
|
||||
/^ AS integer$/d
|
||||
|
||||
s/ IMMUTABLE / /
|
Loading…
Add table
Add a link
Reference in a new issue