pinokiod 7.5.31 → 7.5.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  const semver = require('semver')
2
2
 
3
- const CONDA_PIN_VERSION = "26.3.2"
3
+ const CONDA_PIN_VERSION = "26.5.2"
4
4
  const PYTHON_PIN_VERSION = "3.10.20"
5
5
  const PYTHON_INSTALL_SPEC = `python=${PYTHON_PIN_VERSION}`
6
6
  const WINDOWS_PYTHON_SSL_FIX_SPEC = `${PYTHON_INSTALL_SPEC}=*_1_cpython`
@@ -205,7 +205,8 @@ report_errors: false`)
205
205
  conda_versions[name] = version
206
206
  conda_builds[name] = build
207
207
  if (name === "conda") {
208
- conda_check.conda = true
208
+ const coerced = semver.coerce(version)
209
+ conda_check.conda = coerced && semver.eq(coerced, CONDA_PIN_VERSION)
209
210
  }
210
211
  // check conda-libmamba-solver is up to date
211
212
  // sometimes it just fails silently so need to check
@@ -308,6 +309,7 @@ report_errors: false`)
308
309
 
309
310
  let condaPackages = [
310
311
  this.kernel.platform === "win32" ? `"${WINDOWS_PYTHON_SSL_FIX_SPEC}"` : `"${PYTHON_INSTALL_SPEC}"`,
312
+ `"conda=${CONDA_PIN_VERSION}"`,
311
313
  `"conda-libmamba-solver>=25.4.0"`,
312
314
  ]
313
315
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pinokiod",
3
- "version": "7.5.31",
3
+ "version": "7.5.32",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -7,6 +7,7 @@ const test = require('node:test')
7
7
 
8
8
  const Conda = require('../kernel/bin/conda')
9
9
  const {
10
+ CONDA_PIN_VERSION,
10
11
  PYTHON_INSTALL_SPEC,
11
12
  WINDOWS_PYTHON_SSL_FIX_SPEC,
12
13
  isExpectedPythonPinned,
@@ -42,7 +43,7 @@ async function writeCondaMeta(root, name, version, build = 'py_0') {
42
43
  }
43
44
 
44
45
  async function writeHealthyCondaMeta(root, platform = 'win32') {
45
- await writeCondaMeta(root, 'conda', '26.3.2', 'py310')
46
+ await writeCondaMeta(root, 'conda', CONDA_PIN_VERSION, 'py310')
46
47
  await writeCondaMeta(root, 'conda-libmamba-solver', '25.4.0', 'pyhd3eb1b0_0')
47
48
  await writeCondaMeta(root, 'python', '3.10.20', platform === 'win32' ? 'h4de0772_1_cpython' : 'cpython')
48
49
  }
@@ -204,6 +205,7 @@ test('Conda init patches Windows OpenSSL hooks for legacy Miniconda roots', asyn
204
205
  })
205
206
 
206
207
  test('Conda pins Python 3.10.20 consistently across platforms', async () => {
208
+ assert.equal(CONDA_PIN_VERSION, '26.5.2')
207
209
  assert.equal(PYTHON_INSTALL_SPEC, 'python=3.10.20')
208
210
  assert.equal(WINDOWS_PYTHON_SSL_FIX_SPEC, 'python=3.10.20=*_1_cpython')
209
211
 
@@ -237,7 +239,7 @@ test('Conda install requests the Python 3.10.20 pin on macOS/Linux', async () =>
237
239
  assert.ok(condaInstall)
238
240
  assert.equal(
239
241
  condaInstall.message[1],
240
- 'conda install -y --override-channels -c conda-forge "python=3.10.20" "conda-libmamba-solver>=25.4.0"'
242
+ 'conda install -y --override-channels -c conda-forge "python=3.10.20" "conda=26.5.2" "conda-libmamba-solver>=25.4.0"'
241
243
  )
242
244
  })
243
245
 
@@ -265,7 +267,7 @@ test('Conda install keeps the Windows Python 3.10.20 SSL-fixed build pin', async
265
267
  assert.ok(condaInstall)
266
268
  assert.equal(
267
269
  condaInstall.message[1],
268
- 'conda install -y --override-channels -c conda-forge "python=3.10.20=*_1_cpython" "conda-libmamba-solver>=25.4.0"'
270
+ 'conda install -y --override-channels -c conda-forge "python=3.10.20=*_1_cpython" "conda=26.5.2" "conda-libmamba-solver>=25.4.0"'
269
271
  )
270
272
  })
271
273
 
@@ -339,6 +341,16 @@ test('Conda check accepts a runnable managed Windows conda executable', async ()
339
341
  assert.equal(await createConda(createKernel(root, 'win32')).check(), true)
340
342
  })
341
343
 
344
+ test('Conda check rejects runnable installs with the wrong Conda version', async () => {
345
+ const root = await fs.mkdtemp(path.join(os.tmpdir(), 'pinokio-conda-smoke-wrong-version-'))
346
+ await writeCondaMeta(root, 'conda', '26.3.2', 'py310')
347
+ await writeCondaMeta(root, 'conda-libmamba-solver', '25.4.0', 'pyhd3eb1b0_0')
348
+ await writeCondaMeta(root, 'python', '3.10.20', 'h4de0772_1_cpython')
349
+ await writeFakeManagedConda(root, 'win32')
350
+
351
+ assert.equal(await createConda(createKernel(root, 'win32')).check(), false)
352
+ })
353
+
342
354
  test('Conda install keeps the old runtime when the replacement installer download fails', async () => {
343
355
  const root = await fs.mkdtemp(path.join(os.tmpdir(), 'pinokio-conda-download-fails-'))
344
356
  const miniconda = await createLegacyMiniconda(root)