Skip to content

Commit

Permalink
Recover all workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
emrojo committed Oct 19, 2023
1 parent 88c4e51 commit 43d32c7
Show file tree
Hide file tree
Showing 12 changed files with 134 additions and 217 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
134 changes: 134 additions & 0 deletions .github/workflows/ruby_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,125 @@ on:
- pull_request

jobs:
rake_tests:
runs-on: ubuntu-latest
env:
RAILS_ENV: test
BUNDLE_WITHOUT: "cucumber deployment profile development"
# Services
# https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#jobsjob_idservices
services:
mysql:
# Use the Mysql docker image https://hub.docker.com/_/mysql
image: mysql:8.0
ports:
- 3306 # Default port mappings
# Monitor the health of the container to mesaure when it is ready
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
env:
MYSQL_ROOT_PASSWORD: "" # Set root PW to nothing
MYSQL_ALLOW_EMPTY_PASSWORD: yes
steps:
- uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Setup environment
env:
DBPORT: ${{ job.services.mysql.ports[3306] }}
run: |
bin/setup
# Actually run our tests
- name: Run rake tests
env:
DBPORT: ${{ job.services.mysql.ports[3306] }}
run: bundle exec rake test
- name: Upload coverage artifact
uses: actions/upload-artifact@v2
with:
name: codeclimate-${{ github.job }}-${{ matrix.ci_node_index }}
path: coverage/coverage.json
retention-days: 1
rspec_tests:
runs-on: ubuntu-latest
env:
RAILS_ENV: test
BUNDLE_WITHOUT: "cucumber deployment profile development"
# Services
# https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#jobsjob_idservices
services:
mysql:
# Use the Mysql docker image https://hub.docker.com/_/mysql
image: mysql:8.0
ports:
- 3306 # Default port mappings
# Monitor the health of the container to mesaure when it is ready
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
env:
MYSQL_ROOT_PASSWORD: "" # Set root PW to nothing
MYSQL_ALLOW_EMPTY_PASSWORD: yes
# Sets up the matrix for knapsack builds
strategy:
matrix:
ci_node_total: [3]
ci_node_index: [0, 1, 2]
steps:
- uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
# Establish a cache of js modules to improve performance
- name: Setup node
uses: actions/setup-node@v2
with:
node-version: "16"
- name: Cache js
uses: actions/cache@v2
with:
path: |
public/assets
node_modules
key: ${{ runner.os }}-tests-${{ hashFiles('yarn.lock') }}
# If we don't find the specific cache we want, fallback to the last raketests
# cache, then finally any cache for this repo.
# Github looks for the newest cache beginning with the first entry, before
# falling back the the second if none is present.
restore-keys: |
${{ runner.os }}-tests-
${{ runner.os }}-
# Install only the gems needed for testing
# Keep an eye on https://github.com/rubygems/bundler-features/issues/59
# in case bundler add an only flag
# We also set the install path to vendor/bundle to assist with out caching
# bin/setup handles the rest of the configuration for us.
- name: Setup environment
env:
DBPORT: ${{ job.services.mysql.ports[3306] }}
run: |
bin/setup
bundle exec rake assets:precompile
# Actually run our tests
- name: Run rspec tests
env:
CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
CI_NODE_INDEX: ${{ matrix.ci_node_index }}
DBPORT: ${{ job.services.mysql.ports[3306] }}
run: bin/knapsack_pro_rspec
- name: Upload capybara artifacts
uses: actions/upload-artifact@v2
if: ${{ failure() }}
with:
name: capybara-${{ github.job }}-${{ matrix.ci_node_index }}
path: tmp/capybara/
retention-days: 5
- name: Upload coverage artifact
uses: actions/upload-artifact@v2
with:
name: codeclimate-${{ github.job }}-${{ matrix.ci_node_index }}
path: coverage/coverage.json
retention-days: 1
cucumber_tests:
runs-on: ubuntu-latest
env:
Expand Down Expand Up @@ -81,3 +200,18 @@ jobs:
name: codeclimate-${{ github.job }}-${{ matrix.ci_node_index }}
path: coverage/coverage.json
retention-days: 1
end_coverage:
runs-on: ubuntu-latest
needs: [rake_tests, rspec_tests, cucumber_tests]
continue-on-error: true
steps:
- uses: actions/checkout@v2
- name: Fetch coverage results
uses: actions/download-artifact@v2
with:
path: tmp/
- name: Publish code coverage
uses: paambaati/codeclimate-action@v2.7.5
with:
coverageLocations: |
${{github.workspace}}/tmp/codeclimate-*/coverage.json:simplecov
File renamed without changes.
File renamed without changes.
217 changes: 0 additions & 217 deletions back_workflows/ruby_test.yml

This file was deleted.

0 comments on commit 43d32c7

Please sign in to comment.