increase timings #139
Workflow file for this run
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: Passenger CI tests | |
env: | |
DEFAULT_RUBY_VERSION: 3.1 | |
BUNDLE_CLEAN: true | |
USE_ASAN: true | |
on: | |
push: {} | |
pull_request: {} | |
jobs: | |
cxx-tests-linux: | |
name: C++ unit tests on Linux | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
env: | |
EXTRA_CFLAGS: '-fdiagnostics-color' | |
EXTRA_CXXFLAGS: '-fdiagnostics-color' | |
SCCACHE_AZURE_BLOB_CONTAINER: ${{ vars.SCCACHE_AZURE_BLOB_CONTAINER }} | |
SCCACHE_AZURE_KEY_PREFIX: sccache/cxx-linux | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ env.DEFAULT_RUBY_VERSION }} | |
bundler-cache: true | |
- name: Setup bundle gem path | |
run: ./dev/ci/setup-bundle-gem-path | |
- name: Setup sccache | |
run: ./dev/ci/setup-sccache | |
env: | |
ARCH_AND_OS: x86_64-unknown-linux-musl | |
SCCACHE_LOG: debug | |
SCCACHE_AZURE_CONNECTION_STRING: ${{ secrets.AZURE_CI_STORAGE_CONNECTION_STRING }} | |
- name: Setup library dependencies | |
run: > | |
sudo apt update && | |
sudo apt install -y libcurl4-openssl-dev | |
- name: Setup misc | |
run: | | |
set -x | |
sudo chmod 755 "$HOME" | |
cp test/config.json.github-ci-linux test/config.json | |
- name: Build C++ tests | |
run: bundle exec drake -j4 test:cxx:build | |
- name: Run C++ tests | |
run: > | |
sudo env | |
PATH="$PATH" | |
GEM_PATH="$GEM_PATH" | |
../buildout/test/cxx/main | |
working-directory: test | |
- name: Archive logs | |
uses: actions/upload-artifact@v4 | |
with: | |
name: cxx-test-logs-macos | |
path: 'buildout/testlogs/*' | |
- name: Teardown sccache | |
run: ./dev/ci/teardown-sccache | |
if: always() | |
cxx-tests-macos: | |
name: C++ unit tests on macOS | |
runs-on: macos-latest | |
timeout-minutes: 30 | |
env: | |
CPATH: /opt/homebrew/opt/openssl@3/include | |
EXTRA_CFLAGS: '-fcolor-diagnostics' | |
EXTRA_CXXFLAGS: '-fcolor-diagnostics' | |
SCCACHE_AZURE_BLOB_CONTAINER: ${{ vars.SCCACHE_AZURE_BLOB_CONTAINER }} | |
SCCACHE_AZURE_KEY_PREFIX: sccache/cxx-macos | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ env.DEFAULT_RUBY_VERSION }} | |
bundler-cache: true | |
- name: Setup bundle gem path | |
run: ./dev/ci/setup-bundle-gem-path | |
- name: Setup sccache | |
run: ./dev/ci/setup-sccache | |
env: | |
ARCH_AND_OS: aarch64-apple-darwin | |
SCCACHE_LOG: debug | |
SCCACHE_AZURE_CONNECTION_STRING: ${{ secrets.AZURE_CI_STORAGE_CONNECTION_STRING }} | |
- name: Setup misc | |
run: | | |
sudo chmod 755 "$HOME" | |
sed "s|_USER_|$(whoami)|" test/config.json.github-ci-macos > test/config.json | |
- name: Build C++ tests | |
run: bundle exec drake -j4 test:cxx:build | |
- name: Run C++ tests | |
# The AbortHandler doesn't work so well on Github's macOS runners: | |
# - crash-watch invocation freezes the runner, so we disable this. | |
# - resuming the parent process after SIGSTOP doesn't work, so we force kill the parent. | |
run: > | |
sudo env | |
PATH="$PATH" | |
GEM_PATH="$GEM_PATH" | |
PASSENGER_DUMP_WITH_CRASH_WATCH=false | |
PASSENGER_FORCE_TERMINATE_ON_ABORT=true | |
../buildout/test/cxx/main | |
working-directory: test | |
# The AbortHandler may not be able to forcefully kill the parent. We set a low timeout | |
# to prevent the test from hanging for a long time. | |
timeout-minutes: 10 | |
- name: Archive logs | |
uses: actions/upload-artifact@v4 | |
with: | |
name: cxx-test-logs-macos | |
path: 'buildout/testlogs/*' | |
- name: Teardown sccache | |
run: ./dev/ci/teardown-sccache | |
if: always() | |
# integration: | |
# name: '${{ matrix.integration.name }} integration tests on ${{ matrix.os }}' | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# os: | |
# - macos-latest | |
# - ubuntu-latest | |
# integration: | |
# - name: 'Apache 2' | |
# label: 'apache2' | |
# - name: 'Nginx dynamic module' | |
# label: 'nginx-dynamic' | |
# - name: 'Nginx' | |
# label: 'nginx' | |
# - name: 'Standalone' | |
# label: 'standalone' | |
# runs-on: ${{ matrix.os }} | |
# steps: | |
# - uses: actions/checkout@v4 | |
# with: | |
# submodules: true | |
# - uses: ruby/setup-ruby@v1 | |
# with: | |
# ruby-version: ${{ env.DEFAULT_RUBY_VERSION }} | |
# bundler-cache: true | |
# - run: ./dev/ci/setup-host ${{ matrix.integration.label }} | |
# - run: ./dev/ci/run-tests-with-docker ${{ matrix.integration.label }} | |
# if: matrix.os == 'ubuntu-latest' | |
# - run: ./dev/ci/run-tests-natively ${{ matrix.integration.label }} | |
# if: matrix.os == 'macos-latest' | |
# - run: ls -R buildout | |
# - uses: actions/upload-artifact@v4 | |
# with: | |
# name: ${{ matrix.integration.label }}-${{ matrix.os }} | |
# path: 'buildout/testlogs/*' | |
# language: | |
# name: '${{ matrix.lang.name }} unit tests on ${{ matrix.os }}' | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# lang: | |
# - name: 'Node.js' | |
# label: 'nodejs' | |
# - name: 'Ruby' | |
# label: 'ruby' | |
# os: | |
# - macos-latest | |
# - ubuntu-latest | |
# runs-on: ${{ matrix.os }} | |
# steps: | |
# - uses: actions/checkout@v4 | |
# with: | |
# submodules: true | |
# - uses: ruby/setup-ruby@v1 | |
# with: | |
# ruby-version: ${{ env.DEFAULT_RUBY_VERSION }} | |
# bundler-cache: true | |
# - run: ./dev/ci/setup-host ${{ matrix.lang.label }} | |
# - run: ./dev/ci/run-tests-with-docker ${{ matrix.lang.label }} | |
# if: matrix.os == 'ubuntu-latest' | |
# - run: ./dev/ci/run-tests-natively ${{ matrix.lang.label }} | |
# if: matrix.os == 'macos-latest' | |
# - run: ls -R buildout | |
# - uses: actions/upload-artifact@v4 | |
# with: | |
# name: ${{ matrix.lang.label }}-${{ matrix.os }} | |
# path: 'buildout/testlogs/*' | |
# homebrew_packaging: | |
# name: 'Homebrew packaging unit tests' | |
# runs-on: macos-latest | |
# env: | |
# GEM_HOME: ${{ github.workspace }}/.gem | |
# steps: | |
# - uses: actions/checkout@v4 | |
# with: | |
# submodules: true | |
# - run: ./dev/ci/setup-host homebrew-packaging | |
# - run: ./dev/ci/run-tests-natively homebrew-packaging | |
# - run: ls -R buildout | |
# - uses: actions/upload-artifact@v4 | |
# with: | |
# name: homebrew-${{ matrix.os }} | |
# path: 'buildout/testlogs/*' | |
# source_packaging: | |
# name: 'Source packaging unit tests' | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# with: | |
# submodules: true | |
# - uses: ruby/setup-ruby@v1 | |
# with: | |
# ruby-version: ${{ env.DEFAULT_RUBY_VERSION }} | |
# bundler-cache: true | |
# - run: ./dev/ci/setup-host source-packaging | |
# - run: ./dev/ci/run-tests-with-docker source-packaging | |
# - run: ls -R buildout | |
# - uses: actions/upload-artifact@v4 | |
# with: | |
# name: source-packaging-${{ matrix.os }} | |
# path: 'buildout/testlogs/*' |