Fix poetry version (#445)
This commit is contained in:
		
							parent
							
								
									592a7a7a45
								
							
						
					
					
						commit
						49a521fa06
					
				
							
								
								
									
										6
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							| @ -72,15 +72,15 @@ jobs: | |||||||
|       - uses: actions/checkout@v3 |       - uses: actions/checkout@v3 | ||||||
|       - name: Install poetry |       - name: Install poetry | ||||||
|         run: pipx install poetry |         run: pipx install poetry | ||||||
|  |       - name: Init pyproject.toml | ||||||
|  |         run: mv ./__tests__/data/pyproject.toml . | ||||||
|       - name: Setup Python |       - name: Setup Python | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           python-version: ${{ matrix.python-version }} |           python-version: ${{ matrix.python-version }} | ||||||
|           cache: 'poetry' |           cache: 'poetry' | ||||||
|       - name: Init pyproject.toml |  | ||||||
|         run: poetry init -n |  | ||||||
|       - name: Install dependencies |       - name: Install dependencies | ||||||
|         run: poetry add flake8 |         run: poetry install | ||||||
| 
 | 
 | ||||||
|   python-pip-dependencies-caching-path: |   python-pip-dependencies-caching-path: | ||||||
|     name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}) |     name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}) | ||||||
|  | |||||||
| @ -1,6 +1,7 @@ | |||||||
| import * as core from '@actions/core'; | import * as core from '@actions/core'; | ||||||
| import * as cache from '@actions/cache'; | import * as cache from '@actions/cache'; | ||||||
| import * as exec from '@actions/exec'; | import * as exec from '@actions/exec'; | ||||||
|  | import * as io from '@actions/io'; | ||||||
| import {getCacheDistributor} from '../src/cache-distributions/cache-factory'; | import {getCacheDistributor} from '../src/cache-distributions/cache-factory'; | ||||||
| import * as utils from './../src/utils'; | import * as utils from './../src/utils'; | ||||||
| 
 | 
 | ||||||
| @ -37,6 +38,9 @@ virtualenvs.path = "{cache-dir}/virtualenvs"  # /Users/patrick/Library/Caches/py | |||||||
|   // exec spy
 |   // exec spy
 | ||||||
|   let getExecOutputSpy: jest.SpyInstance; |   let getExecOutputSpy: jest.SpyInstance; | ||||||
| 
 | 
 | ||||||
|  |   // io spy
 | ||||||
|  |   let whichSpy: jest.SpyInstance; | ||||||
|  | 
 | ||||||
|   beforeEach(() => { |   beforeEach(() => { | ||||||
|     process.env['RUNNER_OS'] = process.env['RUNNER_OS'] ?? 'linux'; |     process.env['RUNNER_OS'] = process.env['RUNNER_OS'] ?? 'linux'; | ||||||
| 
 | 
 | ||||||
| @ -77,6 +81,8 @@ virtualenvs.path = "{cache-dir}/virtualenvs"  # /Users/patrick/Library/Caches/py | |||||||
|       } |       } | ||||||
|     ); |     ); | ||||||
| 
 | 
 | ||||||
|  |     whichSpy = jest.spyOn(io, 'which'); | ||||||
|  |     whichSpy.mockImplementation(() => '/path/to/python'); | ||||||
|     getLinuxOSReleaseInfoSpy = jest.spyOn(utils, 'getLinuxOSReleaseInfo'); |     getLinuxOSReleaseInfoSpy = jest.spyOn(utils, 'getLinuxOSReleaseInfo'); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										15
									
								
								__tests__/data/pyproject.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								__tests__/data/pyproject.toml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | |||||||
|  | [tool.poetry] | ||||||
|  | name = "testactiontasks" | ||||||
|  | version = "0.1.0" | ||||||
|  | description = "" | ||||||
|  | authors = ["Your Name <you@example.com>"] | ||||||
|  | 
 | ||||||
|  | [tool.poetry.dependencies] | ||||||
|  | python = "^3.8" | ||||||
|  | flake8 = "^4.0.1" | ||||||
|  | 
 | ||||||
|  | [tool.poetry.dev-dependencies] | ||||||
|  | 
 | ||||||
