timing sensitivity #119
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 | |
on: | |
push: {} | |
pull_request: {} | |
jobs: | |
cxx-tests-linux: | |
name: C++ unit tests on Linux | |
runs-on: ubuntu-latest | |
env: | |
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 | |
env: | |
CPATH: /opt/homebrew/opt/openssl@3/include | |
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 | |
# On Github's macOS runners, the crash-watch invocation seems to freeze the runner. | |
run: > | |
sudo env | |
PATH="$PATH" | |
GEM_PATH="$GEM_PATH" | |
PASSENGER_DUMP_WITH_CRASH_WATCH=false | |
../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() | |
# 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/*' |