Unfortunately I have realised that the way I thought I was testing the TCK was not overriding the version of Jakarta Transactions in Glassfish (I was still using a -Djavax.transaction-api.version-... rather than a -Djakarta.transaction-api.version=...). I have found that having changed that the testing to use Glassfish with Jakarta Transaction from `master` no longer work. 
start.appserver.unix:
     [exec] Waiting for domain1 to start ..Command start-domain failed.
     [exec] Error starting domain domain1.
     [exec] The server exited prematurely with exit code 1.
     [exec] Before it died, it produced the following output:
     [exec] 
     [exec] Launching GlassFish on Felix platform
     [exec] Registered com.sun.enterprise.glassfish.bootstrap.osgi.EmbeddedOSGiGlassFishRuntime@6d06edc4 in service registry.
     [exec] Completed shutdown of GlassFish runtime
     [exec] We are in non-embedded mode, so org.glassfish.main.core.glassfish [105] has nothing to do.
     [exec] Feb 03, 2022 2:37:12 PM com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner createBundleProvisioner
     [exec] INFO: Create bundle provisioner class = class com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner.
     [exec] Exception in thread "main" java.lang.reflect.InvocationTargetException
     [exec] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [exec] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     [exec] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [exec] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
     [exec] 	at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:73)
     [exec] 	at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:30)
     [exec] Caused by: org.jvnet.hk2.config.ConfigPopulatorException: Failed to parse domain.xml
     [exec] 	at org.glassfish.config.support.DomainXml.throwParseError(DomainXml.java:166)
     [exec] 	at org.glassfish.config.support.DomainXml.run(DomainXml.java:114)
     [exec] 	at org.jvnet.hk2.config.ConfigurationPopulator.populateConfig(ConfigurationPopulator.java:34)
     [exec] 	at org.glassfish.hk2.bootstrap.HK2Populator.populateConfig(HK2Populator.java:83)
     [exec] 	at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.populateConfig(AbstractModulesRegistryImpl.java:190)
     [exec] 	at com.sun.enterprise.module.bootstrap.Main.createServiceLocator(Main.java:249)
     [exec] 	at org.jvnet.hk2.osgiadapter.HK2Main.createServiceLocator(HK2Main.java:96)
     [exec] 	at com.sun.enterprise.glassfish.bootstrap.osgi.EmbeddedOSGiGlassFishRuntime.newGlassFish(EmbeddedOSGiGlassFishRuntime.java:88)
     [exec] 	at com.sun.enterprise.glassfish.bootstrap.GlassFishRuntimeDecorator.newGlassFish(GlassFishRuntimeDecorator.java:43)
     [exec] 	at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishRuntime.newGlassFish(OSGiGlassFishRuntime.java:66)
     [exec] 	at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:89)
     [exec] 	... 6 more
     [exec] Caused by: org.glassfish.config.support.DomainXml$NoBackupException: No usable configuration file at /home/jenkins/agent/workspace/eclipse-ee4j_jta-api-openjdk-jdk11-latest/glassfish7/glassfish/domains/domain1/config
     [exec] 	at org.glassfish.config.support.DomainXml.getAlternativeDomainXml(DomainXml.java:228)
     [exec] 	at org.glassfish.config.support.DomainXml.run(DomainXml.java:110)
     [exec] 	... 15 more
     [exec] 	Suppressed: A MultiException has 2 exceptions.  They are:
     [exec] 1. com.sun.enterprise.module.ResolveError: Failed to start OSGiModuleImpl:: Bundle = [org.glassfish.main.resources.mail-connector [207]], State = [NEW]
     [exec] 2. java.lang.IllegalStateException: Could not load descriptor SystemDescriptor(
     [exec] 	implementation=org.glassfish.resources.mail.config.MailResourceInjector
     [exec] 	name=mail-resource
     [exec] 	contracts={org.glassfish.resources.mail.config.MailResourceInjector,org.jvnet.hk2.config.ConfigInjector}
     [exec] 	scope=jakarta.inject.Singleton
     [exec] 	qualifiers={org.jvnet.hk2.config.InjectionTarget}
     [exec] 	descriptorType=CLASS
     [exec] 	descriptorVisibility=NORMAL
     [exec] 	metadata=@object-type={optional,default\:user,datatype\:java.lang.String,leaf},@store-protocol={optional,default\:imap,datatype\:java.lang.String,leaf},@description={optional,datatype\:java.lang.String,leaf},@deployment-order={optional,default\:100,datatype\:java.lang.Integer,leaf},<property>={collection\:org.jvnet.hk2.config.types.Property,collection\:org.jvnet.hk2.config.types.Property},keyed-as={com.sun.enterprise.config.serverbeans.BindableResource},@transport-protocol={optional,default\:smtp,datatype\:java.lang.String,leaf},target={org.glassfish.resources.mail.config.MailResource},@jndi-name={optional,datatype\:java.lang.String,leaf},@debug={optional,default\:false,datatype\:java.lang.Boolean,leaf},@user={optional,datatype\:java.lang.String,leaf},@enabled={optional,default\:true,datatype\:java.lang.Boolean,leaf,optional,default\:true,datatype\:java.lang.Boolean,leaf},@store-protocol-class={optional,default\:com.sun.mail.imap.IMAPStore,datatype\:java.lang.String,leaf},@transport-protocol-class={optional,default\:com.sun.mail.smtp.SMTPTransport,datatype\:java.lang.String,leaf},@host={optional,datatype\:java.lang.String,leaf},key={@jndi-name},@from={optional,datatype\:java.lang.String,leaf},Bundle-SymbolicName={org.glassfish.main.resources.mail-connector},Bundle-Version={7.0.0.SNAPSHOT}
     [exec] 	rank=0
     [exec] 	loader=OsgiPopulatorPostProcessor.HK2Loader(OSGiModuleImpl:: Bundle = [org.glassfish.main.resources.mail-connector [207]], State = [NEW],1997623038)
     [exec] 	proxiable=null
     [exec] 	proxyForSameScope=null
     [exec] 	analysisName=null
     [exec] 	id=24
     [exec] 	locatorId=0
     [exec] 	identityHashCode=2041036732
     [exec] 	reified=false)
     [exec] 
     [exec] 		at org.jvnet.hk2.internal.ServiceLocatorImpl.loadClass(ServiceLocatorImpl.java:2262)
     [exec] 		at org.jvnet.hk2.internal.ServiceLocatorImpl.reifyDescriptor(ServiceLocatorImpl.java:433)
     [exec] 		at org.jvnet.hk2.internal.ServiceLocatorImpl.reifyDescriptor(ServiceLocatorImpl.java:452)
     [exec] 		at org.jvnet.hk2.config.DomDocument$InjectionTargetFilter.matches(DomDocument.java:160)
     [exec] 		at org.jvnet.hk2.internal.ServiceLocatorImpl.getDescriptors(ServiceLocatorImpl.java:342)
     [exec] 		at org.jvnet.hk2.internal.ServiceLocatorImpl.getDescriptors(ServiceLocatorImpl.java:384)
     [exec] 		at org.jvnet.hk2.internal.ServiceLocatorImpl.getBestDescriptor(ServiceLocatorImpl.java:392)
     [exec] 		at org.jvnet.hk2.config.DomDocument.buildModel(DomDocument.java:111)
     [exec] 		at org.jvnet.hk2.config.ConfigModel.parseValue(ConfigModel.java:937)
     [exec] 		at org.jvnet.hk2.config.ConfigModel.<init>(ConfigModel.java:852)
     [exec] 		at org.jvnet.hk2.config.DomDocument.buildModel(DomDocument.java:90)
     [exec] 		at org.jvnet.hk2.config.DomDocument.getModelByElementName(DomDocument.java:138)
     [exec] 		at org.jvnet.hk2.config.ConfigParser.handleElement(ConfigParser.java:141)
     [exec] 		at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:77)
     [exec] 		at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:71)
     [exec] 		at org.glassfish.config.support.DomainXml.parseDomainXml(DomainXml.java:284)
     [exec] 		at org.glassfish.config.support.DomainXml.run(DomainXml.java:99)
     [exec] 		... 15 more
     [exec] 	Caused by: com.sun.enterprise.module.ResolveError: Failed to start OSGiModuleImpl:: Bundle = [org.glassfish.main.resources.mail-connector [207]], State = [NEW]
     [exec] 		at org.jvnet.hk2.osgiadapter.OSGiModuleImpl.start(OSGiModuleImpl.java:193)
     [exec] 		at org.jvnet.hk2.osgiadapter.OsgiPopulatorPostProcessor$1.loadClass(OsgiPopulatorPostProcessor.java:54)
     [exec] 		at org.jvnet.hk2.internal.ServiceLocatorImpl.loadClass(ServiceLocatorImpl.java:2254)
     [exec] 		... 31 more
     [exec] 	Caused by: org.osgi.framework.BundleException: Unable to resolve org.glassfish.main.resources.mail-connector [207](R 207.0): missing requirement [org.glassfish.main.resources.mail-connector [207](R 207.0)] osgi.wiring.package; (&(osgi.wiring.package=jakarta.resource)(version>=2.0.0)(!(version>=3.0.0))) [caused by: Unable to resolve jakarta.resource-api [148](R 148.0): missing requirement [jakarta.resource-api [148](R 148.0)] osgi.wiring.package; (&(osgi.wiring.package=jakarta.transaction)(version>=2.0.0)(!(version>=3.0.0)))] Unresolved requirements: [[org.glassfish.main.resources.mail-connector [207](R 207.0)] osgi.wiring.package; (&(osgi.wiring.package=jakarta.resource)(version>=2.0.0)(!(version>=3.0.0)))]
     [exec] 		at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4398)
     [exec] 		at org.apache.felix.framework.Felix.startBundle(Felix.java:2308)
     [exec] 		at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:1006)
     [exec] 		at org.jvnet.hk2.osgiadapter.OSGiModuleImpl.startBundle(OSGiModuleImpl.java:224)
     [exec] 		at org.jvnet.hk2.osgiadapter.OSGiModuleImpl.start(OSGiModuleImpl.java:185)
     [exec] 		... 33 more
     [exec] 
     [exec] Result: 1
     [echo]  The App Server is now available.
     [echo] ts.home = /home/jenkins/agent/workspace/eclipse-ee4j_jta-api-openjdk-jdk11-latest/transactions-tck/bin/xml/../..
     [echo] In a bundle
     [echo] The deliverable currently in use is /home/jenkins/agent/workspace/eclipse-ee4j_jta-api-openjdk-jdk11-latest/transactions-tck/bin/xml/../../bin.