chore: Update pyproject and tests to support Mac's/arm local development #1114
Workflow file for this run
This file contains hidden or 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
# Continuous Integration for the core package | ||
name: core | ||
on: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: [main] | ||
jobs: | ||
run-tests-and-coverage: | ||
runs-on: ubuntu-22.04 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
python-version: ["3.9", "3.10", "3.11", "3.12"] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python | ||
uses: ./.github/actions/setup-env | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install Python dependencies | ||
run: poetry install --all-extras | ||
- name: Run twine check | ||
run: poetry build && poetry run twine check dist/*.tar.gz | ||
- name: Set up Docker | ||
uses: docker/setup-docker-action@v4 - name: Display Docker and Compose Versions | ||
run: | | ||
echo "##[group]Docker Version" | ||
docker --version || echo "Docker is not installed or misconfigured" | ||
echo "##[endgroup]" | ||
echo "##[group]Docker Compose Version" | ||
docker compose version || docker-compose --version || echo "Docker Compose is not installed or misconfigured" | ||
echo "##[endgroup]" | ||
- name: Run tests | ||
run: make core/tests | ||
- name: Rename coverage file | ||
run: mv .coverage .coverage.${{ matrix.python-version}} | ||
- name: "Save coverage artifact" | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: "coverage-artifact-${{ matrix.python-version}}" | ||
include-hidden-files: true | ||
path: ".coverage.*" | ||
retention-days: 1 | ||
- name: Run doctests | ||
run: make core/doctests | ||
coverage-compile: | ||
needs: "run-tests-and-coverage" | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python | ||
uses: ./.github/actions/setup-env | ||
- name: Install Python dependencies | ||
run: poetry install --all-extras | ||
- name: "Download coverage artifacts" | ||
uses: actions/download-artifact@v4 | ||
with: | ||
pattern: "coverage-artifact-*" | ||
merge-multiple: true | ||
- name: Compile coverage | ||
run: make coverage | ||
- name: Upload coverage to Codecov | ||
uses: codecov/codecov-action@v4 | ||
with: | ||
token: ${{ secrets.CODECOV_TOKEN }} |