diff options
author | James McCoy <jamessan@jamessan.com> | 2020-11-24 22:42:40 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-24 22:42:40 -0500 |
commit | 11e64de511461999b95feaaa4880a820604a7138 (patch) | |
tree | f2a93092b54171a9e329461986633502e2eb8733 | |
parent | 7caa622afcbbc1f789c24a3f29525759486208da (diff) | |
parent | 0bb565b13bcc7a199bf997a67b9a6039d584b84e (diff) | |
download | rneovim-11e64de511461999b95feaaa4880a820604a7138.tar.gz rneovim-11e64de511461999b95feaaa4880a820604a7138.tar.bz2 rneovim-11e64de511461999b95feaaa4880a820604a7138.zip |
Merge pull request #13373 from jamessan/github-actions
-rw-r--r-- | .github/workflows/ci.yml (renamed from .github/workflows/linux.yml) | 26 | ||||
-rwxr-xr-x | .github/workflows/env.sh | 3 | ||||
-rw-r--r-- | .travis.yml | 1 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rwxr-xr-x | ci/before_script.sh | 2 | ||||
-rw-r--r-- | ci/common/build.sh | 2 | ||||
-rw-r--r-- | ci/common/test.sh | 4 |
7 files changed, 30 insertions, 10 deletions
diff --git a/.github/workflows/linux.yml b/.github/workflows/ci.yml index b8a8c01137..70cdc3b4a2 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/ci.yml @@ -1,21 +1,31 @@ -name: Linux CI +name: CI on: [push, pull_request] jobs: - linux: - name: ${{ matrix.flavor }} (cc=${{ matrix.cc }}) - runs-on: ubuntu-20.04 + build: + name: ${{ matrix.os }} ${{ matrix.flavor }} (cc=${{ matrix.cc }}) strategy: matrix: include: - flavor: asan cc: clang-11 + runner: ubuntu-20.04 + os: linux - flavor: lint cc: gcc + runner: ubuntu-20.04 + os: linux - flavor: tsan cc: clang-11 + runner: ubuntu-20.04 + os: linux + - cc: clang + runner: macos-10.15 + os: osx + runs-on: ${{ matrix.runner }} env: CC: ${{ matrix.cc }} + CI_OS_NAME: ${{ matrix.os }} steps: - uses: actions/checkout@v2 @@ -29,6 +39,7 @@ jobs: sudo add-apt-repository 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main' - name: Install apt packages + if: matrix.os == 'linux' run: | sudo apt-get update sudo apt-get install -y autoconf automake build-essential ccache cmake cpanminus cscope gcc-multilib gdb gettext gperf language-pack-tr libtool-bin locales ninja-build pkg-config python3 python3-pip python3-setuptools unzip valgrind xclip @@ -37,6 +48,13 @@ jobs: if: matrix.flavor == 'asan' || matrix.flavor == 'tsan' run: sudo apt-get install -y clang-11 + - name: Install brew packages + if: matrix.os == 'osx' + run: | + brew update >/dev/null + brew install automake ccache cpanminus ninja + brew upgrade + - name: Setup interpreter packages run: | ./ci/before_install.sh diff --git a/.github/workflows/env.sh b/.github/workflows/env.sh index 84f26f949e..cc1cef5cc4 100755 --- a/.github/workflows/env.sh +++ b/.github/workflows/env.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e -u -FLAVOR=$1 +FLAVOR=${1:-} cat <<EOF >> "$GITHUB_PATH" $HOME/.local/bin @@ -24,6 +24,7 @@ DEPS_CMAKE_FLAGS=-DUSE_BUNDLED_GPERF=OFF FUNCTIONALTEST=functionaltest CCACHE_COMPRESS=1 CCACHE_SLOPPINESS=time_macros,file_macro +CCACHE_DIR=$HOME/.ccache EOF BUILD_FLAGS="CMAKE_FLAGS=-DCI_BUILD=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=$HOME/nvim-install -DBUSTED_OUTPUT_TYPE=nvim -DDEPS_PREFIX=$HOME/nvim-deps/usr -DMIN_LOG_LEVEL=3" diff --git a/.travis.yml b/.travis.yml index 2f4603fa5c..b68f4f1bc1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -54,6 +54,7 @@ env: - CCACHE_COMPRESS=1 - CCACHE_SLOPPINESS=time_macros,file_macro - CCACHE_BASEDIR="$TRAVIS_BUILD_DIR" + - CI_OS_NAME="$TRAVIS_OS_NAME" anchors: envs: &common-job-env @@ -4,7 +4,7 @@ [Chat](https://gitter.im/neovim/neovim) | [Twitter](https://twitter.com/Neovim) -[](https://github.com/neovim/neovim/actions?query=workflow%3A%22Linux+CI%22) +[](https://github.com/neovim/neovim/actions?query=workflow%3A%22CI%22) [](https://ci.appveyor.com/project/neovim/neovim/branch/master) [](https://codecov.io/gh/neovim/neovim) [](https://scan.coverity.com/projects/2227) diff --git a/ci/before_script.sh b/ci/before_script.sh index 8bab1c4e17..701fe1d9eb 100755 --- a/ci/before_script.sh +++ b/ci/before_script.sh @@ -7,7 +7,7 @@ CI_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "${CI_DIR}/common/build.sh" # Enable ipv6 on Travis. ref: a39c8b7ce30d -if ! test "${TRAVIS_OS_NAME}" = osx ; then +if test -n "${TRAVIS_OS_NAME}" && ! test "${TRAVIS_OS_NAME}" = osx ; then echo "before_script.sh: enable ipv6" sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0 fi diff --git a/ci/common/build.sh b/ci/common/build.sh index f0bdec0a0e..0ee4b7493f 100644 --- a/ci/common/build.sh +++ b/ci/common/build.sh @@ -1,5 +1,5 @@ _stat() { - if test "${TRAVIS_OS_NAME}" = osx ; then + if test "${CI_OS_NAME}" = osx ; then stat -f %Sm "${@}" else stat -c %y "${@}" diff --git a/ci/common/test.sh b/ci/common/test.sh index 4ef6260339..118e181dfa 100644 --- a/ci/common/test.sh +++ b/ci/common/test.sh @@ -15,7 +15,7 @@ print_core() { return 0 fi echo "======= Core file $core =======" - if test "${TRAVIS_OS_NAME}" = osx ; then + if test "${CI_OS_NAME}" = osx ; then lldb -Q -o "bt all" -f "${app}" -c "${core}" else gdb -n -batch -ex 'thread apply all bt full' "${app}" -c "${core}" @@ -30,7 +30,7 @@ check_core_dumps() { fi local app="${1:-${BUILD_DIR}/bin/nvim}" local cores - if test "${TRAVIS_OS_NAME}" = osx ; then + if test "${CI_OS_NAME}" = osx ; then cores="$(find /cores/ -type f -print)" local _sudo='sudo' else |