nightly-Ubuntu-i386 #1151
This file contains hidden or 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: nightly-Ubuntu-i386 | |
on: | |
workflow_dispatch: | |
inputs: | |
run_tests: | |
type: boolean | |
description: Enable/Disable test stage | |
default: true | |
schedule: | |
- cron: '0 22 * * *' | |
jobs: | |
nightly-Ubuntu-i386: | |
strategy: | |
fail-fast: false | |
matrix: | |
boost: | |
- version: 1.71.0 | |
- version: 1.76.0 | |
build_type: | |
- type: Debug | |
warn_as_err: ON | |
- type: Release | |
warn_as_err: OFF | |
shared_libs: | |
- toggle: OFF | |
name: Static | |
- toggle: ON | |
name: Shared | |
with_openssl: | |
- toggle: OFF | |
name: 'noSSL' | |
- toggle: ON | |
name: 'SSL' | |
runs-on: ubuntu-latest | |
container: | |
image: i386/ubuntu | |
options: --privileged | |
name: >- | |
Ubuntu-i386 | |
(${{ matrix.build_type.type }}, ${{ matrix.shared_libs.name }}, ${{matrix.boost.version}},${{ matrix.with_openssl.name }}) | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Read Config | |
run: cat .github/config.env >> $GITHUB_ENV | |
# Install Java via `apt`, can't use the `setup-java` action on this image | |
# `setup-java` is written in TypeScript and requires a compatible Node installation | |
# Newest available version for this image is Node 8, which is too old for any version to run against | |
# https://github.com/actions/setup-node/issues/922 | |
- name: Install Necessary Packages | |
run: | | |
apt-get update | |
apt-get install -y build-essential cmake curl git libssl-dev maven net-tools openjdk-${{ env.JAVA_VERSION }}-jre-headless gdb curl | |
- name: Make sure the target architecture is 32 bit | |
run: | | |
echo 'int main() { return sizeof(void*) != 4; }' > test.c | |
gcc test.c -oa | |
./a | |
rm a test.c | |
# `apt-get` brings in `3.6` which is too old to be compatible with Java 17 | |
- name: Install Maven | |
run: | | |
install_dir="/opt/maven" | |
mkdir ${install_dir} | |
curl \ | |
--fail \ | |
--silent \ | |
--show-error \ | |
--location \ | |
https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/${{ env.MAVEN_VERSION }}/apa${{ env.MAVEN_VERSION }}n_version}-bin.tar.gz | | |
tar \ | |
--extract \ | |
--gzip \ | |
--strip-components=1 \ | |
--directory ${install_dir} | |
echo "${install_dir}/bin" >> $GITHUB_PATH | |
- name: Test Maven | |
run: | | |
mvn --version | |
- name: Download hazelcast-enterprise-tests.jar | |
run: | | |
curl -H "Authorization: token ${{ secrets.GH_TOKEN }}" https://raw.githubusercontent.com/hazelcast/private-test-artifacts/data/certs.jar > hazelcast-enterprise-${{ env.HAZELCAST_VERSION }}-tests.jar | |
- name: Install Boost | |
run: | | |
./scripts/install-boost.sh ${{matrix.boost.version}} | |
- name: Install Thrift | |
run: | | |
./scripts/install-thrift.sh 0.13.0 | |
- name: Build & Install | |
env: | |
BUILD_DIR: build | |
INSTALL: ON | |
WARN_AS_ERR: ${{ matrix.build_type.warn_as_err }} | |
run: | | |
./scripts/build-unix.sh \ | |
-DCMAKE_BUILD_TYPE=${{ matrix.build_type.type }} \ | |
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/destination \ | |
-DBUILD_SHARED_LIBS=${{ matrix.shared_libs.toggle }} \ | |
-DWITH_OPENSSL=${{ matrix.with_openssl.toggle }} \ | |
-DBUILD_TESTS=ON \ | |
-DBUILD_EXAMPLES=OFF | |
- name: Test | |
if: ${{ inputs.run_tests || github.event_name == 'schedule' }} | |
env: | |
BUILD_DIR: build | |
HAZELCAST_ENTERPRISE_KEY: ${{ secrets.HAZELCAST_ENTERPRISE_KEY }} | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
HZ_TEST_AWS_INSTANCE_PRIVATE_IP: ${{ secrets.HZ_TEST_AWS_INSTANCE_PRIVATE_IP }} | |
run: | | |
ulimit -c unlimited | |
echo 'core' > /proc/sys/kernel/core_pattern | |
echo '1' > /proc/sys/kernel/core_uses_pid | |
./scripts/test-unix.sh | |
- name: Verify Installation | |
env: | |
BUILD_DIR: build-examples | |
run: | | |
./scripts/verify-installation-unix.sh \ | |
-DCMAKE_PREFIX_PATH=${{ github.workspace }}/destination \ | |
-DWITH_OPENSSL=${{ matrix.with_openssl.toggle }} |