summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.cirrus.yml39
-rw-r--r--.github/workflows/makefile.yml44
2 files changed, 45 insertions, 38 deletions
diff --git a/.cirrus.yml b/.cirrus.yml
index b1b14454..4f6311f5 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -1,3 +1,4 @@
+# TODO move to Github Actions after https://github.com/actions/runner/issues/385
freebsd_task:
freebsd_instance:
image_family: freebsd-14-2
@@ -12,41 +13,3 @@ freebsd_task:
test_script: make CXX=$CXX -j$(sysctl -n hw.ncpu) test
env:
LC_ALL: en_US.UTF-8
-
-linux_task:
- locales_script:
- - apt-get update && apt-get -y install locales
- - echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
- - locale-gen en_US.UTF-8
- matrix:
- - name: linux_clang
- container:
- image: silkeh/clang:13
- env:
- CXX: clang++
- - name: linux_gcc
- container:
- image: gcc:10
- memory: 8G
- env:
- CXX: g++
- test_script: make CXX=$CXX -j$(nproc) test
- env:
- LC_ALL: en_US.UTF-8
-
-macos_task:
- macos_instance:
- image: ghcr.io/cirruslabs/macos-ventura-base:latest
- matrix:
- - name: macos_clang
- clang_script: brew install llvm
- env:
- CXX: /opt/homebrew/opt/llvm/bin/clang++
- - name: macos_gcc
- gcc_script:
- - /usr/sbin/softwareupdate --install-rosetta --agree-to-license
- - arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
- - arch -x86_64 /usr/local/bin/brew install gcc@12
- env:
- CXX: g++-12
- test_script: make CXX=$CXX -j$(sysctl -n hw.ncpu) test
diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml
new file mode 100644
index 00000000..e32f3ef6
--- /dev/null
+++ b/.github/workflows/makefile.yml
@@ -0,0 +1,44 @@
+name: Makefile CI
+on:
+ push:
+ branches: [ "master" ]
+ pull_request:
+ branches: [ "master" ]
+jobs:
+ build:
+ strategy:
+ matrix:
+ os: [ubuntu, macos]
+ toolchain: [gcc, llvm]
+ include:
+ - os: ubuntu
+ toolchain: gcc
+ install_cmd: |
+ sudo apt update
+ sudo apt install g++
+ CXX: g++
+ - os: ubuntu
+ toolchain: llvm
+ install_cmd: |
+ sudo apt update
+ sudo apt install clang
+ CXX: clang++
+ - os: macos
+ toolchain: gcc
+ install_cmd: |
+ brew update
+ brew install gcc
+ CXX: g++
+ - os: macos
+ toolchain: llvm
+ install_cmd: |
+ brew update
+ brew install llvm
+ CXX: clang++
+ runs-on: ${{ matrix.os }}-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: Install dependencies
+ run: ${{ matrix.install_cmd }}
+ - name: Build and test
+ run: make CXX=${{ matrix.CXX }} -j$(nproc 2>/dev/null || sysctl -n hw.ncpu) test