feat: Implement retry workflow in runers #500
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will install Python dependencies, pre-commit checks, run tests and generate Coverage report | |
# Not caching pip dependencies in this runner to catch breaking changes in unpinned dependencies | |
# Fixing OS version to avoid breaking OS changes during development stage. | |
# Will open up OS versions before release. | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
name: MacOS Full Test Suite and Coverage | |
on: | |
push: | |
pull_request: | |
branches: [ "dev", "main" ] | |
jobs: | |
build: | |
name: Full & Coverage | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.9", "3.10", "3.11"] | |
os: ["macos-12"] | |
steps: | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # SHA for v4.1.7 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@9a7ac94420f42ee15fc60ab88d0dca4be1fd5757 # SHA for v5.1.0 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install '.[dev,test]' | |
- name: Install java | |
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # SHA for v4.2.1 | |
with: | |
distribution: 'temurin' | |
java-version: '11.0.21' | |
- name: Check Java Install | |
run: | | |
java --version | |
- name: Install mac depencies with brew # not updating brew version, issue with aom | |
run: | | |
brew install geos | |
brew info geos | |
shell: sh | |
- name: pre-commit | |
run: | | |
pre-commit install | |
pre-commit run --all-files | |
- name: Base tests with retry | |
uses: nick-fields/retry@7152eba30c6575329ac0576536151aca5a72780e # SHA for v3.0.0 | |
with: | |
timeout_minutes: 10 | |
max_attempts: 3 | |
command: | | |
coverage run -m pytest | |
coverage xml | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@ab904c41d6ece82784817410c45d8b8c02684457 # SHA for v3.1.6 | |
with: | |
file: ./coverage.xml | |
flags: unittests | |
verbose: true | |
token: ${{secrets.CODECOV_TOKEN}} |