Update Knapsack Report #1
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: Update Knapsack Report | |
# This workflow should be scheduled at certain intervals | |
on: | |
schedule: | |
- cron: '*/15 * * * *' | |
# The above cron does not run. Replace with the wanted periodicity. | |
# For example, the following configuration would schedule it every 3 months | |
# - cron: '0 0 1 */3 *' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
services: | |
db: | |
image: postgres:15 | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_HOST_AUTH_METHOD: trust | |
ports: | |
- 5432:5432 | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
env: | |
RAILS_ENV: test | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Ruby 3.1 | |
uses: actions/setup-ruby@v1 | |
with: | |
ruby-version: 3.1 | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup Database | |
run: bundle exec rails db:create db:migrate | |
- name: Update Knapsack Report | |
run: KNAPSACK_GENERATE_REPORT=true bundle exec rspec | |
- name: Commit files | |
run: | | |
git config --local user.email "[email protected]" | |
git config --local user.name "GitHub Action" | |
git add knapsack_rspec_report.json | |
git commit -m "Update knapsack_rspec_report.json" | |
- name: Push changes | |
run: git push origin HEAD:update-knapsack-report | |
- name: Initialize Pull Request | |
uses: rootstrap/create-pull-request@v5 | |
with: | |
pull_request_token: ${{ secrets.GITHUB_TOKEN }} | |
head: update-knapsack-report | |
base: main | |
title: 'Update Knapsack report' | |
maintainer_can_modify: true | |
draft: false | |
body: > | |
This is an automated PR. Knapsack uses the report file to distribute tests across different nodes | |
so that they all have similar execution times. It's advisable to update the report periodically, | |
especially if many test files have been added, for better distribution. |