From a5eabfad9117c1423bb0bfc33bbe0571c5e17c04 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 1 Jul 2020 18:58:53 +0200 Subject: Moved flake8, shell and documentation tests to Github Action (#17328) * Move flake8 tests on Github Actions * Move shell test to Github Actions * Moved documentation build to Github Action * Don't run coverage on Python 2.6 Since we get connection errors consistently on Travis when trying to upload coverage results for Python 2.6, avoid computing coverage entirely to speed-up tests. --- .github/workflows/linux_unit_tests.yaml | 80 +++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) (limited to '.github') diff --git a/.github/workflows/linux_unit_tests.yaml b/.github/workflows/linux_unit_tests.yaml index 3130bfa36e..78fd0e8ce0 100644 --- a/.github/workflows/linux_unit_tests.yaml +++ b/.github/workflows/linux_unit_tests.yaml @@ -60,3 +60,83 @@ jobs: uses: codecov/codecov-action@v1 with: flags: unittests,linux + flake8: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Install Python packages + run: | + pip install --upgrade pip six setuptools flake8 + - name: Setup git configuration + run: | + # Need this for the git tests to succeed. + git --version + git config --global user.email "spack@example.com" + git config --global user.name "Test User" + git fetch -u origin develop:develop + - name: Run flake8 tests + run: | + share/spack/qa/run-flake8-tests + shell: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Install System packages + run: | + sudo apt-get -y update + sudo apt-get install -y coreutils gfortran gnupg2 mercurial ninja-build patchelf zsh fish + # Needed for kcov + sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev + - name: Install Python packages + run: | + pip install --upgrade pip six setuptools codecov coverage + - name: Setup git configuration + run: | + # Need this for the git tests to succeed. + git --version + git config --global user.email "spack@example.com" + git config --global user.name "Test User" + git fetch -u origin develop:develop + - name: Install kcov for bash script coverage + env: + KCOV_VERSION: 38 + run: | + KCOV_ROOT=$(mktemp -d) + wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz + tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz + mkdir -p ${KCOV_ROOT}/build + cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd - + make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install + - name: Run shell tests + env: + COVERAGE: true + run: | + share/spack/qa/run-shell-tests + - name: Upload to codecov.io + uses: codecov/codecov-action@v1 + with: + flags: shelltests,linux + documentation: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Install System packages + run: | + sudo apt-get -y update + sudo apt-get install -y coreutils ninja-build graphviz + - name: Install Python packages + run: | + pip install --upgrade pip six setuptools + pip install --upgrade -r lib/spack/docs/requirements.txt + - name: Build documentation + run: | + share/spack/qa/run-doc-tests -- cgit v1.2.3-60-g2f50