Adding 2025 and 2026 incremental compiles options (#35850)

* feat: adding 2025 and 2026 incremental compiles options

* feat: remove dmtcp from compiler list and autoselect checkpointing version with labs inclusion

* feat: updating seccomp profile for checkpointing

* feat: disable non-premium dmtcp compiles, and align checkpoint version detection between clsi and web

* feat: adding in reminder of checkpoint experiment, and using session based split test retrieval

* Increase Packer build.sh timeout from 1h15m to 1h30m as build takes approx 1h

* fix: moving checkpointing check from tag name based to hasCheckpointing flag set as part of allowed_images, and removing uneeded seccomp rule

* feat: move variant/ image selection to CLSI, and have web control only what options to set for a compile. removing uneeded extra variants from webs list of allowed images

* feat: adding compile timer as a query string as well

---------

Co-authored-by: Tim Gibbon <tim.gibbon@overleaf.com>
GitOrigin-RevId: cdbdf76a62dcd5a585925f18d64b6cb9cd6ed373
This commit is contained in:
Jimmy Domagala-Tang
2026-09-17 12:00:46 +00:00
committed by Copybot
co-authored by Tim Gibbon
parent 35271cb33c
commit baa9cf78d9
12 changed files with 389 additions and 27 deletions
@@ -194,6 +194,39 @@ describe('RequestParser', () => {
})
})
describe('with enableCheckpoint set', () => {
beforeEach(async ctx => {
await new Promise((resolve, reject) => {
ctx.validRequest.compile.options.enableCheckpoint = true
ctx.RequestParser.parse(ctx.validRequest, (error, data) => {
if (error) return reject(error)
ctx.data = data
resolve()
})
})
})
it('should set the enableCheckpoint attribute', ctx => {
expect(ctx.data.enableCheckpoint).to.equal(true)
})
})
describe('with enableCheckpoint not specified', () => {
beforeEach(async ctx => {
await new Promise((resolve, reject) => {
ctx.RequestParser.parse(ctx.validRequest, (error, data) => {
if (error) return reject(error)
ctx.data = data
resolve()
})
})
})
it('should default the enableCheckpoint attribute to false', ctx => {
expect(ctx.data.enableCheckpoint).to.equal(false)
})
})
describe('without a timeout specified', () => {
beforeEach(async ctx => {
await new Promise((resolve, reject) => {