From 51067914f75e9e453a3032dd8771ce493bab2e0c Mon Sep 17 00:00:00 2001 From: Dimitri Rusin Date: Wed, 31 Jan 2024 20:54:37 +0100 Subject: [PATCH] s --- .github/workflows/ubuntu.yml | 93 ++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 .github/workflows/ubuntu.yml diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml new file mode 100644 index 000000000..3c2398169 --- /dev/null +++ b/.github/workflows/ubuntu.yml @@ -0,0 +1,93 @@ +name: Ubuntu + +on: [push] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Debug + + +jobs: + build-test-cpp: + runs-on: ubuntu-20.04 + strategy: + matrix: + rust: [stable, nightly] + compiler: [g++-10, g++-9, g++-8, g++-7] + + steps: + - uses: actions/checkout@v2 + with: + rust-version: ${{ matrix.rust }} + submodules: true + + - name: Install dependencies + shell: bash + run: | + sudo apt-get update + sudo apt-get install doxygen python3-setuptools python3-dev python3-wheel -y + pip3 install wheel + + - name: Create Build Environment + # Some projects don't allow in-source building, so create a separate build directory + # We'll use this as our working directory for all subsequent commands + env: + CXX: ${{ matrix.compiler }} + run: | + sudo apt-get update + sudo apt-get install ${{ matrix.compiler }} -y + git submodule status + cmake -E make_directory ${{runner.workspace}}/build + + - name: Configure CMake + # Use a bash shell so we can use the same syntax for environment variable + # access regardless of the host operating system + shell: bash + env: + CXX: ${{ matrix.compiler }} + working-directory: ${{runner.workspace}}/build + # Note the current convention is to use the -S and -B options here to specify source + # and build directories, but this is only available with CMake 3.13 and higher. + # The CMake binaries on the Github Actions machines are (as of this writing) 3.12 + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE + + - name: Build + working-directory: ${{runner.workspace}}/build + shell: bash + env: + CXX: ${{ matrix.compiler }} + # Execute the build. You can specify a specific target with "--target " + run: cmake --build . --config $BUILD_TYPE + + - name: Test + working-directory: ${{runner.workspace}}/build + shell: bash + run: tests/test_ioh + + build-test-python: + runs-on: ubuntu-20.04 + strategy: + matrix: + python-version: ["3.6.x", "3.7.x", "3.8.x", "3.9.x", "3.10.x", "3.11.x"] + compiler: [g++-10] + architecture: [x64] + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: Set up Python + uses: actions/setup-python@v2 + env: + CXX: ${{ matrix.compiler }} + with: + python-version: ${{matrix.python-version}} + architecture: ${{matrix.architecture}} + - name: Install library + run: | + sudo apt-get update -y + sudo apt-get install ninja-build -y + python -m pip install --upgrade pip + pip install mypy xmltodict wheel scikit-build + pip install -e . -v + - name: Run unit tests + run: python -m unittest -v