summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/ci.yml94
-rw-r--r--.github/workflows/codecov.yml5
-rw-r--r--.github/workflows/codeql.yml2
3 files changed, 64 insertions, 37 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 8011224..4075eb1 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -3,10 +3,12 @@ name: CI
on: [push, pull_request]
jobs:
- linux:
- name: Linux
+ linux-x86:
+ name: Linux (x86)
+ runs-on: ubuntu-24.04
- runs-on: ubuntu-22.04
+ # Don't run on both pushes and pull requests
+ if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- uses: actions/checkout@v4
@@ -16,7 +18,7 @@ jobs:
sudo dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install -y \
- expect \
+ mandoc \
gcc-multilib \
libgcc-s1:i386 \
acl \
@@ -34,8 +36,6 @@ jobs:
sudo ln -s libacl.so.1 /lib/i386-linux-gnu/libacl.so
sudo ln -s libcap.so.2 /lib/i386-linux-gnu/libcap.so
sudo ln -s libonig.so.5 /lib/i386-linux-gnu/libonig.so
- # Work around https://github.com/actions/runner-images/issues/9491
- sudo sysctl vm.mmap_rnd_bits=28
- name: Run tests
run: |
@@ -43,22 +43,52 @@ jobs:
- uses: actions/upload-artifact@v4
with:
- name: linux-config.log
+ name: linux-x86-config.log
+ path: distcheck-*/gen/config.log
+
+ linux-arm:
+ name: Linux (Arm64)
+ runs-on: ubuntu-24.04-arm
+
+ if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Install dependencies
+ run: |
+ sudo apt-get update -y
+ sudo apt-get install -y \
+ mandoc \
+ acl \
+ libacl1-dev \
+ attr \
+ libcap2-bin \
+ libcap-dev \
+ libonig-dev \
+ liburing-dev
+
+ - name: Run tests
+ run: |
+ .github/diag.sh make -j$(nproc) distcheck
+
+ - uses: actions/upload-artifact@v4
+ with:
+ name: linux-arm-config.log
path: distcheck-*/gen/config.log
macos:
name: macOS
+ runs-on: macos-15
- runs-on: macos-14
+ if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
- brew install \
- bash \
- expect
+ brew install bash
- name: Run tests
run: |
@@ -67,25 +97,24 @@ jobs:
freebsd:
name: FreeBSD
+ runs-on: ubuntu-24.04
- runs-on: ubuntu-22.04
+ if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- uses: actions/checkout@v4
- name: Run tests
- uses: cross-platform-actions/action@v0.24.0
+ uses: cross-platform-actions/action@v0.28.0
with:
operating_system: freebsd
- version: "14.0"
+ version: "14.2"
run: |
sudo pkg install -y \
bash \
- expect \
oniguruma \
- pkgconf \
- tcl-wrapper
+ pkgconf
sudo mount -t fdescfs none /dev/fd
.github/diag.sh make -j$(nproc) distcheck
@@ -96,22 +125,22 @@ jobs:
openbsd:
name: OpenBSD
+ runs-on: ubuntu-24.04
- runs-on: ubuntu-22.04
+ if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- uses: actions/checkout@v4
- name: Run tests
- uses: cross-platform-actions/action@v0.24.0
+ uses: cross-platform-actions/action@v0.28.0
with:
operating_system: openbsd
- version: "7.5"
+ version: "7.7"
run: |
sudo pkg_add \
bash \
- expect \
gmake \
oniguruma
jobs=$(sysctl -n hw.ncpu)
@@ -125,25 +154,25 @@ jobs:
netbsd:
name: NetBSD
+ runs-on: ubuntu-24.04
- runs-on: ubuntu-22.04
+ if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- uses: actions/checkout@v4
- name: Run tests
- uses: cross-platform-actions/action@v0.24.0
+ uses: cross-platform-actions/action@v0.28.0
with:
operating_system: netbsd
- version: "10.0"
+ version: "10.1"
run: |
PATH="/sbin:/usr/sbin:$PATH"
sudo pkgin -y install \
bash \
oniguruma \
- pkgconf \
- tcl-expect
+ pkgconf
jobs=$(sysctl -n hw.ncpu)
./configure
.github/diag.sh make -j$jobs check TEST_FLAGS="--sudo --verbose=skipped"
@@ -155,8 +184,9 @@ jobs:
dragonflybsd:
name: DragonFly BSD
+ runs-on: ubuntu-24.04
- runs-on: ubuntu-22.04
+ if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- uses: actions/checkout@v4
@@ -170,11 +200,9 @@ jobs:
prepare: |
pkg install -y \
bash \
- expect \
oniguruma \
pkgconf \
- sudo \
- tcl-wrapper
+ sudo
pw useradd -n action -m -G wheel -s /usr/local/bin/bash
echo "%wheel ALL=(ALL) NOPASSWD: ALL" >>/usr/local/etc/sudoers
@@ -191,8 +219,9 @@ jobs:
omnios:
name: OmniOS
+ runs-on: ubuntu-24.04
- runs-on: ubuntu-22.04
+ if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- uses: actions/checkout@v4
@@ -200,14 +229,13 @@ jobs:
- name: Run tests
uses: vmactions/omnios-vm@v1
with:
- release: "r151048"
+ release: "r151052"
usesh: true
prepare: |
pkg install \
bash \
build-essential \
- expect \
gnu-make \
onig \
sudo
diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml
index 6aaace6..e4e8f71 100644
--- a/.github/workflows/codecov.yml
+++ b/.github/workflows/codecov.yml
@@ -4,7 +4,7 @@ on: [push]
jobs:
build:
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
@@ -13,7 +13,6 @@ jobs:
run: |
sudo apt-get update -y
sudo apt-get install -y \
- expect \
gcc \
acl \
libacl1-dev \
@@ -29,7 +28,7 @@ jobs:
make -j$(nproc) check TEST_FLAGS="--sudo"
gcov -abcfpu obj/*/*.o
- - uses: codecov/codecov-action@v4
+ - uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index a0b8fe3..1f2041c 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -13,7 +13,7 @@ on:
jobs:
analyze:
name: Analyze
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
permissions:
actions: read
contents: read