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.
This commit is contained in:
		 Massimiliano Culpo
					Massimiliano Culpo
				
			
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			 GitHub
						GitHub
					
				
			
						parent
						
							6a77f1ff45
						
					
				
				
					commit
					a5eabfad91
				
			
							
								
								
									
										80
									
								
								.github/workflows/linux_unit_tests.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										80
									
								
								.github/workflows/linux_unit_tests.yaml
									
									
									
									
										vendored
									
									
								
							| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user