|
name: Build Status |
|
|
|
on: |
|
push: |
|
branches: |
|
- main |
|
tags: |
|
- v* |
|
paths-ignore: |
|
- LICENSE |
|
- README.md |
|
pull_request: |
|
branches: |
|
- main |
|
workflow_dispatch: |
|
|
|
concurrency: |
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} |
|
cancel-in-progress: true |
|
|
|
permissions: |
|
contents: read |
|
checks: write |
|
pull-requests: write |
|
|
|
jobs: |
|
build: |
|
runs-on: ubuntu-24.04 |
|
|
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 |
|
with: |
|
persist-credentials: false |
|
|
|
- name: Setup Python |
|
uses: actions-ext/python/setup@ec67f82b3bd863948308a41ecb9e70547cbb19c7 |
|
with: |
|
version: "3.11" |
|
|
|
- name: Install dependencies |
|
run: make develop |
|
|
|
- name: Lint |
|
run: make lint |
|
|
|
- name: Checks |
|
run: make checks |
|
|
|
- name: Build |
|
run: make build |
|
|
|
- name: Test |
|
run: make coverage |
|
|
|
- name: Upload test results (Python) |
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 |
|
with: |
|
name: test-results |
|
path: junit.xml |
|
if: always() |
|
|
|
- name: Publish test results |
|
uses: EnricoMi/publish-unit-test-result-action@d0a4676d0e0b938bc201470d88276b7c74c712b3 # v2.24.0 |
|
with: |
|
files: '**/junit.xml' |
|
|
|
- name: Upload coverage |
|
uses: codecov/codecov-action@0b35c9ecc4f0529d0eb674914510c22f85b196b4 # v7.1.0 |
|
with: |
|
token: ${{ secrets.CODECOV_TOKEN }} |
|
|
|
- name: Build distributions |
|
run: make dist |
|
|
|
- name: Test wheel |
|
uses: actions-ext/python/test-wheel@ec67f82b3bd863948308a41ecb9e70547cbb19c7 |
|
with: |
|
module: hatch_build |
|
|
|
- name: Test source distribution |
|
uses: actions-ext/python/test-sdist@ec67f82b3bd863948308a41ecb9e70547cbb19c7 |
|
with: |
|
module: hatch_build |
|
|
|
- name: Upload distributions |
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 |
|
with: |
|
name: dist |
|
path: dist |