|  | [build-system] | ||||||
|  | requires = ["poetry-core>=1.0.0"] | ||||||
|  | build-backend = "poetry.core.masonry.api" | ||||||
							
								
								
									
										31
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										31
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							| @ -64573,9 +64573,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) { | |||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", ({ value: true })); | Object.defineProperty(exports, "__esModule", ({ value: true })); | ||||||
| const glob = __importStar(__nccwpck_require__(8090)); | const glob = __importStar(__nccwpck_require__(8090)); | ||||||
|  | const io = __importStar(__nccwpck_require__(7436)); | ||||||
| const path = __importStar(__nccwpck_require__(1017)); | const path = __importStar(__nccwpck_require__(1017)); | ||||||
| const exec = __importStar(__nccwpck_require__(1514)); | const exec = __importStar(__nccwpck_require__(1514)); | ||||||
|  | const core = __importStar(__nccwpck_require__(2186)); | ||||||
| const cache_distributor_1 = __importDefault(__nccwpck_require__(8953)); | const cache_distributor_1 = __importDefault(__nccwpck_require__(8953)); | ||||||
|  | const utils_1 = __nccwpck_require__(1314); | ||||||
| class PoetryCache extends cache_distributor_1.default { | class PoetryCache extends cache_distributor_1.default { | ||||||
|     constructor(pythonVersion, patterns = '**/poetry.lock') { |     constructor(pythonVersion, patterns = '**/poetry.lock') { | ||||||
|         super('poetry', patterns); |         super('poetry', patterns); | ||||||
| @ -64591,6 +64594,17 @@ class PoetryCache extends cache_distributor_1.default { | |||||||
|             if (poetryConfig['virtualenvs.in-project'] === true) { |             if (poetryConfig['virtualenvs.in-project'] === true) { | ||||||
|                 paths.push(path.join(process.cwd(), '.venv')); |                 paths.push(path.join(process.cwd(), '.venv')); | ||||||
|             } |             } | ||||||
|  |             const pythonLocation = yield io.which('python'); | ||||||
|  |             if (pythonLocation) { | ||||||
|  |                 core.debug(`pythonLocation is ${pythonLocation}`); | ||||||
|  |                 const { exitCode, stderr } = yield exec.getExecOutput(`poetry env use ${pythonLocation}`, undefined, { ignoreReturnCode: true }); | ||||||
|  |                 if (exitCode) { | ||||||
|  |                     utils_1.logWarning(stderr); | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |             else { | ||||||
|  |                 utils_1.logWarning('python binaries were not found in PATH'); | ||||||
|  |             } | ||||||
|             return paths; |             return paths; | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
| @ -65241,7 +65255,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) { | |||||||
|     return (mod && mod.__esModule) ? mod : { "default": mod }; |     return (mod && mod.__esModule) ? mod : { "default": mod }; | ||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", ({ value: true })); | Object.defineProperty(exports, "__esModule", ({ value: true })); | ||||||
| exports.logWarning = void 0; |  | ||||||
| const core = __importStar(__nccwpck_require__(2186)); | const core = __importStar(__nccwpck_require__(2186)); | ||||||
| const finder = __importStar(__nccwpck_require__(9996)); | const finder = __importStar(__nccwpck_require__(9996)); | ||||||
| const finderPyPy = __importStar(__nccwpck_require__(4003)); | const finderPyPy = __importStar(__nccwpck_require__(4003)); | ||||||
| @ -65277,14 +65290,14 @@ function resolveVersionInput() { | |||||||
|         core.info(`Resolved ${versionFile} as ${version}`); |         core.info(`Resolved ${versionFile} as ${version}`); | ||||||
|         return version; |         return version; | ||||||
|     } |     } | ||||||
|     logWarning("Neither 'python-version' nor 'python-version-file' inputs were supplied. Attempting to find '.python-version' file."); |     utils_1.logWarning("Neither 'python-version' nor 'python-version-file' inputs were supplied. Attempting to find '.python-version' file."); | ||||||
|     versionFile = '.python-version'; |     versionFile = '.python-version'; | ||||||
|     if (fs_1.default.existsSync(versionFile)) { |     if (fs_1.default.existsSync(versionFile)) { | ||||||
|         version = fs_1.default.readFileSync(versionFile, 'utf8'); |         version = fs_1.default.readFileSync(versionFile, 'utf8'); | ||||||
|         core.info(`Resolved ${versionFile} as ${version}`); |         core.info(`Resolved ${versionFile} as ${version}`); | ||||||
|         return version; |         return version; | ||||||
|     } |     } | ||||||
|     logWarning(`${versionFile} doesn't exist.`); |     utils_1.logWarning(`${versionFile} doesn't exist.`); | ||||||
|     return version; |     return version; | ||||||
| } | } | ||||||
| function run() { | function run() { | ||||||
| @ -65332,11 +65345,6 @@ function run() { | |||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
| } | } | ||||||
| function logWarning(message) { |  | ||||||
|     const warningPrefix = '[warning]'; |  | ||||||
|     core.info(`${warningPrefix}${message}`); |  | ||||||
| } |  | ||||||
| exports.logWarning = logWarning; |  | ||||||
| run(); | run(); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -65379,7 +65387,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { | |||||||
|     return (mod && mod.__esModule) ? mod : { "default": mod }; |     return (mod && mod.__esModule) ? mod : { "default": mod }; | ||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", ({ value: true })); | Object.defineProperty(exports, "__esModule", ({ value: true })); | ||||||
| exports.getLinuxOSReleaseInfo = exports.isCacheFeatureAvailable = exports.isGhes = exports.validatePythonVersionFormatForPyPy = exports.writeExactPyPyVersionFile = exports.readExactPyPyVersionFile = exports.getPyPyVersionFromPath = exports.isNightlyKeyword = exports.validateVersion = exports.createSymlinkInFolder = exports.WINDOWS_PLATFORMS = exports.WINDOWS_ARCHS = exports.IS_LINUX = exports.IS_WINDOWS = void 0; | exports.logWarning = exports.getLinuxOSReleaseInfo = exports.isCacheFeatureAvailable = exports.isGhes = exports.validatePythonVersionFormatForPyPy = exports.writeExactPyPyVersionFile = exports.readExactPyPyVersionFile = exports.getPyPyVersionFromPath = exports.isNightlyKeyword = exports.validateVersion = exports.createSymlinkInFolder = exports.WINDOWS_PLATFORMS = exports.WINDOWS_ARCHS = exports.IS_LINUX = exports.IS_WINDOWS = void 0; | ||||||
| const cache = __importStar(__nccwpck_require__(7799)); | const cache = __importStar(__nccwpck_require__(7799)); | ||||||
| const core = __importStar(__nccwpck_require__(2186)); | const core = __importStar(__nccwpck_require__(2186)); | ||||||
| const fs_1 = __importDefault(__nccwpck_require__(7147)); | const fs_1 = __importDefault(__nccwpck_require__(7147)); | ||||||
| @ -65480,6 +65488,11 @@ function getLinuxOSReleaseInfo() { | |||||||
|     }); |     }); | ||||||
| } | } | ||||||
| exports.getLinuxOSReleaseInfo = getLinuxOSReleaseInfo; | exports.getLinuxOSReleaseInfo = getLinuxOSReleaseInfo; | ||||||
|  | function logWarning(message) { | ||||||
|  |     const warningPrefix = '[warning]'; | ||||||
|  |     core.info(`${warningPrefix}${message}`); | ||||||
|  | } | ||||||
|  | exports.logWarning = logWarning; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /***/ }), | /***/ }), | ||||||
|  | |||||||
| @ -1,9 +1,11 @@ | |||||||
| import * as glob from '@actions/glob'; | import * as glob from '@actions/glob'; | ||||||
| import * as os from 'os'; | import * as io from '@actions/io'; | ||||||
| import * as path from 'path'; | import * as path from 'path'; | ||||||
| import * as exec from '@actions/exec'; | import * as exec from '@actions/exec'; | ||||||
|  | import * as core from '@actions/core'; | ||||||
| 
 | 
 | ||||||
