rzo1 commented on PR #283:
URL: https://github.com/apache/openjpa/pull/283#issuecomment-6709731478

   @solomax ORA-12516 is the process limit: the test suite opens more 
connections than the image allows by default (`processes=200`). That is not 
specific to oracle-free; the old `init.sql` for XE never actually ran. That's 
why #281 added `src/test/sql/oracle-docker/01-processes.sh` (processes=1000, 
sessions=1600, restart), which the profile mounts into 
`/container-entrypoint-initdb.d`.
   
   A GitHub `services:` container starts before the checkout, so it can't mount 
the script. Two options:
   
   1. Keep the service and run the script after the checkout:
   ```yaml
         - name: 'Raise Oracle processes and sessions'
           run: docker exec -i ${{ job.services.oracle.id }} bash < 
src/test/sql/oracle-docker/01-processes.sh
   ```
   2. Drop the service and let the profile start the container, as locally:
   ```yaml
         - run: mvn -N -B -Ptest-oracle-docker docker:start
         - run: mvn -Ptest-oracle-docker -B clean install --file pom.xml
         - if: always()
           run: mvn -N -B -Ptest-oracle-docker docker:stop
   ```
   
   Why oracle-free instead of oracle-xe: gvenzl/oracle-xe is amd64 only, while 
oracle-free also runs natively on arm64 (Apple Silicon), and Oracle has 
replaced XE with Database Free (23). The TCK and unit test runs for the Oracle 
PRs were done on Free 23. `23-slim` follows the latest 23 release; we can pin a 
concrete tag if we want reproducible CI. XE should work too with the same init 
script, since gvenzl/oracle-xe runs `/container-entrypoint-initdb.d` as well.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to