diff options
-rw-r--r-- | .github/workflows/os_comp.yml | 66 | ||||
-rw-r--r-- | .travis.yml | 42 | ||||
-rw-r--r-- | README.md | 1 | ||||
-rwxr-xr-x | ci/travis_install.sh | 9 | ||||
-rwxr-xr-x | ci/travis_script.sh | 57 | ||||
-rw-r--r-- | docs/markdown/Contributing.md | 2 | ||||
-rw-r--r-- | docs/markdown/MesonCI.md | 7 |
7 files changed, 66 insertions, 118 deletions
diff --git a/.github/workflows/os_comp.yml b/.github/workflows/os_comp.yml index 5f4df20..b8940fa 100644 --- a/.github/workflows/os_comp.yml +++ b/.github/workflows/os_comp.yml @@ -27,3 +27,69 @@ jobs: # They are defined in the `env` section in each image.json. CI_ARGS should be set # via the `args` array ub the image.json run: bash -c 'source /ci/env_vars.sh; cd $GITHUB_WORKSPACE; ./run_tests.py $CI_ARGS' + + eoan: + name: 'Ubuntu Eoan' + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + cfg: + - CC: 'gcc' + CXX: 'g++' + - MESON_ARGS: '--unity=on' + RUN_TESTS_ARGS: '--no-unittests' + CC: 'gcc' + CXX: 'g++' + - CC: 'clang' + CXX: 'clang++' + - MESON_ARGS: '--unity=on' + RUN_TESTS_ARGS: '--no-unittests' + CC: 'clang' + CXX: 'clang++' + - RUN_TESTS_ARGS: '--cross ubuntu-armhf.json --cross linux-mingw-w64-64bit.json' + MESON_RSP_THRESHOLD: '0' + CC: 'gcc' + CXX: 'g++' + - RUN_TESTS_ARGS: '--cross ubuntu-armhf.json --cross linux-mingw-w64-64bit.json' + MESON_ARGS: '--unity=on' + CC: 'gcc' + CXX: 'g++' + + container: + image: mesonbuild/eoan + env: + MESON_RSP_THRESHOLD: ${{ matrix.cfg.MESON_RSP_THRESHOLD }} + MESON_ARGS: ${{ matrix.cfg.MESON_ARGS }} + RUN_TESTS_ARGS: ${{ matrix.cfg.RUN_TESTS_ARGS }} + CC: ${{ matrix.cfg.CC }} + CXX: ${{ matrix.cfg.CXX }} + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Run tests + shell: bash + run: | + export HOME=/root + + export CC=$CC + export CXX=$CXX + export OBJC=$CC + export OBJCXX=$CXX + export PATH=$(pwd)/tools:$PATH + if test "$MESON_RSP_THRESHOLD" != "" + then + export MESON_RSP_THRESHOLD=$MESON_RSP_THRESHOLD + fi + + source /ci/env_vars.sh + + update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix + update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix + update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix + update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix + + ./run_tests.py $RUN_TESTS_ARGS -- $MESON_ARGS
\ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9f61c96..0000000 --- a/.travis.yml +++ /dev/null @@ -1,42 +0,0 @@ -sudo: false - -branches: - only: - - master - # Release branches - - /^[0-9]+\.[0-9]+$/ - -os: - - linux - -compiler: - - gcc - - clang - -env: - - MESON_ARGS="" - - RUN_TESTS_ARGS="--no-unittests" MESON_ARGS="--unity=on" - -language: - - cpp - -services: - - docker - -matrix: - include: - # Test cross builds separately, they do not use the global compiler - # Also hijack one cross build to test long commandline handling codepath (and avoid overloading Travis) - - os: linux - compiler: gcc - env: RUN_TESTS_ARGS="--cross ubuntu-armhf.json --cross linux-mingw-w64-64bit.json" MESON_RSP_THRESHOLD=0 - - os: linux - compiler: gcc - env: RUN_TESTS_ARGS="--cross ubuntu-armhf.json --cross linux-mingw-w64-64bit.json" MESON_ARGS="--unity=on" - -before_install: - - python ./skip_ci.py --base-branch-env=TRAVIS_BRANCH --is-pull-env=TRAVIS_PULL_REQUEST - - ./ci/travis_install.sh - -script: - - ./ci/travis_script.sh @@ -7,7 +7,6 @@ build system. #### Status [![PyPI](https://img.shields.io/pypi/v/meson.svg)](https://pypi.python.org/pypi/meson) -[![Travis](https://travis-ci.org/mesonbuild/meson.svg?branch=master)](https://travis-ci.org/mesonbuild/meson) [![Build Status](https://dev.azure.com/jussi0947/jussi/_apis/build/status/mesonbuild.meson)](https://dev.azure.com/jussi0947/jussi/_build/latest?definitionId=1) [![Codecov](https://codecov.io/gh/mesonbuild/meson/coverage.svg?branch=master)](https://codecov.io/gh/mesonbuild/meson/branch/master) [![Code Quality: Python](https://img.shields.io/lgtm/grade/python/g/mesonbuild/meson.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/mesonbuild/meson/context:python) diff --git a/ci/travis_install.sh b/ci/travis_install.sh deleted file mode 100755 index bbeb100..0000000 --- a/ci/travis_install.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -set -e - -msg() { echo -e "\x1b[1;32mINFO: \x1b[37m$*\x1b[0m"; } - -msg "Running Linux setup" -docker pull mesonbuild/eoan -msg "Setup finished" diff --git a/ci/travis_script.sh b/ci/travis_script.sh deleted file mode 100755 index e60e3a3..0000000 --- a/ci/travis_script.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -set -e - -msg() { echo -e "\x1b[1;32mINFO: \x1b[37m$*\x1b[0m"; } - -# TODO enable coverage -#curl -s https://codecov.io/bash > upload.sh -#chmod +x upload.sh - -# We need to copy the current checkout inside the Docker container, -# because it has the MR id to be tested checked out. - -msg "Generating runner:" -cat <<EOF | tee run.sh -#!/bin/bash - -set -e - -export CC=$CC -export CXX=$CXX -export OBJC=$CC -export OBJCXX=$CXX -export PATH=/root/tools:$PATH -if test "$MESON_RSP_THRESHOLD" != "" -then - export MESON_RSP_THRESHOLD=$MESON_RSP_THRESHOLD -fi - -source /ci/env_vars.sh -cd /root - -update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix -update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix -update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix -update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix - -./run_tests.py $RUN_TESTS_ARGS -- $MESON_ARGS -#./upload.sh - -EOF - - chmod +x run.sh - - msg "Generating Dockerfile:" - cat <<EOF | tee Dockerfile -FROM mesonbuild/eoan -ADD . /root - -EOF - -msg "Building the docker image..." -docker build -t test_img . - -msg "Start running tests" -#ci_env=`bash <(curl -s https://codecov.io/env)` -docker run --security-opt seccomp:unconfined test_img /root/run.sh diff --git a/docs/markdown/Contributing.md b/docs/markdown/Contributing.md index 07ddc88..c9cebee 100644 --- a/docs/markdown/Contributing.md +++ b/docs/markdown/Contributing.md @@ -362,8 +362,6 @@ Meson uses several continuous integration testing systems that have slightly different interfaces for indicating a commit should be skipped. Continuous integration systems currently used: -- [Travis-CI](https://docs.travis-ci.com/user/customizing-the-build#skipping-a-build) - allows `[skip ci]` anywhere in the commit messages. - [Azure Pipelines](https://docs.microsoft.com/en-us/azure/devops/pipelines/scripts/git-commands?view=vsts&tabs=yaml#how-do-i-avoid-triggering-a-ci-build-when-the-script-pushes) allows `***NO_CI***` in the commit message. - [Sider](https://sider.review) diff --git a/docs/markdown/MesonCI.md b/docs/markdown/MesonCI.md index 73b979b..00fd1ff 100644 --- a/docs/markdown/MesonCI.md +++ b/docs/markdown/MesonCI.md @@ -5,13 +5,6 @@ the CI setup used for testing Meson itself. The Meson project uses multiple CI platforms for covering a wide range of target systems. -## Travis CI - -The travis configuration file is the `.travis.yml` in the -the project root. This platform tests cross compilation and -unity builds on a [linux docker image](#docker-images) and -on OSX. - ## GitHub actions The configuration files for GitHub actions are located in |