mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-12 13:13:45 +01:00
Release TeX Live 2026.1 as the default image (#36382)
* feat: releasing 2026.1 texlive to general release and promoting to default image * fix: update clsi image tests so their likeness calcs work locally on different archs * feat: updating epstopdf fixture and adding note to texlive Dockerfile used for codespaces * fix: use generated image-eps-convert instead of fixture version that drifts GitOrigin-RevId: 13c4f6977dbf07ddd34c9a5ab3ea295cddcbe025
This commit is contained in:
committed by
Copybot
parent
6053781e57
commit
009668c224
@@ -28,7 +28,7 @@ The CLSI can be configured through the following environment variables:
|
||||
- `LISTEN_ADDRESS` - The address for the RESTful service to listen on. Set to `0.0.0.0` to listen on all network interfaces
|
||||
- `PROCESS_LIFE_SPAN_LIMIT_MS` - Process life span limit in milliseconds
|
||||
- `SMOKE_TEST` - Whether to run smoke tests
|
||||
- `TEXLIVE_IMAGE` - The TeX Live Docker image to use for sibling containers, e.g. `us-east1-docker.pkg.dev/overleaf-ops/ol-docker/texlive-full:2025.1`
|
||||
- `TEXLIVE_IMAGE` - The TeX Live Docker image to use for sibling containers, e.g. `us-east1-docker.pkg.dev/overleaf-ops/ol-docker/texlive-full:2026.1`
|
||||
- `TEX_LIVE_IMAGE_NAME_OVERRIDE` - The name of the registry for the Docker image e.g. `us-east1-docker.pkg.dev/overleaf-ops/ol-docker`
|
||||
- `TEXLIVE_IMAGE_USER` - When using sibling containers, the user to run as in the TeX Live image. Defaults to `tex`
|
||||
- `TEXLIVE_OPENOUT_ANY` - Sets the `openout_any` environment variable for TeX Live (see the `\openout` primitive [documentation](http://tug.org/texinfohtml/web2c.html#tex-invocation))
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -41,6 +41,13 @@ const convertToPng = function (pdfPath, pngPath) {
|
||||
})
|
||||
}
|
||||
|
||||
// ImageMagick reports the mean absolute error as "<absolute> (<normalised>)".
|
||||
// Identical images do not always yield an exact zero: aarch64 builds leave
|
||||
// floating point residue behind, so comparing an image against a byte-identical
|
||||
// copy of itself measures around 2e-20. A single differing pixel measures around
|
||||
// 7e-07, so anything below this threshold is the same image.
|
||||
const MAX_NORMALISED_MAE = 1e-12
|
||||
|
||||
const compare = function (originalPath, generatedPath) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const diffFile = `${fixturePath(generatedPath)}-diff.png`
|
||||
@@ -52,7 +59,12 @@ const compare = function (originalPath, generatedPath) {
|
||||
let stderr = ''
|
||||
proc.stderr.on('data', chunk => (stderr += chunk))
|
||||
proc.on('exit', () => {
|
||||
if (stderr.trim() === '0 (0)') {
|
||||
// take the parenthesised value: "1.55242e-15 (2.36884e-20)" -> "2.36884e-20".
|
||||
// a failed comparison (mismatched dimensions, missing file) does not match
|
||||
// the metric format, leaving NaN, which fails the threshold check below
|
||||
const match = stderr.trim().match(/\((?<normalised>[^)]+)\)$/)
|
||||
const normalisedMae = match ? parseFloat(match.groups.normalised) : NaN
|
||||
if (normalisedMae <= MAX_NORMALISED_MAE) {
|
||||
// remove output diff if test matches expected image
|
||||
fs.unlink(diffFile, err => {
|
||||
if (err) {
|
||||
|
||||
Reference in New Issue
Block a user