Skip to content

Commit

Permalink
Feature/backend ci (#5)
Browse files Browse the repository at this point in the history
* moved default ci

* edited backend ci

* specified ruby version

* test

* test2

* test2

* test3

* manually install bundle

* test

* testmb

* setting working directory

* removed / bin

* removed one ci and added sudo

* test brakeman

* test brakeman2

* test brakeman3

* test

* test remove sudo

* test perm

* test perm bundle

* password for backend

* create database

* create database chmod

* db?

* db? 2

* db? 3

* db? 4

* edit rubycop and rake commands

* removed step from test

* updated gems
  • Loading branch information
23vbq authored Sep 10, 2024
1 parent f055cf5 commit 00122ce
Show file tree
Hide file tree
Showing 5 changed files with 202 additions and 178 deletions.
File renamed without changes.
128 changes: 128 additions & 0 deletions .github/workflows/backend_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
name: Backend_CI

on:
pull_request:
push:

jobs:
scan_ruby:
runs-on: ubuntu-latest

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

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
working-directory: ./todo_backend
ruby-version: 3.3.4
bundler-cache: true

- name: Change permissions
working-directory: ./todo_backend
run: chmod +x bin/brakeman

- name: Scan for common Rails security vulnerabilities using static analysis
working-directory: ./todo_backend
run: bin/brakeman --no-pager --no-exit-on-warn --no-exit-on-error

# scan_js:
# runs-on: ubuntu-latest

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

# - name: Set up Ruby
# uses: ruby/setup-ruby@v1
# with:
# working-directory: ./todo_backend
# ruby-version: 3.3.4
# bundler-cache: true

# - name: Scan for security vulnerabilities in JavaScript dependencies
# working-directory: ./todo_backend
# run: bin/importmap audit

lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
working-directory: ./todo_backend
ruby-version: 3.3.4
bundler-cache: true

- name: Change permissions
working-directory: ./todo_backend
run: chmod +x bin/rubocop

- name: Lint code for consistent style
working-directory: ./todo_backend
run: bin/rubocop

test:
runs-on: ubuntu-latest

services:
db:
image: mysql
env:
MYSQL_ROOT_PASSWORD: rootpasswd
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3

# redis:
# image: redis
# ports:
# - 6379:6379
# options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5

steps:
# - name: Install packages
# run: sudo apt-get update && sudo apt-get install --no-install-recommends -y google-chrome-stable curl default-mysql-client libjemalloc2 libvips

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

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
working-directory: ./todo_backend
ruby-version: 3.3.4
bundler-cache: true

- name: Change permissions
working-directory: ./todo_backend
run: |
chmod +x bin/rails
chmod +x bin/bundle
- name: Create database
working-directory: ./todo_backend
env:
RAILS_ENV: test
DATABASE_URL: mysql2://127.0.0.1:3306
run: bin/rails db:create

- name: Run tests
working-directory: ./todo_backend
env:
RAILS_ENV: test
DATABASE_URL: mysql2://127.0.0.1:3306
# REDIS_URL: redis://localhost:6379/0
run: bin/bundle exec rspec

# - name: Keep screenshots from failed system tests
# uses: actions/upload-artifact@v4
# if: failure()
# with:
# name: screenshots
# path: ${{ github.workspace }}/tmp/screenshots
# if-no-files-found: ignore
100 changes: 0 additions & 100 deletions todo_backend/.github/workflows/ci.yml

This file was deleted.

Loading

0 comments on commit 00122ce

Please sign in to comment.