| import CacheDistributor from './cache-distributor'; | import CacheDistributor from './cache-distributor'; | ||||||
|  | import {logWarning} from '../utils'; | ||||||
| 
 | 
 | ||||||
| class PoetryCache extends CacheDistributor { | class PoetryCache extends CacheDistributor { | ||||||
|   constructor( |   constructor( | ||||||
| @ -28,6 +30,26 @@ class PoetryCache extends CacheDistributor { | |||||||
|       paths.push(path.join(process.cwd(), '.venv')); |       paths.push(path.join(process.cwd(), '.venv')); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     const pythonLocation = await io.which('python'); | ||||||
|  | 
 | ||||||
|  |     if (pythonLocation) { | ||||||
|  |       core.debug(`pythonLocation is ${pythonLocation}`); | ||||||
|  |       const { | ||||||
|  |         exitCode, | ||||||
|  |         stderr | ||||||
|  |       } = await exec.getExecOutput( | ||||||
|  |         `poetry env use ${pythonLocation}`, | ||||||
|  |         undefined, | ||||||
|  |         {ignoreReturnCode: true} | ||||||
|  |       ); | ||||||
|  | 
 | ||||||
|  |       if (exitCode) { | ||||||
|  |         logWarning(stderr); | ||||||
|  |       } | ||||||
|  |     } else { | ||||||
|  |       logWarning('python binaries were not found in PATH'); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     return paths; |     return paths; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -5,7 +5,12 @@ import * as path from 'path'; | |||||||
| import * as os from 'os'; | import * as os from 'os'; | ||||||
| import fs from 'fs'; | import fs from 'fs'; | ||||||
| import {getCacheDistributor} from './cache-distributions/cache-factory'; | import {getCacheDistributor} from './cache-distributions/cache-factory'; | ||||||
| import {isCacheFeatureAvailable, IS_LINUX, IS_WINDOWS} from './utils'; | import { | ||||||
|  |   isCacheFeatureAvailable, | ||||||
|  |   logWarning, | ||||||
|  |   IS_LINUX, | ||||||
|  |   IS_WINDOWS | ||||||
|  | } from './utils'; | ||||||
| 
 | 
 | ||||||
| function isPyPyVersion(versionSpec: string) { | function isPyPyVersion(versionSpec: string) { | ||||||
|   return versionSpec.startsWith('pypy'); |   return versionSpec.startsWith('pypy'); | ||||||
| @ -115,9 +120,4 @@ async function run() { | |||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export function logWarning(message: string): void { |  | ||||||
|   const warningPrefix = '[warning]'; |  | ||||||
|   core.info(`${warningPrefix}${message}`); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| run(); | run(); | ||||||
|  | |||||||
| @ -136,3 +136,8 @@ export async function getLinuxOSReleaseInfo() { | |||||||
| 
 | 
 | ||||||
|   return `${osVersion}-${osRelease}`; |   return `${osVersion}-${osRelease}`; | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | export function logWarning(message: string): void { | ||||||
|  |   const warningPrefix = '[warning]'; | ||||||
|  |   core.info(`${warningPrefix}${message}`); | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user