diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 7192a2b..6619b31 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -6,64 +6,89 @@ on: pull_request: branches: [main] schedule: - - cron: "0 9 * * 1" # weekly Monday 9am + - cron: "0 9 * * 1" jobs: - install: - runs-on: ubuntu-latest - container: python:3.13-slim - steps: - - uses: actions/checkout@v3 - - - name: Install system dependencies - run: apt-get update -qq && apt-get install -y -qq libcap-dev - - - name: Install Poetry - run: pip install poetry==2.1.1 - - - name: Install dependencies - run: poetry install --without pi --no-interaction - - - name: Cache venv - uses: actions/cache@v3 - with: - path: .venv - key: venv-${{ hashFiles('pyproject.toml') }} - black: runs-on: ubuntu-latest container: python:3.13-slim - needs: install steps: - - uses: actions/checkout@v3 - - run: pip install poetry==2.1.1 - - run: poetry run black --check src/ tests/ + - name: Checkout + run: | + apt-get update -qq && apt-get install -y -qq git + git clone ${{ github.server_url }}/${{ github.repository }} . + git checkout ${{ github.sha }} + + - name: Install system dependencies + run: apt-get install -y -qq libcap-dev + + - name: Install Poetry and dependencies + run: | + pip install poetry==2.1.1 + poetry install --without pi --no-interaction + + - name: Run black + run: poetry run black --check src/ tests/ ruff: runs-on: ubuntu-latest container: python:3.13-slim - needs: install steps: - - uses: actions/checkout@v3 - - run: pip install poetry==2.1.1 - - run: poetry run ruff check src/ tests/ + - name: Checkout + run: | + apt-get update -qq && apt-get install -y -qq git + git clone ${{ github.server_url }}/${{ github.repository }} . + git checkout ${{ github.sha }} + + - name: Install system dependencies + run: apt-get install -y -qq libcap-dev + + - name: Install Poetry and dependencies + run: | + pip install poetry==2.1.1 + poetry install --without pi --no-interaction + + - name: Run ruff + run: poetry run ruff check src/ tests/ mypy: runs-on: ubuntu-latest container: python:3.13-slim - needs: install steps: - - uses: actions/checkout@v3 - - run: pip install poetry==2.1.1 - - run: poetry run mypy src/ + - name: Checkout + run: | + apt-get update -qq && apt-get install -y -qq git + git clone ${{ github.server_url }}/${{ github.repository }} . + git checkout ${{ github.sha }} + + - name: Install system dependencies + run: apt-get install -y -qq libcap-dev + + - name: Install Poetry and dependencies + run: | + pip install poetry==2.1.1 + poetry install --without pi --no-interaction + + - name: Run mypy + run: poetry run mypy src/ pytest: runs-on: ubuntu-latest container: python:3.13-slim - needs: install steps: - - uses: actions/checkout@v3 - - run: apt-get update -qq && apt-get install -y -qq libcap-dev - - run: pip install poetry==2.1.1 - - run: poetry install --without pi --no-interaction - - run: poetry run pytest + - name: Checkout + run: | + apt-get update -qq && apt-get install -y -qq git + git clone ${{ github.server_url }}/${{ github.repository }} . + git checkout ${{ github.sha }} + + - name: Install system dependencies + run: apt-get install -y -qq libcap-dev + + - name: Install Poetry and dependencies + run: | + pip install poetry==2.1.1 + poetry install --without pi --no-interaction + + - name: Run pytest + run: poetry run pytest diff --git a/.gitea/workflows/dependency_update.yml b/.gitea/workflows/dependency_update.yml index c18b21c..7e69050 100644 --- a/.gitea/workflows/dependency_update.yml +++ b/.gitea/workflows/dependency_update.yml @@ -10,21 +10,21 @@ jobs: dependency-update: runs-on: ubuntu-latest container: python:3.13-slim - # skip if this is already a dependency update branch if: "!startsWith(github.ref, 'refs/heads/dependency-updates-')" steps: - - uses: actions/checkout@v3 - with: - token: ${{ secrets.CI_TOKEN }} + - name: Checkout + run: | + apt-get update -qq && apt-get install -y -qq git curl + git clone ${{ github.server_url }}/${{ github.repository }} . + git checkout ${{ github.sha }} - name: Install system dependencies - run: apt-get update -qq && apt-get install -y -qq libcap-dev git curl + run: apt-get install -y -qq libcap-dev - - name: Install Poetry - run: pip install poetry==2.1.1 - - - name: Install dependencies - run: poetry install --without pi --no-interaction + - name: Install Poetry and dependencies + run: | + pip install poetry==2.1.1 + poetry install --without pi --no-interaction - name: Run dependency update check id: update @@ -40,7 +40,7 @@ jobs: CI_TOKEN: ${{ secrets.CI_TOKEN }} CI_SERVER_URL: ${{ secrets.CI_SERVER_URL }} REPO: ${{ github.repository }} - ASSIGNEE_ID: ${{ secrets.CI_ASSIGNEE_ID }} + CI_ASSIGNEE_ID: ${{ secrets.CI_ASSIGNEE_ID }} run: | chmod +x scripts/create_pr_gitea.sh bash scripts/create_pr_gitea.sh