aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/weekly.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/weekly.yml')
-rw-r--r--.github/workflows/weekly.yml191
1 files changed, 191 insertions, 0 deletions
diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml
new file mode 100644
index 0000000..a46f275
--- /dev/null
+++ b/.github/workflows/weekly.yml
@@ -0,0 +1,191 @@
+name: Weekly
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: '0 10 * * 1' # Mon 10.00 UTC
+
+env:
+ CTEST_OUTPUT_ON_FAILURE: 1
+
+jobs:
+ clang:
+ name: Clang ${{ matrix.clang-version }}
+ runs-on: ubuntu-20.04
+ strategy:
+ fail-fast: false
+ matrix:
+ clang-version: [5, 7, 9, 11, 13, 15]
+ steps:
+ - name: Setup Clang
+ uses: aminya/setup-cpp@v1
+ with:
+ llvm: ${{ matrix.clang-version }}
+ - uses: actions/checkout@v3
+ - name: Build and run tests
+ run: |
+ scripts/initbuild.sh make-concurrent
+ scripts/test.sh
+
+ clang-32bit:
+ name: Clang 32bit
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Prepare
+ run: |
+ sudo apt update
+ sudo apt install gcc-multilib g++-multilib
+ - uses: actions/checkout@v3
+ - name: Build and run tests
+ env:
+ CC: clang
+ CXX: clang++
+ run: |
+ scripts/initbuild.sh make-32bit
+ scripts/test.sh
+
+ gcc-old:
+ name: GCC 4.4
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Setup GCC
+ run: |
+ wget http://launchpadlibrarian.net/336269522/libmpfr4_3.1.6-1_amd64.deb
+ wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/gcc-4.4-base_4.4.7-8ubuntu1_amd64.deb
+ wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/cpp-4.4_4.4.7-8ubuntu1_amd64.deb
+ wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/gcc-4.4_4.4.7-8ubuntu1_amd64.deb
+ wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/libstdc++6-4.4-dev_4.4.7-8ubuntu1_amd64.deb
+ wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/g++-4.4_4.4.7-8ubuntu1_amd64.deb
+ sudo dpkg -i ./libmpfr4_3.1.6-1_amd64.deb
+ sudo dpkg -i ./gcc-4.4-base_4.4.7-8ubuntu1_amd64.deb
+ sudo dpkg -i ./cpp-4.4_4.4.7-8ubuntu1_amd64.deb
+ sudo dpkg -i ./gcc-4.4_4.4.7-8ubuntu1_amd64.deb
+ sudo dpkg -i ./libstdc++6-4.4-dev_4.4.7-8ubuntu1_amd64.deb ./g++-4.4_4.4.7-8ubuntu1_amd64.deb
+ - uses: actions/checkout@v3
+ - name: Build and run tests
+ env:
+ CC: gcc-4.4
+ CXX: g++-4.4
+ run: |
+ scripts/initbuild.sh make-concurrent
+ scripts/test.sh
+
+ gcc:
+ name: GCC ${{ matrix.gcc-version }}
+ runs-on: ubuntu-20.04
+ strategy:
+ fail-fast: false
+ matrix:
+ gcc-version: [7, 9, 11]
+ steps:
+ - name: Setup GCC
+ uses: aminya/setup-cpp@v1
+ with:
+ gcc: ${{ matrix.gcc-version }}
+ - uses: actions/checkout@v3
+ - name: Build and run tests
+ run: |
+ scripts/initbuild.sh make-concurrent
+ scripts/test.sh
+
+ gcc-32bit:
+ name: GCC 32bit
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Prepare
+ run: |
+ sudo apt update
+ sudo apt install gcc-multilib g++-multilib
+ - uses: actions/checkout@v3
+ - name: Build and run tests
+ run: |
+ scripts/initbuild.sh make-32bit
+ scripts/test.sh
+
+ intel:
+ name: Intel ${{ matrix.compiler }}
+ runs-on: ubuntu-20.04
+ strategy:
+ fail-fast: false
+ matrix:
+ compiler: [icc, icx]
+ steps:
+ - name: Prepare
+ run: |
+ wget -qO - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB | sudo apt-key add -
+ echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
+ sudo apt update
+ sudo apt install intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2021.4.0
+ - name: Setup Intel oneAPI
+ run: |
+ source /opt/intel/oneapi/setvars.sh
+ printenv >> $GITHUB_ENV
+ - uses: actions/checkout@v3
+ - name: Build and run tests
+ env:
+ CC: ${{ matrix.compiler }}
+ CXX: ${{ matrix.compiler }}
+ run: |
+ scripts/initbuild.sh make-concurrent
+ scripts/test.sh
+
+ macos-clang:
+ name: macOS Clang
+ runs-on: macos-11
+ steps:
+ - uses: actions/checkout@v3
+ - name: Build and run tests
+ run: |
+ scripts/initbuild.sh make-concurrent
+ scripts/test.sh
+
+ macos-gcc:
+ name: macOS GCC ${{ matrix.gcc-version }}
+ runs-on: macos-11
+ strategy:
+ fail-fast: false
+ matrix:
+ gcc-version: [9, 12]
+ steps:
+ - uses: actions/checkout@v3
+ - name: Prepare
+ run: |
+ brew install gcc@${{ matrix.gcc-version }}
+ - name: Build and run tests
+ env:
+ CC: gcc-${{ matrix.gcc-version }}
+ CXX: g++-${{ matrix.gcc-version }}
+ run: |
+ scripts/initbuild.sh make-concurrent
+ scripts/test.sh
+
+ windows:
+ name: Windows Visual Studio ${{ matrix.version }}
+ runs-on: windows-${{ matrix.version }}
+ strategy:
+ fail-fast: false
+ matrix:
+ version: [2019, 2022]
+ steps:
+ - uses: microsoft/setup-msbuild@v1.1
+ - uses: actions/checkout@v3
+ - name: Build and run tests
+ run: |
+ cmake .
+ msbuild FlatCC.sln /m /property:Configuration=Release
+ ctest -VV
+
+ cmake-minimum-required:
+ name: CMake 2.8.12 (min. required)
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Setup cmake
+ uses: jwlawson/actions-setup-cmake@v1
+ with:
+ cmake-version: 2.8.12
+ - uses: actions/checkout@v3
+ - name: Build and run tests
+ run: |
+ cmake --version
+ scripts/initbuild.sh make-concurrent
+ scripts/test.sh