Add unit test on MacOS using Github Actions (#14220)

- Remove macos tests from travis
- Add macos tests in github actions.
This commit is contained in:
Massimiliano Culpo 2020-05-09 22:35:14 +02:00 committed by GitHub
parent 69ea6de069
commit 05203ec3fb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 22 deletions

View file

@ -4,8 +4,7 @@ coverage:
range: 60...90 range: 60...90
status: status:
project: project:
default: default: yes
threshold: 0.3%
ignore: ignore:
- lib/spack/spack/test/.* - lib/spack/spack/test/.*

48
.github/workflows/macos_unit_tests.yaml vendored Normal file
View file

@ -0,0 +1,48 @@
name: macos tests
on:
push:
branches:
- master
- develop
pull_request:
branches:
- master
- develop
jobs:
build:
runs-on: macos-latest
strategy:
matrix:
python-version: [3.7]
steps:
- uses: actions/checkout@v2
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools
pip install --upgrade codecov coverage==4.5.4
pip install --upgrade flake8 pep8-naming
- name: Setup Homebrew packages
run: |
brew update
brew upgrade
brew install gcc gnupg2 dash kcov
- name: Run unit tests
run: |
git --version
git fetch origin develop:develop
. share/spack/setup-env.sh
coverage run $(which spack) test
coverage combine
coverage xml
- name: Upload to codecov.io
uses: codecov/codecov-action@v1
with:
file: ./coverage.xml
flags: unittests,macos

View file

@ -76,10 +76,6 @@ jobs:
os: linux os: linux
language: python language: python
env: TEST_SUITE=doc env: TEST_SUITE=doc
- os: osx
language: generic
env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7, COVERAGE=true ]
if: type != pull_request
stages: stages:
- 'style checks' - 'style checks'
@ -111,15 +107,6 @@ addons:
- r-base-core - r-base-core
- r-base-dev - r-base-dev
- zsh - zsh
# for Mac builds, we use Homebrew
homebrew:
packages:
- python@2
- gcc
- gnupg2
- ccache
- dash
- kcov
update: true update: true
# ~/.ccache needs to be cached directly as Travis is not taking care of it # ~/.ccache needs to be cached directly as Travis is not taking care of it
@ -130,14 +117,7 @@ cache:
directories: directories:
- ~/.ccache - ~/.ccache
# Work around Travis's lack of support for Python on OSX
before_install: before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
pip2 install --upgrade pip;
pip2 install virtualenv;
virtualenv venv;
source venv/bin/activate;
fi
- ccache -M 2G && ccache -z - ccache -M 2G && ccache -z
# Install various dependencies # Install various dependencies

View file

@ -1,5 +1,6 @@
# <img src="https://cdn.rawgit.com/spack/spack/develop/share/spack/logo/spack-logo.svg" width="64" valign="middle" alt="Spack"/> Spack # <img src="https://cdn.rawgit.com/spack/spack/develop/share/spack/logo/spack-logo.svg" width="64" valign="middle" alt="Spack"/> Spack
[![](https://github.com/spack/spack/workflows/macos%20tests/badge.svg)](https://github.com/spack/spack/actions)
[![Build Status](https://travis-ci.com/spack/spack.svg?branch=develop)](https://travis-ci.com/spack/spack) [![Build Status](https://travis-ci.com/spack/spack.svg?branch=develop)](https://travis-ci.com/spack/spack)
[![Linux Builds](https://github.com/spack/spack/workflows/linux%20builds/badge.svg)](https://github.com/spack/spack/actions) [![Linux Builds](https://github.com/spack/spack/workflows/linux%20builds/badge.svg)](https://github.com/spack/spack/actions)
[![macOS Builds (nightly)](https://github.com/spack/spack/workflows/macOS%20builds%20nightly/badge.svg?branch=develop)](https://github.com/spack/spack/actions?query=workflow%3A%22macOS+builds+nightly%22) [![macOS Builds (nightly)](https://github.com/spack/spack/workflows/macOS%20builds%20nightly/badge.svg?branch=develop)](https://github.com/spack/spack/actions?query=workflow%3A%22macOS+builds+nightly%22)