Proposal: Leverage Oracle Test Pilot for Django CI

Hello,

I work at Oracle and I’m leading the Oracle Test Pilot for Third-Party Software program.

During the last 3 years, we’ve been building Oracle Test Pilot to provide access to the latest versions of the Oracle databases to OSS projects hosted on GitHub, for free.

Now that we are approaching GA, I’ve worked on the integration of one of Django GitHub Actions workflow and successfully make it work against one of the database we provide (Oracle AI Database 26ai, latest RU from April 2026: 23.26.2). Other versions are also available, these are typically the ones our customers are using in production: 19c, 21c (very low number of customers), 26ai, Autonomous 19c, and Autonomous 26ai. And of course, we do maintain these databases.

We’d love helping Django ensure better compatibility with the Oracle database along providing helpful feedback when needed (I do work within the dev organization as a database product manager).

For more information, let’s continue the discussion here or where you suggest (Ideas dashboard?), and feel free to check the official website: https://testpilot.oracle.com/

Thanks,
Loïc

2 Likes

Very cool, thank you Loïc.

1 Like

Hi @loiclefevre, this was brought up in our Steering Council + Fellows meeting today. We’re hopeful we can use this to clean up our Jenkins test suite around the Oracle integration. It was pointed out that the Jenkins test runner for that piece doesn’t use any parallelization while our GitHub Actions set up is able to. Not that it matters to you, just that there are other benefits to this work too!

Is this something you’re wanting to create a PR to Django for? I’ve created the ticket 37136 for this.

As a heads up, we have a tool that auto-closes things on GitHub for new contributors if the process isn’t followed. If that happens, please tag me on the PR (tim-schilling on github) and I can help resolve issues.

Hi @CodenameTim, I can definitely create a PR of course! Thanks for the ticket, I can refer to it now.

And thanks for your support as well.

One question about parallelization, could you please provide me more information related to “while our GitHub Actions set up is able to”?

I’ve indeed taken a look at this but as far as I can see, Oracle is not able to clone and thus --parallel auto equals --parallel 1.

For what it’s worth, we’ve been able to enable parallel testing for Hibernate ORM with very good results so I’m sure this can also be done with Oracle for Django :slight_smile:

Thanks

1 Like

The Django test runner, runtests.py will spin up N processes by inspecting the machine it’s running on. I suspect this is disabled by default on the Jenkins set up [for the Oracle tests]. I’m not the most knowledgeable person in that part of the CI setup. If you have a more specific question on that, I can grab someone with more knowledge than me.

Yes please, I’m really looking to make this parallel testing work.My specific question is:

  • what is done at the database level to make it work in parallel?

From what I’ve seen in other databases, it would relate to a feature (can_clone_databases) but I’d like to understand what happens then say for MySQL or PostgreSQL? Do we create a new database (a clone), or duplicate the users, schemas, etc.? Once I understand, I can try to make this approach work on Test Pilot.