The Jenkins continuous integration environment at https://djangoci.com builds pull requests using the GitHub Integration Plugin.

Commands

The main pull request builders are:

  • pull-requests-focal (Ubuntu 20.04) runs PostgreSQL 14 (with psycopg) and MySQL 8. GIS: spatialite 4.3.0a-6, GDAL 3.0.4, GEOS 3.8.0, PROJ 6.3.1, PostGIS 3.4.
  • pr-mariadb (Ubuntu 20.04) runs MariaDB 10.5.25. GIS: GDAL 3.0.4, GEOS 3.8.0, PROJ 6.3.1.
  • pull-requests-postgresql-psycopg2 (Ubuntu 20.04) runs PostgreSQL 14 with psycopg2. GIS: GDAL 3.0.4, GEOS 3.8.0, PROJ 6.3.1, PostGIS 3.4.
  • pull-requests-pg-server-side-binding (Ubuntu 20.04) runs PostgreSQL 14 with psycopg and server-side binding cursors. GIS: GDAL 3.0.4, GEOS 3.8.0, PROJ 6.3.1, PostGIS 3.4.

Other pull request builders which can be triggered manually with the corresponding comment phrases:

  • pull-requests-oracle runs on Oracle 19.3.0.0.0. The Oracle tests take about 40 minutes, so we avoid them unless we suspect a change may have broken something on Oracle.
    • buildbot, test on oracle.
  • Retired:
    • Ubuntu 12.04 runs PostgreSQL 9.1 and MySQL 5.5. GIS: spatialite 3.0.0~beta, GDAL 1.7.3, GEOS 3.2.2, PostGIS 1.5.3
    • Ubuntu 14.04 runs PostgreSQL 9.3 and MySQL 5.6. GIS: spatialite 4.1.1, GDAL 1.10.1, GEOS 3.4.2, PostGIS 2.1
    • Ubuntu 16.04 runs PostgreSQL 9.5 and MySQL 5.7. GIS: spatialite 4.3.0a-5, GDAL 1.11.3, GEOS 3.5.0, PostGIS 2.2
    • Ubuntu 18.04 runs PostgreSQL 12, MySQL 5.7 and MariaDB 10.4.25. GIS: spatialite 4.3.0a-5, GDAL 2.2.3, GEOS 3.6.2,

GitHub actions

Some other builders run on all pull requests via GitHub actions:

  • black - runs black from the root checkout directory and fails if there are any warnings.
  • flake8 - runs flake8 from the root checkout directory and fails if there are any warnings.
  • docs - runs make spelling from the docs/ directory and fails if there are any spelling or sphinx errors.
  • isort - runs isort --check --diff . from the root checkout directory and fails if any imports aren't sorted properly.
  • JavaScript tests - runs npm test and fails if there are any errors
  • Windows tests - runs with Python 3.11.x.
  • Selenium tests - runs the Selenium tests for any PR with the selenium label applied.
  • Benchmark - Runs the django-asv benchmarks for any PR with the benchmark label applied. (The Benchmarks take some time, and will run on each subsequent push, but can be disabled by removing the label until you're ready to run them again.)

Troubleshooting

Q: The build result disappeared. How do I get it back?

A: Build results are kept for a few days. Repush to your branch if you need to run the build again.

Q: The build failed with "ModuleNotFoundError: No module named 'memcache'"

A: The Python dependencies probably failed to install from PyPI. There's an issue where PyPI sometimes fails to return a correct response.

Q: Why is the disk nearly full on the Jenkins master node?

A: /var/log/jenkins/jenkins.log may be many gigabytes in size. Remove that file and restart Jenkins with service jenkins restart.

Last modified 3 months ago Last modified on Jul 15, 2024, 4:23:48 PM
Note: See TracWiki for help on using the wiki.
Back to Top