summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2020-07-01 18:58:53 +0200
committerGitHub <noreply@github.com>2020-07-01 11:58:53 -0500
commita5eabfad9117c1423bb0bfc33bbe0571c5e17c04 (patch)
treefeb9340f1d3ee8d007eaf91c0492063218317d84 /.github/workflows
parent6a77f1ff457600523477380257bd698b8824648e (diff)
downloadspack-a5eabfad9117c1423bb0bfc33bbe0571c5e17c04.tar.gz
spack-a5eabfad9117c1423bb0bfc33bbe0571c5e17c04.tar.bz2
spack-a5eabfad9117c1423bb0bfc33bbe0571c5e17c04.tar.xz
spack-a5eabfad9117c1423bb0bfc33bbe0571c5e17c04.zip
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.
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/linux_unit_tests.yaml80
1 files changed, 80 insertions, 0 deletions
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