Build and test with Python 3.11 #366
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: testing | |
on: | |
push: | |
branches: master | |
pull_request: | |
jobs: | |
black: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [3.11] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: psf/black@stable | |
eslint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run eslint | |
run: | | |
npm install --include=dev | |
./node_modules/.bin/eslint . -c package.json | |
postgres: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [3.11] | |
kiwitcms-url: [tcms.kiwitcms.org, public.tenant.kiwitcms.org] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Create database | |
run: | | |
docker-compose pull db | |
docker-compose run -d -p 5432:5432 --name postgresql_database db | |
- name: Configure ~/.tcms.conf for ${{ matrix.kiwitcms-url }} | |
run: | | |
echo "[tcms]" > ~/.tcms.conf | |
echo "url = https://${{ matrix.kiwitcms-url }}/xml-rpc/" >> ~/.tcms.conf | |
echo "username = kiwitcms-bot" >> ~/.tcms.conf | |
echo "password = ${{ secrets.TCMS_PASSWORD }}" >> ~/.tcms.conf | |
- name: Execute tests | |
env: | |
QUAY_IO_TOKEN: ${{ secrets.QUAY_IO_TOKEN }} | |
run: | | |
pip install -U pip wheel setuptools | |
pip install -r devel.txt | |
docker exec -i postgresql_database psql -c "CREATE EXTENSION IF NOT EXISTS btree_gin;" | |
docker exec -i postgresql_database psql -c "ALTER USER kiwi CREATEDB;" | |
# report to Kiwi TCMS only if we have access to secrets | |
if [ -n "${{ secrets.TCMS_PASSWORD }}" ]; then | |
export DJANGO_TEST_RUNNER="tcms_django_plugin.TestRunner" | |
export TCMS_PRODUCT=$GITHUB_REPOSITORY | |
export TCMS_PRODUCT_VERSION=$(echo $GITHUB_REF | sed "s|refs/heads/||" | sed "s|refs/||" | sed "s|/merge||") | |
export TCMS_BUILD=$(echo $GITHUB_SHA | cut -c1-7) | |
fi | |
make check | |
- name: Local coverage report | |
run: | | |
coverage report -m | |
coverage xml | |
- name: Send coverage to CodeCov | |
uses: codecov/codecov-action@v3 | |
with: | |
fail_ci_if_error: false | |
files: coverage.xml |