OMG! 30 minutes?!
So, it is already "parallelized" because it was... 12 hours?! Integration tests are really costly. I guess that you have already parallelized everything that you can without spending too much money on it.
My first stupid question is: have you tried to replace some integrated tests by unit tests? (Unit tests according the Agile Alliance, testing units of behaviors not of code). I often have seen that not every test requires being e2e to be reliable. For example, an input text that only accepts numbers in some format does not need an e2e test. Also, you can use the humble pattern.
Yet, I imagine that that is not feasible.
The other technique is to decide which tests run in the CI, and which ones in the deployment/release CI (or nightly). I have discovered that it is not always necessary to run all the steps every time on the CI. I have discovered that the tests from QA teams are often not necessary to run on each PR. Developers' TDD code should be good and light enough. Some of these jobs can be "Optional", so they can run anyway, and later check if something was broken –or just use a Slack bot for that–.
The idea is to take solutions that do not prevent developers sharing up-to-date code.