mirror of
https://github.com/actions/setup-python.git
synced 2024-12-26 01:22:17 +01:00
Add warning for empty cache paths (#642)
This commit is contained in:
parent
d1244c8404
commit
7a4f344e33
3 changed files with 23 additions and 2 deletions
|
@ -87,6 +87,7 @@ describe('run', () => {
|
||||||
describe('Validate unchanged cache is not saved', () => {
|
describe('Validate unchanged cache is not saved', () => {
|
||||||
it('should not save cache for pip', async () => {
|
it('should not save cache for pip', async () => {
|
||||||
inputs['cache'] = 'pip';
|
inputs['cache'] = 'pip';
|
||||||
|
inputs['python-version'] = '3.10.0';
|
||||||
|
|
||||||
await run();
|
await run();
|
||||||
|
|
||||||
|
@ -103,6 +104,7 @@ describe('run', () => {
|
||||||
|
|
||||||
it('should not save cache for pipenv', async () => {
|
it('should not save cache for pipenv', async () => {
|
||||||
inputs['cache'] = 'pipenv';
|
inputs['cache'] = 'pipenv';
|
||||||
|
inputs['python-version'] = '3.10.0';
|
||||||
|
|
||||||
await run();
|
await run();
|
||||||
|
|
||||||
|
@ -121,6 +123,7 @@ describe('run', () => {
|
||||||
describe('action saves the cache', () => {
|
describe('action saves the cache', () => {
|
||||||
it('saves cache from pip', async () => {
|
it('saves cache from pip', async () => {
|
||||||
inputs['cache'] = 'pip';
|
inputs['cache'] = 'pip';
|
||||||
|
inputs['python-version'] = '3.10.0';
|
||||||
getStateSpy.mockImplementation((name: string) => {
|
getStateSpy.mockImplementation((name: string) => {
|
||||||
if (name === State.CACHE_MATCHED_KEY) {
|
if (name === State.CACHE_MATCHED_KEY) {
|
||||||
return requirementsHash;
|
return requirementsHash;
|
||||||
|
@ -147,6 +150,7 @@ describe('run', () => {
|
||||||
|
|
||||||
it('saves cache from pipenv', async () => {
|
it('saves cache from pipenv', async () => {
|
||||||
inputs['cache'] = 'pipenv';
|
inputs['cache'] = 'pipenv';
|
||||||
|
inputs['python-version'] = '3.10.0';
|
||||||
getStateSpy.mockImplementation((name: string) => {
|
getStateSpy.mockImplementation((name: string) => {
|
||||||
if (name === State.CACHE_MATCHED_KEY) {
|
if (name === State.CACHE_MATCHED_KEY) {
|
||||||
return pipFileLockHash;
|
return pipFileLockHash;
|
||||||
|
@ -173,6 +177,7 @@ describe('run', () => {
|
||||||
|
|
||||||
it('saves cache from poetry', async () => {
|
it('saves cache from poetry', async () => {
|
||||||
inputs['cache'] = 'poetry';
|
inputs['cache'] = 'poetry';
|
||||||
|
inputs['python-version'] = '3.10.0';
|
||||||
getStateSpy.mockImplementation((name: string) => {
|
getStateSpy.mockImplementation((name: string) => {
|
||||||
if (name === State.CACHE_MATCHED_KEY) {
|
if (name === State.CACHE_MATCHED_KEY) {
|
||||||
return poetryLockHash;
|
return poetryLockHash;
|
||||||
|
@ -199,6 +204,7 @@ describe('run', () => {
|
||||||
|
|
||||||
it('saves with -1 cacheId , should not fail workflow', async () => {
|
it('saves with -1 cacheId , should not fail workflow', async () => {
|
||||||
inputs['cache'] = 'poetry';
|
inputs['cache'] = 'poetry';
|
||||||
|
inputs['python-version'] = '3.10.0';
|
||||||
getStateSpy.mockImplementation((name: string) => {
|
getStateSpy.mockImplementation((name: string) => {
|
||||||
if (name === State.STATE_CACHE_PRIMARY_KEY) {
|
if (name === State.STATE_CACHE_PRIMARY_KEY) {
|
||||||
return poetryLockHash;
|
return poetryLockHash;
|
||||||
|
@ -227,6 +233,7 @@ describe('run', () => {
|
||||||
|
|
||||||
it('saves with error from toolkit, should not fail the workflow', async () => {
|
it('saves with error from toolkit, should not fail the workflow', async () => {
|
||||||
inputs['cache'] = 'npm';
|
inputs['cache'] = 'npm';
|
||||||
|
inputs['python-version'] = '3.10.0';
|
||||||
getStateSpy.mockImplementation((name: string) => {
|
getStateSpy.mockImplementation((name: string) => {
|
||||||
if (name === State.STATE_CACHE_PRIMARY_KEY) {
|
if (name === State.STATE_CACHE_PRIMARY_KEY) {
|
||||||
return poetryLockHash;
|
return poetryLockHash;
|
||||||
|
|
7
dist/cache-save/index.js
vendored
7
dist/cache-save/index.js
vendored
|
@ -59628,7 +59628,12 @@ function run() {
|
||||||
exports.run = run;
|
exports.run = run;
|
||||||
function saveCache(packageManager) {
|
function saveCache(packageManager) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const cachePaths = JSON.parse(core.getState(cache_distributor_1.State.CACHE_PATHS));
|
const cachePathState = core.getState(cache_distributor_1.State.CACHE_PATHS);
|
||||||
|
if (!cachePathState) {
|
||||||
|
core.warning('Cache paths are empty. Please check the previous logs and make sure that the python version is specified');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const cachePaths = JSON.parse(cachePathState);
|
||||||
core.debug(`paths for caching are ${cachePaths.join(', ')}`);
|
core.debug(`paths for caching are ${cachePaths.join(', ')}`);
|
||||||
if (!isCacheDirectoryExists(cachePaths)) {
|
if (!isCacheDirectoryExists(cachePaths)) {
|
||||||
throw new Error(`Cache folder path is retrieved for ${packageManager} but doesn't exist on disk: ${cachePaths.join(', ')}`);
|
throw new Error(`Cache folder path is retrieved for ${packageManager} but doesn't exist on disk: ${cachePaths.join(', ')}`);
|
||||||
|
|
|
@ -17,7 +17,16 @@ export async function run() {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function saveCache(packageManager: string) {
|
async function saveCache(packageManager: string) {
|
||||||
const cachePaths = JSON.parse(core.getState(State.CACHE_PATHS)) as string[];
|
const cachePathState = core.getState(State.CACHE_PATHS);
|
||||||
|
|
||||||
|
if (!cachePathState) {
|
||||||
|
core.warning(
|
||||||
|
'Cache paths are empty. Please check the previous logs and make sure that the python version is specified'
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const cachePaths = JSON.parse(cachePathState) as string[];
|
||||||
|
|
||||||
core.debug(`paths for caching are ${cachePaths.join(', ')}`);
|
core.debug(`paths for caching are ${cachePaths.join(', ')}`);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue