summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2025-05-11 10:34:41 +1000
committerMaxime Coste <mawww@kakoune.org>2025-05-11 10:34:41 +1000
commit2d8c0b8bf0d7d18218d4c939003da39a018361e7 (patch)
tree7d676d6884e79f5553847ce201d7787337992a95
parent3dac6e28ef2baaf01924a6b71310fc18d0a3c17e (diff)
parentbcead34b533fc47a9eadfac423926f0c0beb63c8 (diff)
Merge remote-tracking branch 'svmhdvn/github-actions'
-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