From 3a3facb60cd9a0fb8907dad3c5b2c03f0b50e680 Mon Sep 17 00:00:00 2001 From: Ben Perry Date: Mon, 30 Sep 2024 18:03:45 -0500 Subject: [PATCH 1/5] Include bin hash in cache key --- src/cache.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/cache.ts b/src/cache.ts index 0b773b7..d9d2f79 100644 --- a/src/cache.ts +++ b/src/cache.ts @@ -40,7 +40,11 @@ const generateEnvironmentKey = (options: Options, prefix: string) => { const envName = options.environmentName ? `-${options.environmentName}` : '' const createArgs = options.createArgs ? `-args-${sha256Short(JSON.stringify(options.createArgs))}` : '' const rootPrefix = `-root-${sha256Short(options.micromambaRootPath)}` - const key = `${prefix}${arch}${envName}${createArgs}${rootPrefix}` + const binHash = fs.readBinaryFile(options.micromambaBinPath).then((content) => { + return sha256(content) + }) + + const key = `${prefix}${arch}${envName}${createArgs}${rootPrefix}-bin-${binHash}` if (options.environmentFile) { return fs.readFile(options.environmentFile, 'utf-8').then((content) => { From 7e8b873b1f255c83e31de883deade31b15919ef5 Mon Sep 17 00:00:00 2001 From: Ben Perry Date: Tue, 1 Oct 2024 09:41:13 -0500 Subject: [PATCH 2/5] Update src/cache.ts Co-authored-by: Pavel Zwerschke --- src/cache.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/cache.ts b/src/cache.ts index d9d2f79..a433fd1 100644 --- a/src/cache.ts +++ b/src/cache.ts @@ -40,9 +40,7 @@ const generateEnvironmentKey = (options: Options, prefix: string) => { const envName = options.environmentName ? `-${options.environmentName}` : '' const createArgs = options.createArgs ? `-args-${sha256Short(JSON.stringify(options.createArgs))}` : '' const rootPrefix = `-root-${sha256Short(options.micromambaRootPath)}` - const binHash = fs.readBinaryFile(options.micromambaBinPath).then((content) => { - return sha256(content) - }) + const binHash = fs.readBinaryFile(options.micromambaBinPath).then(sha256) const key = `${prefix}${arch}${envName}${createArgs}${rootPrefix}-bin-${binHash}` From cc644411851402803e8b2f2a7fbfb9bc5be2847d Mon Sep 17 00:00:00 2001 From: Ben Perry Date: Tue, 1 Oct 2024 09:51:18 -0500 Subject: [PATCH 3/5] Compile dist and bump version --- dist/main.js | 3 ++- package.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dist/main.js b/dist/main.js index 84c41fb..8e6bde9 100644 --- a/dist/main.js +++ b/dist/main.js @@ -82934,7 +82934,8 @@ var generateEnvironmentKey = (options, prefix2) => { const envName = options.environmentName ? `-${options.environmentName}` : ""; const createArgs = options.createArgs ? `-args-${sha256Short(JSON.stringify(options.createArgs))}` : ""; const rootPrefix = `-root-${sha256Short(options.micromambaRootPath)}`; - const key = `${prefix2}${arch3}${envName}${createArgs}${rootPrefix}`; + const binHash = fs5.readBinaryFile(options.micromambaBinPath).then(sha256); + const key = `${prefix2}${arch3}${envName}${createArgs}${rootPrefix}-bin-${binHash}`; if (options.environmentFile) { return fs5.readFile(options.environmentFile, "utf-8").then((content) => { const keyWithFileSha = `${key}-file-${sha256(content)}`; diff --git a/package.json b/package.json index 8c6591e..43bc74f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "setup-micromamba", - "version": "1.9.0", + "version": "1.10.0", "private": true, "description": "Action to setup micromamba", "scripts": { From 1e5044a5af720ca4bc658173f614db20acd30ab7 Mon Sep 17 00:00:00 2001 From: Ben Perry Date: Tue, 1 Oct 2024 10:08:00 -0500 Subject: [PATCH 4/5] use readFile --- dist/main.js | 2 +- src/cache.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/main.js b/dist/main.js index 8e6bde9..7ba6b20 100644 --- a/dist/main.js +++ b/dist/main.js @@ -82934,7 +82934,7 @@ var generateEnvironmentKey = (options, prefix2) => { const envName = options.environmentName ? `-${options.environmentName}` : ""; const createArgs = options.createArgs ? `-args-${sha256Short(JSON.stringify(options.createArgs))}` : ""; const rootPrefix = `-root-${sha256Short(options.micromambaRootPath)}`; - const binHash = fs5.readBinaryFile(options.micromambaBinPath).then(sha256); + const binHash = fs5.readFile(options.micromambaBinPath).then(sha256); const key = `${prefix2}${arch3}${envName}${createArgs}${rootPrefix}-bin-${binHash}`; if (options.environmentFile) { return fs5.readFile(options.environmentFile, "utf-8").then((content) => { diff --git a/src/cache.ts b/src/cache.ts index a433fd1..c4da7cf 100644 --- a/src/cache.ts +++ b/src/cache.ts @@ -40,7 +40,7 @@ const generateEnvironmentKey = (options: Options, prefix: string) => { const envName = options.environmentName ? `-${options.environmentName}` : '' const createArgs = options.createArgs ? `-args-${sha256Short(JSON.stringify(options.createArgs))}` : '' const rootPrefix = `-root-${sha256Short(options.micromambaRootPath)}` - const binHash = fs.readBinaryFile(options.micromambaBinPath).then(sha256) + const binHash = fs.readFile(options.micromambaBinPath).then(sha256) const key = `${prefix}${arch}${envName}${createArgs}${rootPrefix}-bin-${binHash}` From 0e536a4a284fb8a99aa2bf7fe3dde519d2516c83 Mon Sep 17 00:00:00 2001 From: Pavel Zwerschke Date: Wed, 2 Oct 2024 09:32:50 +0200 Subject: [PATCH 5/5] fix tests --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d4ccd8f..e5da03f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -39,7 +39,7 @@ jobs: - uses: actions/checkout@v4 - uses: ./ - run: | - micromamba info | grep -q "environment : None (not found)" + micromamba info | grep -q "environment : base" shell: bash -el {0} micromamba-old-version-1: @@ -170,7 +170,7 @@ jobs: condarc-file: 'test/.condarc' - run: | # this should only work when the pytorch channel is loaded, i.e., the custom condarc is used micromamba search pytorch=2.0.0 - micromamba search pytorch=2.0.0 | grep -q "pytorch 2.0.0 py3.10_cpu_0" + micromamba search pytorch=2.0.0 | grep -q "pytorch 2.0.0 py3.10_cpu_0" shell: bash -el {0} conda-lock: