diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9cb2b2e..dd83556 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,6 +4,9 @@ on: [push, pull_request] jobs: build-notls: + env: + # https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -18,14 +21,25 @@ jobs: build-ubuntu: strategy: matrix: - platform: [ubuntu-latest, ubuntu-20.04] + platform: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, ubuntu-latest] + name: Build ${{ matrix.platform }} + env: + # https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt-get -qq update - sudo apt-get install lcov autoconf automake pkg-config libevent-dev libpcre3-dev libssl-dev + sudo apt-get install autoconf automake pkg-config libevent-dev libpcre3-dev libssl-dev + + # Install lcov only on ubuntu-latest + - name: Install lcov + if: matrix.platform == 'ubuntu-latest' + run: | + sudo apt-get install -y lcov + lcov --version # Confirm version - name: Build run: autoreconf -ivf && ./configure --enable-code-coverage && make -j @@ -36,9 +50,11 @@ jobs: architecture: x64 - name: Install Python dependencies + if: matrix.platform == 'ubuntu-latest' run: pip install -r ./tests/test_requirements.txt - name: Install Redis + if: matrix.platform == 'ubuntu-latest' run: | curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list @@ -47,6 +63,7 @@ jobs: sudo service redis-server stop - name: Increase connection limit + if: matrix.platform == 'ubuntu-latest' run: | sudo sysctl -w net.ipv4.tcp_fin_timeout=10 sudo sysctl -w net.ipv4.tcp_tw_reuse=1 @@ -58,6 +75,7 @@ jobs: ./tests/gen-test-certs.sh - name: Test OSS TCP + if: matrix.platform == 'ubuntu-latest' timeout-minutes: 10 run: | ./tests/run_tests.sh @@ -81,6 +99,7 @@ jobs: TLS_PROTOCOLS='TLSv1.3' VERBOSE=1 TLS=1 ./tests/run_tests.sh - name: Test OSS-CLUSTER TCP + if: matrix.platform == 'ubuntu-latest' timeout-minutes: 10 run: | OSS_STANDALONE=0 OSS_CLUSTER=1 VERBOSE=1 \ @@ -106,8 +125,11 @@ jobs: openssl: ["3.0"] runs-on: macos-latest continue-on-error: true + env: + # https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: Install dependencies run: brew install autoconf automake libtool libevent openssl@${{ matrix.openssl }} - name: Build @@ -121,8 +143,11 @@ jobs: matrix: platform: [macos-12] runs-on: ${{ matrix.platform }} + env: + # https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: Install dependencies run: brew install autoconf automake libtool libevent openssl@1.1 - name: Build @@ -134,8 +159,11 @@ jobs: matrix: platform: [macos-12] runs-on: ${{ matrix.platform }} + env: + # https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: Install dependencies run: brew install autoconf automake libtool libevent pkg-config - name: Install openssl v1.0.2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d61d922..96c40fb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -123,6 +123,8 @@ jobs: needs: build-binary-package env: ARCH: amd64 + # https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true strategy: matrix: image: ${{ fromJSON(vars.SMOKE_TEST_IMAGES) }}