Skip to content

Commit

Permalink
fix: Mac Toolpath
Browse files Browse the repository at this point in the history
Shared libraries for the Mac python builds are not configured with the
relocatable flag, thus must always be configured with the hosted path.

Relates #459
  • Loading branch information
techman83 committed Jul 26, 2022
1 parent 467a981 commit bc8ee42
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 14 deletions.
15 changes: 9 additions & 6 deletions dist/setup/index.js
Expand Up @@ -65338,14 +65338,17 @@ function resolveVersionInput() {
return version;
}
function run() {
var _a;
var _a, _b;
return __awaiter(this, void 0, void 0, function* () {
// When setting AGENT_TOOLSDIRECTORY, the actions/tool-cache function find
// is not able to find the files cached by actions/python-version.
if (utils_1.IS_MAC) {
process.env['AGENT_TOOLSDIRECTORY'] = '/Users/runner/hostedtoolcache';
}
if ((_a = process.env.AGENT_TOOLSDIRECTORY) === null || _a === void 0 ? void 0 : _a.trim()) {
process.env['RUNNER_TOOL_CACHE'] = process.env['AGENT_TOOLSDIRECTORY'];
}
core.debug(`Python is expected to be installed into RUNNER_TOOL_CACHE=${process.env['RUNNER_TOOL_CACHE']}`);
core.debug(`Python is expected to be installed into ${((_b = process.env.AGENT_TOOLSDIRECTORY) === null || _b === void 0 ? void 0 : _b.trim())
? process.env['AGENT_TOOLSDIRECTORY']
: process.env['RUNNER_TOOL_CACHE']}`);
try {
const version = resolveVersionInput();
const checkLatest = core.getBooleanInput('check-latest');
Expand Down Expand Up @@ -65421,7 +65424,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
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;
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_MAC = exports.IS_LINUX = exports.IS_WINDOWS = void 0;
const cache = __importStar(__nccwpck_require__(7799));
const core = __importStar(__nccwpck_require__(2186));
const fs_1 = __importDefault(__nccwpck_require__(7147));
Expand Down Expand Up @@ -65762,4 +65765,4 @@ module.exports = JSON.parse('["ac","com.ac","edu.ac","gov.ac","net.ac","mil.ac",
/******/ module.exports = __webpack_exports__;
/******/
/******/ })()
;
;
19 changes: 11 additions & 8 deletions src/setup-python.ts
Expand Up @@ -5,11 +5,7 @@ import * as path from 'path';
import * as os from 'os';
import fs from 'fs';
import {getCacheDistributor} from './cache-distributions/cache-factory';
import {
isCacheFeatureAvailable,
logWarning,
IS_MAC
} from './utils';
import {isCacheFeatureAvailable, logWarning, IS_MAC} from './utils';

function isPyPyVersion(versionSpec: string) {
return versionSpec.startsWith('pypy');
Expand Down Expand Up @@ -67,13 +63,20 @@ function resolveVersionInput(): string {
}

async function run() {
// When setting AGENT_TOOLSDIRECTORY, the actions/tool-cache function find
// is not able to find the files cached by actions/python-version.
if (IS_MAC) {
process.env['AGENT_TOOLSDIRECTORY'] = '/Users/runner/hostedtoolcache';
}

if (process.env.AGENT_TOOLSDIRECTORY?.trim()) {
process.env['RUNNER_TOOL_CACHE'] = process.env['AGENT_TOOLSDIRECTORY'];
}

core.debug(
`Python is expected to be installed into RUNNER_TOOL_CACHE=${process.env['RUNNER_TOOL_CACHE']}`
`Python is expected to be installed into ${
process.env.AGENT_TOOLSDIRECTORY?.trim()
? process.env['AGENT_TOOLSDIRECTORY']
: process.env['RUNNER_TOOL_CACHE']
}`
);
try {
const version = resolveVersionInput();
Expand Down

2 comments on commit bc8ee42

@s0undt3ch
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have just build our first Mac runner, and nowhere in the docs did it say it had to run under a specific user.
Could you please at least check if the variable is set, and not set to the right path, and warn about it?
It would have saved me quite a few hours around our Mac runner images ....

@s0undt3ch
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Erm, now I saw it on your docs... But a warning about it would have been nice, it it points to the right docs, then it would have been even better....

Please sign in to comment.