mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-03 00:16:20 +08:00
6c81eb14d7
We no longer vendor PCRE2 sources, instead we fetch them from the official repo.
140 lines
3.1 KiB
YAML
140 lines
3.1 KiB
YAML
name: make test
|
|
|
|
on: [push, pull_request]
|
|
|
|
env:
|
|
CTEST_PARALLEL_LEVEL: "1"
|
|
CMAKE_BUILD_PARALLEL_LEVEL: "4"
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
ubuntu:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install deps
|
|
run: |
|
|
sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip tmux
|
|
sudo pip3 install pexpect
|
|
# Generate a locale that uses a comma as decimal separator.
|
|
sudo locale-gen fr_FR.UTF-8
|
|
- name: cmake
|
|
env:
|
|
# Some warnings upgraded to errors to match Open Build Service platforms
|
|
CXXFLAGS: "-Werror=address -Werror=return-type"
|
|
run: |
|
|
mkdir build && cd build
|
|
cmake ..
|
|
- name: make
|
|
run: |
|
|
make
|
|
- name: make test
|
|
run: |
|
|
make test
|
|
|
|
ubuntu-32bit-fetched-pcre2:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install deps
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install gettext lib32ncurses5-dev python3-pip g++-multilib tmux
|
|
sudo pip3 install pexpect
|
|
- name: cmake
|
|
env:
|
|
CXXFLAGS: "-m32 -Werror=address -Werror=return-type"
|
|
CFLAGS: "-m32"
|
|
run: |
|
|
mkdir build && cd build
|
|
cmake -DFISH_USE_SYSTEM_PCRE2=OFF ..
|
|
- name: make
|
|
run: |
|
|
make
|
|
- name: make test
|
|
run: |
|
|
make test
|
|
|
|
ubuntu-asan:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install deps
|
|
run: |
|
|
sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip tmux
|
|
sudo pip3 install pexpect
|
|
- name: cmake
|
|
env:
|
|
CC: clang
|
|
CXX: clang++
|
|
CXXFLAGS: "-fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address"
|
|
ASAN_OPTIONS: check_initialization_order=1:detect_stack_use_after_return=1:detect_leaks=1
|
|
UBSAN_OPTIONS: print_stacktrace=1:report_error_type=1
|
|
LSAN_OPTIONS: verbosity=1:log_threads=1
|
|
run: |
|
|
mkdir build && cd build
|
|
cmake ..
|
|
- name: make
|
|
run: |
|
|
make
|
|
# This is broken as of 2022-04-18, ASAN crashes on
|
|
# autosuggest_suggest_special for no discernable reason.
|
|
# Unable to reproduce locally.
|
|
# - name: make test
|
|
# run: |
|
|
# make test
|
|
|
|
ubuntu-threadsan:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install deps
|
|
run: |
|
|
sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip tmux
|
|
sudo pip3 install pexpect
|
|
- name: cmake
|
|
env:
|
|
CC: clang
|
|
CXX: clang++
|
|
CXXFLAGS: "-fsanitize=thread"
|
|
run: |
|
|
mkdir build && cd build
|
|
cmake ..
|
|
- name: make
|
|
run: |
|
|
make
|
|
- name: make test
|
|
run: |
|
|
make test
|
|
|
|
macos:
|
|
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install deps
|
|
run: |
|
|
sudo pip3 install pexpect
|
|
brew install tmux
|
|
- name: cmake
|
|
run: |
|
|
mkdir build && cd build
|
|
cmake -DWITH_GETTEXT=NO ..
|
|
- name: make
|
|
run: |
|
|
make
|
|
- name: make test
|
|
run: |
|
|
make test
|