--- name: Test on: push: pull_request: schedule: - cron: '9 0 * * 1' jobs: base_py27: runs-on: ubuntu-20.04 container: image: python:2.7.18-buster strategy: fail-fast: false matrix: python-version: [2.7] flavour: [signxml, legacy, legacy-defusedxml, lxml, lxml-defusedxml] steps: - uses: actions/checkout@v3 - name: Install dependencies run: python -m pip install --upgrade pip virtualenv tox - name: Run tox run: tox -e "$(echo py${{ matrix.python-version }}-${{ matrix.flavour }} | sed -e 's/[.]//g;s/pypypy/pypy/')" --skip-missing-interpreters false base: runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: python-version: [3.5, 3.6, 3.7, 3.8, 3.9, '3.10', 3.11, 3.12, pypy2.7, pypy3.8, pypy3.9] flavour: [signxml] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: python -m pip install --upgrade pip tox - name: Install development libraries if: "${{ startsWith(matrix.python-version, 'pypy') }}" run: sudo apt-get update && sudo apt-get install -y libxml2-dev libxslt-dev - name: Run tox run: tox -e "$(echo py${{ matrix.python-version }}-${{ matrix.flavour }} | sed -e 's/[.]//g;s/pypypy/pypy/')" --skip-missing-interpreters false alternatives: runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: [3.11] flavour: [legacy, legacy-defusedxml, lxml, lxml-defusedxml] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: python -m pip install --upgrade pip tox - name: Run tox run: tox -e "$(echo py${{ matrix.python-version }}-${{ matrix.flavour }} | sed -e 's/[.]//g;s/pypypy/pypy/')" --skip-missing-interpreters false tox_job: runs-on: ubuntu-latest strategy: fail-fast: false matrix: tox_job: [docs, flake8, codespell] steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: 3.x - name: Install dependencies run: python -m pip install --upgrade pip tox - name: Run tox ${{ matrix.tox_job }} run: tox -e ${{ matrix.tox_job }} --skip-missing-interpreters false CodeQL: runs-on: ubuntu-latest permissions: actions: read contents: read security-events: write steps: - name: Checkout repository uses: actions/checkout@v3 - name: Initialize CodeQL uses: github/codeql-action/init@v2 with: languages: python - name: Build uses: github/codeql-action/autobuild@v2 - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2