Files

63 lines
1.5 KiB
YAML

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# Continuous Integration (CI) GitHub Actions tests
name: Actions CI
on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: "0 0 * * *" # Runs at 00:00 UTC every day
permissions:
contents: read # Read code in PRs
id-token: write # Required for Codecov OIDC uploads
jobs:
Test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest] # does not work with windows-latest
python-version: ["3.8", "3.14"]
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- uses: astral-sh/setup-uv@v7
with:
enable-cache: false
- name: Install dependencies
run: |
uv pip install --system -e ".[dev]"
- name: Run Python tests
uses: ultralytics/actions/retry@main
with:
retries: 1 # Retry once after initial attempt
run: |
python -m pytest tests -v --cov=actions --cov-report=xml:coverage.xml
- name: Run CLI tests
run: |
ultralytics-actions-info
- name: Upload coverage to Codecov
continue-on-error: true
uses: codecov/codecov-action@v7
with:
files: ./coverage.xml
disable_search: true
plugins: noop
use_oidc: true
fail_ci_if_error: false