… and then repeat that 3 more times to get each combination of Python & Django.
This requires 6 LOC * # of Python versions * # of Django versions. That’s more verbose than I’d like, given the lists of Python and Django versions will change. Is there a better way?
Best I can tell from my research, GitLab CI doesn’t support this feature, which I would call “job factors” or “environment factors”. Your best bet is probably to use something like tox, which implements generating environments with multiple factors.