diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index e580a06e..528f229d 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -45,7 +45,7 @@ jobs: run: | uv run ruff check jenkinsapi/ --output-format full - build: + systests: runs-on: ubuntu-latest strategy: fail-fast: false @@ -100,4 +100,61 @@ jobs: - name: Test with pytest run: | - uv run pytest -sv --cov=jenkinsapi --cov-report=term-missing --cov-report=xml jenkinsapi_tests + uv run pytest -sv --cov=jenkinsapi --cov-report=term-missing --cov-report=xml jenkinsapi_tests/systests/ + + unittests: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + + steps: + - name: Harden Runner + uses: step-security/harden-runner@95d9a5deda9de15063e7595e9719c11c38c90ae2 # v2.13.2 + with: + egress-policy: audit + allowed-endpoints: > + azure.archive.ubuntu.com:80 + esm.ubuntu.com:443 + files.pythonhosted.org:443 + ftp-chi.osuosl.org:443 + ftp-nyc.osuosl.org:443 + get.jenkins.io:443 + github.com:443 + api.github.com:443 + int.api.stepsecurity.io:443 + mirror.xmission.com:443 + motd.ubuntu.com:443 + packages.microsoft.com:443 + ppa.launchpadcontent.net:443 + pypi.org:443 + updates.jenkins-ci.org:80 + updates.jenkins.io:443 + mirrors.updates.jenkins.io:443 + updates.jenkins.io:80 + + - name: Checkout + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: Install uv + uses: astral-sh/setup-uv@5a7eac68fb9809dea845d802897dc5c723910fa3 # v7.1.3 + with: + python-version: ${{ matrix.python-version }} + + - name: Install python + run: uv python install + + - name: setup java 25 + uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + with: + java-version: '25' + distribution: 'temurin' + + - name: Install dependencies + run: | + sudo apt-get update; sudo apt-get install libkrb5-dev gcc + + - name: Test with pytest + run: | + uv run pytest -sv --cov=jenkinsapi --cov-report=term-missing --cov-report=xml jenkinsapi_tests/unittests/