This repository has been archived by the owner on Jul 25, 2023. It is now read-only.
manual-integration-tests #1357
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: manual-integration-tests | |
on: | |
workflow_dispatch: | |
repository_dispatch: | |
types: manual-trigger | |
schedule: | |
- cron: '0 7 * * *' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
PGHOST: localhost | |
PGUSER: postgres | |
RAILS_ENV: test | |
TZ: "Europe/London" | |
services: | |
postgres: | |
image: postgres:10.11 | |
ports: ["5432:5432"] | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
steps: | |
- name: Run started by ${{ github.event.client_payload.user }} | |
run: echo Run started by ${{ github.event.client_payload.user }} | |
- uses: actions/checkout@v3 | |
- name: Set up Ruby 2.7 | |
uses: ruby/setup-ruby@v1 | |
- uses: actions/cache@v2 | |
with: | |
path: vendor/bundle | |
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} | |
restore-keys: | | |
${{ runner.os }}-gems- | |
- name: Bundle install | |
run: | | |
gem install bundler | |
bundle config path vendor/bundle | |
bundle install --jobs 4 --retry 3 | |
- name: Configure database | |
env: | |
GOOGLE_SHEETS_CLIENT_EMAIL: ${{ secrets.CLIENT_EMAIL }} | |
GOOGLE_SHEETS_CLIENT_ID: ${{ secrets.CLIENT_ID }} | |
GOOGLE_SHEETS_PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} | |
GOOGLE_SHEETS_PRIVATE_KEY_ID: ${{ secrets.PRIVATE_KEY_ID }} | |
ALLOW_FUTURE_SUBMISSION_DATE: true | |
run: | | |
bin/rails db:create db:schema:load | |
- name: Run Tests | |
env: | |
SKIP_COVERAGE: true | |
GOOGLE_SHEETS_CLIENT_EMAIL: ${{ secrets.CLIENT_EMAIL }} | |
GOOGLE_SHEETS_CLIENT_ID: ${{ secrets.CLIENT_ID }} | |
GOOGLE_SHEETS_PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} | |
GOOGLE_SHEETS_PRIVATE_KEY_ID: ${{ secrets.PRIVATE_KEY_ID }} | |
ALLOW_FUTURE_SUBMISSION_DATE: true | |
run: | | |
bin/ispec -v -r | |
slackNotification: | |
name: Slack Notification | |
needs: [ build ] | |
if: ${{ always() && (needs.build.result=='failure') }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Slack Notification | |
uses: rtCamp/action-slack-notify@v2 | |
env: | |
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | |
SLACK_TITLE: CFE Integration tests failure | |
SLACK_MESSAGE: The daily CFE integration tests have failed. To reproduce locally, run 'bin/ispec -vv -r' to get verbose output against refreshed test data worksheets. | |
SLACK_COLOR: danger |