aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Reiter <reiter.christoph@gmail.com>2020-11-26 09:22:32 +0100
committerDylan Baker <dylan@pnwbakers.com>2020-12-11 13:45:11 -0800
commit8d04b3ce745821b18c78ba5ee19e4f00726d8d89 (patch)
treec2926c692c24754e6d670521c1d812a0f32bfa24
parentb65168c558c64cd2af4a9586443c295c5bec1114 (diff)
downloadmeson-8d04b3ce745821b18c78ba5ee19e4f00726d8d89.zip
meson-8d04b3ce745821b18c78ba5ee19e4f00726d8d89.tar.gz
meson-8d04b3ce745821b18c78ba5ee19e4f00726d8d89.tar.bz2
CI: Move all remaining jobs from travis-ci to GHA
Some changes: * Set HOME to /root, since github mounts its own HOME and 'wine' (because of permissions) and 'dub' (can't find packages) don't like that. * Remove the seccomp option, doesn't seem to be needed.
-rw-r--r--.github/workflows/os_comp.yml66
-rw-r--r--.travis.yml42
-rw-r--r--README.md1
-rwxr-xr-xci/travis_install.sh9
-rwxr-xr-xci/travis_script.sh57
-rw-r--r--docs/markdown/Contributing.md2
-rw-r--r--docs/markdown/MesonCI.md7
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
diff --git a/README.md b/README.md
index 53b3e84..dcc2c72 100644
--- a/README.md
+++ b/README.md
@@ -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