Repository navigation
58 lines (57 loc) · 2.7 KB
/
Copy pathrubyonrails.yml
File metadata and controls
58 lines (57 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Este flujo de trabajo emplea acciones que no están certificadas por Github.
# Son proveidas por un tercero y están gobernadas por diferentes
# términos de servicio, política de privacidad y documentación.
#
# Este flujo de trabajo instalará una versión preconstruida de Ruby,
# instalará dependencias y ejecutará pruebas y verificadores.
name: "IC para Ruby on Rails"
on:
push:
branches: [ "main", "v2.2" ]
pull_request:
branches: [ "main", "v2.2" ]
env:
DB_HOST: localhost
jobs:
test:
runs-on: ubuntu-latest
env:
RAILS_ENV: test
DATABASE_URL: "postgres://rails:password@localhost:5432/rails_test"
steps:
- name: Sacar código fuente
uses: actions/checkout@v3
# Agregue o remplace pasos de depencicas aquí
- name: Ambiente - paquetes e.g postgresql, postgis, base de pruebas, .env
run: sudo ./bin/ambiente_github.sh
- name: Instalar Ruby y gemas
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.4.5'
bundler-cache: true
- name: Reiniciar PostgreSQL
run: ( sudo service postgresql restart; sudo systemctl restart postgresql.service)
- name: Modificar estructura BD para que operen en versiones antiguas
run: (export D=./; if (test -d "test/dummy") then { export D=test/dummy/; } fi; cp $D/db/structure.sql $D/db/structure.sql.copia; sed -e 's/provider = libc,//g;s/SET default_table_access_method.*/-- &/g;s/SET transaction_timeout.*//g' $D/db/structure.sql.copia > $D/db/structure.sql )
- name: Modificar semillas BD para que operen en versiones antiguas
run: (if (test -f "db/datos-basicas.sql") then { cp db/datos-basicas.sql db/datos-basicas.sql.copia; sed -e 's/provider = libc,//g;s/SET default_table_access_method.*/-- &/g;s/SET transaction_timeout.*//g' db/datos-basicas.sql.copia > db/datos-basicas.sql; } fi; )
# Agregue o remplace ejecutores de pruebas aquí
- name: Ejecutar pruebas
run: NOPRUEBAJS=1 bin/regresion.sh
lint:
runs-on: ubuntu-latest
steps:
- name: Sacar código fuente
uses: actions/checkout@v4
- name: Instalar Ruby y gemas
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.4.5'
bundler-cache: true
# Agregue o remplace verificadores
- name: Verificación de seguridad a dependencias ruby
run: (bin/bundler-audit --update || exit_code=$?; echo "exit_code=$exit_code")
- name: Verificación de seguridad a código Ruby de la aplicación
run: (bin/brakeman -q -w2 || exit_code=$?; echo "exit_code=$exit_code")
- name: Verificación al formato de código Ruby
run: (bin/rubocop --parallel || exit_code=$?; echo "exit_code=$exit_code")