Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Remaking CI into single process with CD" #1657

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
203 changes: 0 additions & 203 deletions .github/workflows/ci_cd.yml

This file was deleted.

19 changes: 19 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: RuboCop

on: [push]

jobs:
lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
cache-version: 321

- name: Run RuboCop
run: bundle exec rubocop --parallel
23 changes: 23 additions & 0 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Security

on: [push]

jobs:
security:
name: Brakeman (Static security)
if: "${{ github.actor != 'dependabot[bot]' }}"
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2.1

- name: Brakeman
uses: reviewdog/action-brakeman@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

94 changes: 94 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
env:
CI: true
COVERAGE: true

name: Tests + merge develop->master
on: [push]
jobs:
test:
name: Tests (RSpec)
runs-on: ubuntu-latest
timeout-minutes: 30
services:
postgres:
image: postgres:latest
env:
POSTGRES_USER: admin_apientreprise
POSTGRES_PASSWORD: wow*verysecret
POSTGRES_DB: admin_apientreprise_test
POSTGRES_PORT: 5432
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5

redis:
image: redis
ports: ["6379:6379"]
options: --entrypoint redis-server

steps:
- name: Dump Github context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"

- name: Checkout code
uses: actions/checkout@v4

- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
cache-version: 322

- name: Setup Nodejs
uses: actions/setup-node@v3

- name: Install mjml dependency
run: npm install mjml

- name: Install postgres client #and imagemagick
run: sudo apt-get install libpq-dev #imagemagick

- name: Create database users
env:
POSTGRES_USER: admin_apientreprise
POSTGRES_DB: admin_apientreprise_test
PGPASSWORD: wow*verysecret
run: |
psql -h localhost -U ${{ env.POSTGRES_USER }} -d ${{ env.POSTGRES_DB }} -f `pwd`/postgresql_setup.txt

- name: Create database
run: bundle exec rails db:create db:schema:load RAILS_ENV=test

- name: Run tests
run: bundle exec rspec

- uses: joshmfrankel/simplecov-check-action@main
if: "${{ github.actor != 'dependabot[bot]' }}"
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
minimum_suite_coverage: 95

- name: Import GPG key to sign master push
if: github.ref == 'refs/heads/develop'
id: import_gpg
uses: crazy-max/ghaction-import-gpg@v6
with:
gpg_private_key: ${{ secrets.GPG_SECRET_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
git_user_signingkey: true
git_commit_gpgsign: true

- name: Force push develop to master
if: github.ref == 'refs/heads/develop'
run: |
git reset --hard && \
git push --force origin develop:master && \
git fetch && \
[[ ! -s \"$(git rev-parse --git-dir)/shallow\" ]] || git fetch --unshallow
exit 0
Loading