Merge pull request #4265 from consul/actions

Run the test suite using GitHub Actions
This commit is contained in:
Javi Martín
2020-11-23 14:19:06 +01:00
committed by GitHub
11 changed files with 61 additions and 33 deletions

View File

@@ -3,7 +3,7 @@ Tests that fail randomly are called "flakies", this one seems to be one:
**Randomized seed:** FILL_WITH_RANDOM_SEED
**Travis failed build:** FILL_WITH_TRAVIS_FAILED_BUILD_LINK
**Failed action:** FILL_WITH_A_LINK_WHERE_THE_FAILURE_IS_SHOWN
**Failure:**
@@ -26,7 +26,7 @@ do
done
```
You can also try running a single spec in Travis:
You can also try running a single spec:
Add option `:focus` to the spec and push your branch to Github, for example:
```ruby
scenario 'Show', :focus do

View File

@@ -1,6 +1,6 @@
## References
> Related Issues/Pull Requests/Travis Builds/Rollbar errors/etc...
> Related Issues/Pull Requests/errors/etc...
## Objectives

51
.github/workflows/tests.yml vendored Normal file
View File

@@ -0,0 +1,51 @@
name: Test suite
on:
push:
branches:
- master
pull_request:
branches-ignore:
- i18n_master
jobs:
test:
runs-on: ubuntu-18.04
services:
postgres:
image: postgres:10.10
ports: ["5432:5432"]
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
env:
POSTGRES_USER: consul
POSTGRES_PASSWORD: ""
env:
PGUSER: consul
POSTGRES_HOST: postgres
RAILS_ENV: test
COVERALLS: true
strategy:
fail-fast: false
matrix:
ci_node_total: [5]
ci_node_index: [0, 1, 2, 3, 4]
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Setup NPM
uses: actions/setup-node@v1
- name: Copy secrets and database files
run: for i in config/*.example; do cp "$i" "${i/.example}"; done
- name: Setup database
run: bundle exec rake db:setup
- name: Compile assets
run: bundle exec rake assets:precompile > /dev/null 2>&1
- name: Run test suite
env:
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: ${{ secrets.KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC }}
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
KNAPSACK_PRO_FIXED_QUEUE_SPLIT: true
KNAPSACK_PRO_LOG_LEVEL: info
run: bin/knapsack_pro_rspec

View File

@@ -1,23 +0,0 @@
language: ruby
addons:
postgresql: "9.4"
chrome: stable
cache: bundler
bundler_args: --without development
before_script:
- for i in config/*.example; do cp "$i" "${i/.example}"; done
- bundle exec rake db:setup
script:
- "bundle exec rake assets:precompile RAILS_ENV=test > /dev/null 2>&1"
- "bin/knapsack_pro_rspec"
env:
global:
- KNAPSACK_PRO_FIXED_QUEUE_SPLIT=true
- KNAPSACK_PRO_LOG_LEVEL=info
- KNAPSACK_PRO_CI_NODE_TOTAL=5
matrix:
- KNAPSACK_PRO_CI_NODE_INDEX=0
- KNAPSACK_PRO_CI_NODE_INDEX=1
- KNAPSACK_PRO_CI_NODE_INDEX=2
- KNAPSACK_PRO_CI_NODE_INDEX=3
- KNAPSACK_PRO_CI_NODE_INDEX=4

View File

@@ -33,7 +33,7 @@ If you want to contribute code to solve an issue:
If you'd like us to review your pull request in good spirits, please follow our coding conventions:
* Include specs to test any changes you've made
* Travis CI will check whether the rest of the application is still working properly; check its build and make sure all tests are passing
* Our CI will check whether the rest of the application is still working properly; check its build and make sure all tests are passing
* Your pull request will be automatically reviewed by Hound CI; fix any issues it reports
* Follow [the seven rules of a great commit message](https://chris.beams.io/posts/git-commit/)

View File

@@ -33,7 +33,7 @@ Cuando quieras resolver una incidencia mediante código:
Si quieres que revisemos tu código con una sonrisa, por favor sigue nuestras convenciones:
* Incluye tests para los cambios que hayas hecho
* Travis CI comprobará automáticamente que el resto de la aplicación sigue funcionando; asegúrate de que los tests pasan
* Los tests se ejecutarán automáticamente para comprobar que el resto de la aplicación sigue funcionando; asegúrate de que los tests pasan
* Tus cambios serán revisados automáticamente por Hound CI; arregla los problemas de los que informa (si es que hay alguno)
* Sigue [las siete reglas para un gran mensaje de commit](https://chris.beams.io/posts/git-commit/)

View File

@@ -524,7 +524,7 @@ GEM
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sassc (2.2.1)
sassc (2.1.0)
ffi (~> 1.9)
sassc-rails (2.1.2)
railties (>= 4.0.0)

View File

@@ -10,7 +10,7 @@
Citizen Participation and Open Government Application
[![Build Status](https://travis-ci.com/consul/consul.svg?branch=master)](https://travis-ci.com/consul/consul)
![Build status](https://github.com/consul/consul/workflows/.github/workflows/tests.yml/badge.svg)
[![Code Climate](https://codeclimate.com/github/consul/consul/badges/gpa.svg)](https://codeclimate.com/github/consul/consul)
[![Coverage Status](https://coveralls.io/repos/github/consul/consul/badge.svg)](https://coveralls.io/github/consul/consul?branch=master)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/consul/localized.svg)](https://crowdin.com/project/consul)

View File

@@ -10,7 +10,7 @@
Aplicación de Participación Ciudadana y Gobierno Abierto
[![Build Status](https://travis-ci.com/consul/consul.svg?branch=master)](https://travis-ci.com/consul/consul)
![Estado de los tests](https://github.com/consul/consul/workflows/.github/workflows/tests.yml/badge.svg)
[![Code Climate](https://codeclimate.com/github/consul/consul/badges/gpa.svg)](https://codeclimate.com/github/consul/consul)
[![Coverage Status](https://coveralls.io/repos/github/consul/consul/badge.svg?branch=master)](https://coveralls.io/github/consul/consul?branch=master)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/consul/localized.svg)](https://crowdin.com/project/consul)

View File

@@ -1,5 +1,5 @@
ENV["RAILS_ENV"] ||= "test"
if ENV["TRAVIS"]
if ENV["COVERALLS"]
require "coveralls"
Coveralls.wear!("rails")
end

View File

@@ -171,5 +171,5 @@ RSpec.configure do |config|
config.expect_with(:rspec) { |c| c.syntax = :expect }
end
# Parallel build helper configuration for travis
# Parallel build helper configuration for CI
KnapsackPro::Adapters::RSpecAdapter.bind