Skip to content

Workflow file for this run

name: Passenger CI tests
env:
DEFAULT_RUBY_VERSION: 3.1.6
COMPILE_CONCURRENCY: 4
BUNDLE_CLEAN: true
on:
push: {}
pull_request: {}
jobs:
# cxx-linux:
# name: C++ unit tests on Linux
# 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: bundle exec rake src/cxx_supportlib/Constants.h
# - run: c++ -o foo.o -Itest/cxx -Itest/support -Isrc/agent -Isrc/cxx_supportlib -Isrc/cxx_supportlib/vendor-copy -Isrc/cxx_supportlib/vendor-modified -include test/cxx/TestSupport.h -Isrc/cxx_supportlib/vendor-modified/libev -DUSE_VENDORED_LIBEV -Isrc/cxx_supportlib/vendor-copy/libuv/include -DTESTING_APPLICATION_POOL -D_REENTRANT -I/usr/local/include -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -Wno-unknown-pragmas -feliminate-unused-debug-symbols -feliminate-unused-debug-types -fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED -Wno-attributes -DHAS_ALLOCA_H -DHAVE_ACCEPT4 -DHAS_SFENCE -DHAS_LFENCE -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -ggdb -std=gnu++11 -Wno-unused-local-typedefs -Wno-format-nonliteral -DHAS_UNORDERED_MAP -c test/cxx/Core/SecurityUpdateCheckerTest.cpp -v
# env:
# C_INCLUDE_PATH: /opt/homebrew/opt/openssl@3/include
# - run: bundle exec rake -j2 test:cxx
# env:
# SUDO: '1'
# - uses: actions/upload-artifact@v4
# with:
# name: cxx-${{ matrix.os }}
# path: 'buildout/testlogs/*'
cxx-macos:
name: C++ unit tests on macOS
runs-on: macos-latest
environment: dev
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 sccache
run: ./dev/ci/setup-sccache aarch64-apple-darwin
- name: Setup test config
run: cp test/config.json.github-ci-macos test/config.json
- name: Build C++ tests
run: bundle exec drake -j4 buildout/cxx/main buildout/support-binaries/PassengerAgent
- name: Run C++ tests
run: bundle exec drake -j4 test:cxx
env:
SUDO: '1'
SCCACHE_AZURE_CONNECTION_STRING: ${{ secrets.AZURE_CI_STORAGE_CONNECTION_STRING }}
- name: Archive logs
uses: actions/upload-artifact@v4
with:
name: cxx-${{ matrix.os }}
path: 'buildout/testlogs/*'
- name: Teardown sccache
run: ./dev/ci/teardown-sccache
# 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/*'