mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-04-19 14:51:13 -03:00
- Convert update checks in check.sh to mechanical updates. - Use https://www.updatecli.io/ for now, which is not as full-featured as renovatebot or dependabot, but I found it easier to plug arbitrary shell scripts into. - Add updaters for - ubuntu-latest-lts (which is similar to GitHub Action's "ubuntu-latest"). - FreeBSD image used in Cirrus (requires "gcloud auth login" for now, see https://github.com/cirruslabs/cirrus-ci-docs/issues/1315) - littlecheck and widecharwidth - Update all dependencies except Cargo ones. - As a reminder, our version policies are arbitrary and can be changed as needed. - To-do: - Add updaters for GitHub Actions (such as "actions/checkout"). Renovatebot could do that.
49 lines
2.0 KiB
YAML
49 lines
2.0 KiB
YAML
env:
|
|
CIRRUS_CLONE_DEPTH: 100
|
|
CI: 1
|
|
|
|
linux_task:
|
|
matrix:
|
|
- name: alpine
|
|
container: &step
|
|
image: ghcr.io/krobelus/fish-ci/alpine:latest
|
|
memory: 4GB
|
|
- name: ubuntu-oldest-supported
|
|
container:
|
|
<<: *step
|
|
image: ghcr.io/krobelus/fish-ci/ubuntu-oldest-supported:latest
|
|
tests_script:
|
|
# cirrus at times gives us 32 procs and 2 GB of RAM
|
|
# Unrestriced parallelism results in OOM
|
|
- lscpu || true
|
|
- (cat /proc/meminfo | grep MemTotal) || true
|
|
- mkdir build && cd build
|
|
- FISH_TEST_MAX_CONCURRENCY=6 cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug ..
|
|
- ninja -j 6 fish
|
|
- ninja fish_run_tests
|
|
only_if: $CIRRUS_REPO_OWNER == 'fish-shell'
|
|
|
|
freebsd_task:
|
|
matrix:
|
|
- name: FreeBSD Stable
|
|
freebsd_instance:
|
|
image: freebsd-14-3-release-amd64-ufs # updatecli.d/cirrus-freebsd.yml
|
|
tests_script:
|
|
- pkg install -y cmake-core devel/pcre2 devel/ninja gettext git-lite lang/rust misc/py-pexpect
|
|
# libclang.so is a required build dependency for rust-c++ ffi bridge
|
|
- pkg install -y llvm
|
|
# BSDs have the following behavior: root may open or access files even if
|
|
# the mode bits would otherwise disallow it. For example root may open()
|
|
# a file with write privileges even if the file has mode 400. This breaks
|
|
# our tests for e.g. cd and path. So create a new unprivileged user to run tests.
|
|
- pw user add -n fish-user -s /bin/csh -d /home/fish-user
|
|
- mkdir -p /home/fish-user
|
|
- chown -R fish-user /home/fish-user
|
|
- mkdir build && cd build
|
|
- chown -R fish-user ..
|
|
- sudo -u fish-user -s whoami
|
|
- sudo -u fish-user -s FISH_TEST_MAX_CONCURRENCY=1 cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug ..
|
|
- sudo -u fish-user -s ninja -j 6 fish
|
|
- sudo -u fish-user -s ninja fish_run_tests
|
|
only_if: $CIRRUS_REPO_OWNER == 'fish-shell'
|