Fix FPM request_terminate_timeout not working (#692) #281
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: CI | |
on: | |
push: | |
branches: | |
- "main" | |
pull_request: | |
workflow_dispatch: | |
permissions: | |
contents: read | |
env: | |
HEROKU_DISABLE_AUTOUPDATE: 1 | |
HATCHET_RETRIES: 3 | |
IS_RUNNING_ON_CI: true | |
HATCHET_APP_LIMIT: 300 | |
HATCHET_APP_PREFIX: ${{ format('htcht-{0}-', github.run_id) }} | |
HATCHET_EXPENSIVE_MODE: 1 | |
HATCHET_BUILDPACK_BASE: https://github.com/heroku/heroku-buildpack-php | |
HATCHET_BUILDPACK_BRANCH: ${{ github.head_ref || github.ref_name }} | |
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }} | |
HEROKU_API_USER: ${{ secrets.HEROKU_API_USER }} | |
jobs: | |
integration-test: | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
stack: ["heroku-20", "heroku-22"] | |
env: | |
STACK: ${{ matrix.stack }} | |
BLACKFIRE_CLIENT_ID: ${{ secrets.BLACKFIRE_CLIENT_ID }} | |
BLACKFIRE_CLIENT_TOKEN: ${{ secrets.BLACKFIRE_CLIENT_TOKEN }} | |
BLACKFIRE_SERVER_ID: ${{ secrets.BLACKFIRE_SERVER_ID }} | |
BLACKFIRE_SERVER_TOKEN: ${{ secrets.BLACKFIRE_SERVER_TOKEN }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Ruby and Bundler | |
uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true | |
ruby-version: "2.7" | |
- name: Install PHP and Composer | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "8.2" | |
tools: "composer:2.6" | |
- name: Hatchet setup | |
run: bundle exec hatchet ci:setup | |
- name: Export HEROKU_PHP_PLATFORM_REPOSITORIES to …-develop (since we are not building main or a tag) | |
if: github.ref_type != 'tag' && github.ref_name != 'main' | |
run: | | |
echo "HEROKU_PHP_PLATFORM_REPOSITORIES=- https://lang-php.s3.us-east-1.amazonaws.com/dist-${STACK}-develop/" >> "$GITHUB_ENV" | |
- name: Calculate number of parallel_rspec processes (half of num of lines in runtime log) | |
run: echo "PARALLEL_TEST_PROCESSORS=$(( ($(cat test/var/log/parallel_runtime_rspec.${STACK}.log | wc -l)+2-1)/2 ))" >> "$GITHUB_ENV" | |
- name: Execute tests | |
run: bundle exec parallel_rspec --group-by runtime --unknown-runtime 1 --allowed-missing 100 --runtime-log "test/var/log/parallel_runtime_rspec.${STACK}.log" --verbose-command --combine-stderr --prefix-output-with-test-env-number test/spec/ | |
- name: Print parallel_runtime_rspec.log | |
run: cat parallel_runtime_rspec.log | grep -E '^test/spec/[a-z0-9_/\.-]+\.rb:[0-9]+\.[0-9]+$' | sort | |
post-integration-test: | |
if: always() | |
needs: [integration-test] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Ruby and Bundler | |
uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true | |
ruby-version: "2.7" | |
- name: Hatchet setup | |
run: bundle exec hatchet ci:setup | |
- name: Clean up test apps | |
run: bundle exec hatchet destroy --all |