From 7ca68e54734a739fa3a94a2ba4a05b8b5da742f5 Mon Sep 17 00:00:00 2001 From: Andrew Senetar Date: Tue, 17 Aug 2021 01:18:26 -0500 Subject: [PATCH] First attempt at github actions setup --- .github/workflows/default.yml | 83 +++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/default.yml diff --git a/.github/workflows/default.yml b/.github/workflows/default.yml new file mode 100644 index 0000000..290ff30 --- /dev/null +++ b/.github/workflows/default.yml @@ -0,0 +1,83 @@ +# Workflow lints, and checks format in parallel then runs tests on all platforms + +name: Default CI/CD + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.x + uses: actions/setup-python@v2 + with: + python-version: 3.x + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 + - name: Lint with flake8 + run: | + flake8 . + test: + needs: lint + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + python-version: [2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10] + exclude: + - os: macos-latest + python-version: 3.4 + - os: macos-latest + python-version: 3.5 + - os: macos-latest + python-version: 3.6 + - os: macos-latest + python-version: 3.7 + - os: windows-latest + python-version: 3.4 + - os: windows-latest + python-version: 3.5 + - os: windows-latest + python-version: 3.6 + - os: windows-latest + python-version: 3.7 + include: + - arch: ppc64le + distro: ubuntu20.04 + python-version: 2.7 + - arch: ppc64le + distro: ubuntu20.04 + python-version: 3.6 + + steps: + - uses: actions/checkout@v2 + - uses: uraimo/run-on-arch-action@v2.0.5 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + - name: Install windows dependencies + if: ${{ matrix.os == 'windows-latest' }} + run: | + pip install pywin32 + - name: Install macOs dependencies + if: ${{ matrix.os == 'macos-latest' }} + run: | + pip install pyobjc-framework-Cocoa + - name: Build python modules + run: | + python build.py --modules + - name: Run tests + run: | + pytest core hscommon