mirror of
https://github.com/reactivecircus/android-emulator-runner.git
synced 2026-09-01 01:59:32 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6097e0ab6c | |||
| 483b89e0bf |
@@ -29,9 +29,9 @@ jobs:
|
||||
uses: ./
|
||||
with:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
target: google_apis
|
||||
arch: x86_64
|
||||
target: default
|
||||
arch: x86
|
||||
profile: Nexus 6
|
||||
emulator-options: -no-window -no-snapshot -noaudio -no-boot-anim -camera-back emulated
|
||||
headless: true
|
||||
disable-animations: true
|
||||
script: adb devices -l
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
# Change Log
|
||||
|
||||
## v2.0.0
|
||||
|
||||
* Added action input `emulator-options` for providing command-line options used when launching the emulator. Default value is `-no-window -no-snapshot -noaudio -no-boot-anim`.
|
||||
* Removed `headless` action input which is equivalent to specifying `-no-window` in the new `emulator-options` action input (included by default).
|
||||
|
||||
## v1.0.2
|
||||
|
||||
* Increased emulator boot timeout to **5 mins**.
|
||||
|
||||
## v1.0.1
|
||||
|
||||
* Fixed docs.
|
||||
* Minor internal changes.
|
||||
|
||||
## v1.0.0
|
||||
|
||||
Initial release.
|
||||
@@ -37,7 +37,7 @@ jobs:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: run tests
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
uses: reactivecircus/android-emulator-runner@v1
|
||||
with:
|
||||
api-level: 29
|
||||
script: ./gradlew connectedCheck
|
||||
@@ -60,7 +60,7 @@ jobs:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: run tests
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
uses: reactivecircus/android-emulator-runner@v1
|
||||
with:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
target: ${{ matrix.target }}
|
||||
@@ -77,8 +77,6 @@ jobs:
|
||||
| `target` | Optional | `default` | Target of the system image - `default` or `google_apis`. |
|
||||
| `arch` | Optional | `x86` | CPU architecture of the system image - `x86` or `x86_64`. |
|
||||
| `profile` | Optional | N/A | Hardware profile used for creating the AVD - e.g. `Nexus 6`. For a list of all profiles available, run `$ANDROID_HOME/tools/bin/avdmanager list` and refer to the results under "Available Android Virtual Devices". |
|
||||
| `emulator-options` | Optional | See below | Command-line options used when launching the emulator (replacing all default options) - e.g. `-no-snapshot -camera-back emulated`. |
|
||||
| `headless` | Optional | `true` | Whether to launch emulator without UI - `true` or `false`. When set to `true` this is equivalent to running the emulator with `emulator -no-window`. |
|
||||
| `disable-animations` | Optional | `true` | Whether to disable animations - `true` or `false`. |
|
||||
| `script` | Required | N/A | Custom script to run - e.g. to run Android instrumented tests on the emulator: `./gradlew connectedCheck` |
|
||||
|
||||
Default `emulator-options`: `-no-window -no-snapshot -noaudio -no-boot-anim`.
|
||||
|
||||
@@ -5,7 +5,6 @@ Refer to the [recommendeations for versioning and releasing actions](https://git
|
||||
## New major release
|
||||
|
||||
- From `master` branch, run `npm run build && npm test --clean && npm run lint` to make sure `lib/*.js` are up-to-date.
|
||||
- Update `CHANGELOG.md`, push change with "Prepare for release X.Y.Z." (where X.Y.Z is the new version).
|
||||
- Create a new branch e.g. `release/v1`, comment out `node_modules/` in `.gitignore`, commit the change (do not commit yet `node_modules`).
|
||||
- Run `npm prune --production`.
|
||||
- Now commit the changes (the pruned `node_modules`).
|
||||
@@ -18,7 +17,6 @@ Refer to the [recommendeations for versioning and releasing actions](https://git
|
||||
## New minor / patch release
|
||||
|
||||
- From `master` branch, run `npm run build && npm test --clean && npm run lint` to make sure `lib/*.js` are up-to-date.
|
||||
- Update `CHANGELOG.md`, push change with "Prepare for release X.Y.Z." (where X.Y.Z is the new version).
|
||||
- Merge from `master` into the release branch e.g. `release/v1`.
|
||||
- Run `npm prune --production`.
|
||||
- Commit merged changes (and the pruned `node_modules`).
|
||||
|
||||
@@ -77,6 +77,27 @@ describe('arch validator tests', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('headless validator tests', () => {
|
||||
it('Throws if headless is not a boolean', () => {
|
||||
const func = () => {
|
||||
validator.checkHeadless('yes');
|
||||
};
|
||||
expect(func).toThrowError(`Input for input.headless should be either 'true' or 'false'.`);
|
||||
});
|
||||
|
||||
it('Validates successfully if headless is either true or false', () => {
|
||||
const func1 = () => {
|
||||
validator.checkHeadless('true');
|
||||
};
|
||||
expect(func1).not.toThrow();
|
||||
|
||||
const func2 = () => {
|
||||
validator.checkHeadless('false');
|
||||
};
|
||||
expect(func2).not.toThrow();
|
||||
});
|
||||
});
|
||||
|
||||
describe('disable-animations validator tests', () => {
|
||||
it('Throws if disable-animations is not a boolean', () => {
|
||||
const func = () => {
|
||||
|
||||
+3
-3
@@ -16,9 +16,9 @@ inputs:
|
||||
default: 'x86'
|
||||
profile:
|
||||
description: 'Hardware profile used for creating the AVD - e.g. `Nexus 6`.'
|
||||
emulator-options:
|
||||
description: 'command-line options used when launching the emulator - e.g. `-no-snapshot -camera-back emulated`.'
|
||||
default: '-no-window -no-snapshot -noaudio -no-boot-anim'
|
||||
headless:
|
||||
description: 'whether to launch emulator in without UI - true or false'
|
||||
default: 'true'
|
||||
disable-animations:
|
||||
description: 'whether to disable animations - true or false'
|
||||
default: 'true'
|
||||
|
||||
+5
-12
@@ -16,13 +16,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const exec = __importStar(require("@actions/exec"));
|
||||
const EMULATOR_BOOT_TIMEOUT_SECONDS = 300;
|
||||
const EMULATOR_BOOT_TIMEOUT_SECONDS = 120;
|
||||
const AVD_MANAGER_PATH = `${process.env.ANDROID_HOME}/tools/bin/avdmanager`;
|
||||
const ADB_PATH = `${process.env.ANDROID_HOME}/platform-tools/adb`;
|
||||
/**
|
||||
* Creates and launches a new AVD instance with the specified configurations.
|
||||
*/
|
||||
function launchEmulator(apiLevel, target, arch, profile, emulatorOptions, disableAnimations) {
|
||||
function launchEmulator(apiLevel, target, arch, profile, headless, disableAnimations) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
// create a new AVD
|
||||
if (profile.trim() !== '') {
|
||||
@@ -35,15 +35,8 @@ function launchEmulator(apiLevel, target, arch, profile, emulatorOptions, disabl
|
||||
}
|
||||
// start emulator
|
||||
console.log('Starting emulator.');
|
||||
yield exec.exec(`sh -c \\"${process.env.ANDROID_HOME}/emulator/emulator -avd test ${emulatorOptions} &"`, [], {
|
||||
listeners: {
|
||||
stderr: (data) => {
|
||||
if (data.toString().includes('invalid command-line parameter')) {
|
||||
throw new Error(data.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
const noWindow = headless ? '-no-window' : '';
|
||||
yield exec.exec(`sh -c \\"${process.env.ANDROID_HOME}/emulator/emulator -avd test ${noWindow} -no-snapshot -noaudio -no-boot-anim &"`);
|
||||
// wait for emulator to complete booting
|
||||
yield waitForDevice();
|
||||
yield exec.exec(`${ADB_PATH} shell input keyevent 82`);
|
||||
@@ -98,7 +91,7 @@ function waitForDevice() {
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error.message);
|
||||
console.error(error.message);
|
||||
}
|
||||
if (attempts < maxAttemps) {
|
||||
yield delay(retryInterval * 1000);
|
||||
|
||||
@@ -24,6 +24,12 @@ function checkArch(arch) {
|
||||
}
|
||||
}
|
||||
exports.checkArch = checkArch;
|
||||
function checkHeadless(headless) {
|
||||
if (headless !== 'true' && headless !== 'false') {
|
||||
throw new Error(`Input for input.headless should be either 'true' or 'false'.`);
|
||||
}
|
||||
}
|
||||
exports.checkHeadless = checkHeadless;
|
||||
function checkDisableAnimations(disableAnimations) {
|
||||
if (disableAnimations !== 'true' && disableAnimations !== 'false') {
|
||||
throw new Error(`Input for input.disable-animations should be either 'true' or 'false'.`);
|
||||
|
||||
+10
-8
@@ -43,9 +43,11 @@ function run() {
|
||||
// Hardware profile used for creating the AVD
|
||||
const profile = core.getInput('profile');
|
||||
console.log(`Hardware profile: ${profile}`);
|
||||
// emulator options
|
||||
const emulatorOptions = core.getInput('emulator-options').trim();
|
||||
console.log(`emulator options: ${emulatorOptions}`);
|
||||
// headless mode
|
||||
const headlessInput = core.getInput('headless');
|
||||
input_validator_1.checkHeadless(headlessInput);
|
||||
const headless = headlessInput === 'true';
|
||||
console.log(`headless mode: ${headless}`);
|
||||
// disable animations
|
||||
const disableAnimationsInput = core.getInput('disable-animations');
|
||||
input_validator_1.checkDisableAnimations(disableAnimationsInput);
|
||||
@@ -53,12 +55,12 @@ function run() {
|
||||
console.log(`disable animations: ${disableAnimations}`);
|
||||
// custom scrpt to run
|
||||
const script = core.getInput('script', { required: true });
|
||||
// install SDK
|
||||
yield sdk_installer_1.installAndroidSdk(apiLevel, target, arch);
|
||||
// launch an emulator
|
||||
yield emulator_manager_1.launchEmulator(apiLevel, target, arch, profile, headless, disableAnimations);
|
||||
// execute the custom script
|
||||
try {
|
||||
// install SDK
|
||||
yield sdk_installer_1.installAndroidSdk(apiLevel, target, arch);
|
||||
// launch an emulator
|
||||
yield emulator_manager_1.launchEmulator(apiLevel, target, arch, profile, emulatorOptions, disableAnimations);
|
||||
// execute the custom script
|
||||
yield exec.exec(`${script}`);
|
||||
}
|
||||
catch (error) {
|
||||
|
||||
+21
-46
@@ -1,40 +1,14 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"@actions/core@1.0.0",
|
||||
"/Users/Yang/Desktop/Projects/android-emulator-runner"
|
||||
]
|
||||
],
|
||||
"_from": "@actions/core@1.0.0",
|
||||
"_id": "@actions/core@1.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-aMIlkx96XH4E/2YZtEOeyrYQfhlas9jIRkfGPqMwXD095Rdkzo4lB6ZmbxPQSzD+e1M+Xsm98ZhuSMYGv/AlqA==",
|
||||
"_location": "/@actions/core",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@actions/core@1.0.0",
|
||||
"name": "@actions/core",
|
||||
"escapedName": "@actions%2fcore",
|
||||
"scope": "@actions",
|
||||
"rawSpec": "1.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@actions/core/-/core-1.0.0.tgz",
|
||||
"_spec": "1.0.0",
|
||||
"_where": "/Users/Yang/Desktop/Projects/android-emulator-runner",
|
||||
"bugs": {
|
||||
"url": "https://github.com/actions/toolkit/issues"
|
||||
},
|
||||
"name": "@actions/core",
|
||||
"version": "1.0.0",
|
||||
"description": "Actions core lib",
|
||||
"devDependencies": {
|
||||
"@types/node": "^12.0.2"
|
||||
},
|
||||
"keywords": [
|
||||
"core",
|
||||
"actions"
|
||||
],
|
||||
"homepage": "https://github.com/actions/toolkit/tree/master/packages/core",
|
||||
"license": "MIT",
|
||||
"main": "lib/core.js",
|
||||
"directories": {
|
||||
"lib": "lib",
|
||||
"test": "__tests__"
|
||||
@@ -42,15 +16,6 @@
|
||||
"files": [
|
||||
"lib"
|
||||
],
|
||||
"gitHead": "a40bce7c8d382aa3dbadaa327acbc696e9390e55",
|
||||
"homepage": "https://github.com/actions/toolkit/tree/master/packages/core",
|
||||
"keywords": [
|
||||
"core",
|
||||
"actions"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/core.js",
|
||||
"name": "@actions/core",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
@@ -62,5 +27,15 @@
|
||||
"test": "echo \"Error: run tests from root\" && exit 1",
|
||||
"tsc": "tsc"
|
||||
},
|
||||
"version": "1.0.0"
|
||||
}
|
||||
"bugs": {
|
||||
"url": "https://github.com/actions/toolkit/issues"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^12.0.2"
|
||||
},
|
||||
"gitHead": "a40bce7c8d382aa3dbadaa327acbc696e9390e55"
|
||||
|
||||
,"_resolved": "https://registry.npmjs.org/@actions/core/-/core-1.0.0.tgz"
|
||||
,"_integrity": "sha512-aMIlkx96XH4E/2YZtEOeyrYQfhlas9jIRkfGPqMwXD095Rdkzo4lB6ZmbxPQSzD+e1M+Xsm98ZhuSMYGv/AlqA=="
|
||||
,"_from": "@actions/core@1.0.0"
|
||||
}
|
||||
+22
-48
@@ -1,41 +1,15 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"@actions/exec@1.0.1",
|
||||
"/Users/Yang/Desktop/Projects/android-emulator-runner"
|
||||
]
|
||||
],
|
||||
"_from": "@actions/exec@1.0.1",
|
||||
"_id": "@actions/exec@1.0.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-nvFkxwiicvpzNiCBF4wFBDfnBvi7xp/as7LE1hBxBxKG2L29+gkIPBiLKMVORL+Hg3JNf07AKRfl0V5djoypjQ==",
|
||||
"_location": "/@actions/exec",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@actions/exec@1.0.1",
|
||||
"name": "@actions/exec",
|
||||
"escapedName": "@actions%2fexec",
|
||||
"scope": "@actions",
|
||||
"rawSpec": "1.0.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/",
|
||||
"/@actions/tool-cache"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.1.tgz",
|
||||
"_spec": "1.0.1",
|
||||
"_where": "/Users/Yang/Desktop/Projects/android-emulator-runner",
|
||||
"bugs": {
|
||||
"url": "https://github.com/actions/toolkit/issues"
|
||||
},
|
||||
"name": "@actions/exec",
|
||||
"version": "1.0.1",
|
||||
"description": "Actions exec lib",
|
||||
"devDependencies": {
|
||||
"@actions/io": "^1.0.1"
|
||||
},
|
||||
"keywords": [
|
||||
"github",
|
||||
"actions",
|
||||
"exec"
|
||||
],
|
||||
"homepage": "https://github.com/actions/toolkit/tree/master/packages/exec",
|
||||
"license": "MIT",
|
||||
"main": "lib/exec.js",
|
||||
"directories": {
|
||||
"lib": "lib",
|
||||
"test": "__tests__"
|
||||
@@ -43,16 +17,6 @@
|
||||
"files": [
|
||||
"lib"
|
||||
],
|
||||
"gitHead": "a2ab4bcf78e4f7080f0d45856e6eeba16f0bbc52",
|
||||
"homepage": "https://github.com/actions/toolkit/tree/master/packages/exec",
|
||||
"keywords": [
|
||||
"github",
|
||||
"actions",
|
||||
"exec"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/exec.js",
|
||||
"name": "@actions/exec",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
@@ -64,5 +28,15 @@
|
||||
"test": "echo \"Error: run tests from root\" && exit 1",
|
||||
"tsc": "tsc"
|
||||
},
|
||||
"version": "1.0.1"
|
||||
}
|
||||
"bugs": {
|
||||
"url": "https://github.com/actions/toolkit/issues"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@actions/io": "^1.0.1"
|
||||
},
|
||||
"gitHead": "a2ab4bcf78e4f7080f0d45856e6eeba16f0bbc52"
|
||||
|
||||
,"_resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.1.tgz"
|
||||
,"_integrity": "sha512-nvFkxwiicvpzNiCBF4wFBDfnBvi7xp/as7LE1hBxBxKG2L29+gkIPBiLKMVORL+Hg3JNf07AKRfl0V5djoypjQ=="
|
||||
,"_from": "@actions/exec@1.0.1"
|
||||
}
|
||||
+19
-44
@@ -1,37 +1,15 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"@actions/io@1.0.1",
|
||||
"/Users/Yang/Desktop/Projects/android-emulator-runner"
|
||||
]
|
||||
],
|
||||
"_from": "@actions/io@1.0.1",
|
||||
"_id": "@actions/io@1.0.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-rhq+tfZukbtaus7xyUtwKfuiCRXd1hWSfmJNEpFgBQJ4woqPEpsBw04awicjwz9tyG2/MVhAEMfVn664Cri5zA==",
|
||||
"_location": "/@actions/io",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@actions/io@1.0.1",
|
||||
"name": "@actions/io",
|
||||
"escapedName": "@actions%2fio",
|
||||
"scope": "@actions",
|
||||
"rawSpec": "1.0.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@actions/tool-cache"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.1.tgz",
|
||||
"_spec": "1.0.1",
|
||||
"_where": "/Users/Yang/Desktop/Projects/android-emulator-runner",
|
||||
"bugs": {
|
||||
"url": "https://github.com/actions/toolkit/issues"
|
||||
},
|
||||
"name": "@actions/io",
|
||||
"version": "1.0.1",
|
||||
"description": "Actions io lib",
|
||||
"keywords": [
|
||||
"github",
|
||||
"actions",
|
||||
"io"
|
||||
],
|
||||
"homepage": "https://github.com/actions/toolkit/tree/master/packages/io",
|
||||
"license": "MIT",
|
||||
"main": "lib/io.js",
|
||||
"directories": {
|
||||
"lib": "lib",
|
||||
"test": "__tests__"
|
||||
@@ -39,16 +17,6 @@
|
||||
"files": [
|
||||
"lib"
|
||||
],
|
||||
"gitHead": "a2ab4bcf78e4f7080f0d45856e6eeba16f0bbc52",
|
||||
"homepage": "https://github.com/actions/toolkit/tree/master/packages/io",
|
||||
"keywords": [
|
||||
"github",
|
||||
"actions",
|
||||
"io"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/io.js",
|
||||
"name": "@actions/io",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
@@ -60,5 +28,12 @@
|
||||
"test": "echo \"Error: run tests from root\" && exit 1",
|
||||
"tsc": "tsc"
|
||||
},
|
||||
"version": "1.0.1"
|
||||
}
|
||||
"bugs": {
|
||||
"url": "https://github.com/actions/toolkit/issues"
|
||||
},
|
||||
"gitHead": "a2ab4bcf78e4f7080f0d45856e6eeba16f0bbc52"
|
||||
|
||||
,"_resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.1.tgz"
|
||||
,"_integrity": "sha512-rhq+tfZukbtaus7xyUtwKfuiCRXd1hWSfmJNEpFgBQJ4woqPEpsBw04awicjwz9tyG2/MVhAEMfVn664Cri5zA=="
|
||||
,"_from": "@actions/io@1.0.1"
|
||||
}
|
||||
+21
-46
@@ -1,40 +1,15 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"@actions/core@1.2.0",
|
||||
"/Users/Yang/Desktop/Projects/android-emulator-runner"
|
||||
]
|
||||
],
|
||||
"_from": "@actions/core@1.2.0",
|
||||
"_id": "@actions/core@1.2.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-ZKdyhlSlyz38S6YFfPnyNgCDZuAF2T0Qv5eHflNWytPS8Qjvz39bZFMry9Bb/dpSnqWcNeav5yM2CTYpJeY+Dw==",
|
||||
"_location": "/@actions/tool-cache/@actions/core",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@actions/core@1.2.0",
|
||||
"name": "@actions/core",
|
||||
"escapedName": "@actions%2fcore",
|
||||
"scope": "@actions",
|
||||
"rawSpec": "1.2.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.2.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@actions/tool-cache"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.0.tgz",
|
||||
"_spec": "1.2.0",
|
||||
"_where": "/Users/Yang/Desktop/Projects/android-emulator-runner",
|
||||
"bugs": {
|
||||
"url": "https://github.com/actions/toolkit/issues"
|
||||
},
|
||||
"name": "@actions/core",
|
||||
"version": "1.2.0",
|
||||
"description": "Actions core lib",
|
||||
"devDependencies": {
|
||||
"@types/node": "^12.0.2"
|
||||
},
|
||||
"keywords": [
|
||||
"github",
|
||||
"actions",
|
||||
"core"
|
||||
],
|
||||
"homepage": "https://github.com/actions/toolkit/tree/master/packages/core",
|
||||
"license": "MIT",
|
||||
"main": "lib/core.js",
|
||||
"directories": {
|
||||
"lib": "lib",
|
||||
"test": "__tests__"
|
||||
@@ -42,15 +17,6 @@
|
||||
"files": [
|
||||
"lib"
|
||||
],
|
||||
"homepage": "https://github.com/actions/toolkit/tree/master/packages/core",
|
||||
"keywords": [
|
||||
"github",
|
||||
"actions",
|
||||
"core"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/core.js",
|
||||
"name": "@actions/core",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
@@ -63,5 +29,14 @@
|
||||
"test": "echo \"Error: run tests from root\" && exit 1",
|
||||
"tsc": "tsc"
|
||||
},
|
||||
"version": "1.2.0"
|
||||
}
|
||||
"bugs": {
|
||||
"url": "https://github.com/actions/toolkit/issues"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^12.0.2"
|
||||
}
|
||||
|
||||
,"_resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.0.tgz"
|
||||
,"_integrity": "sha512-ZKdyhlSlyz38S6YFfPnyNgCDZuAF2T0Qv5eHflNWytPS8Qjvz39bZFMry9Bb/dpSnqWcNeav5yM2CTYpJeY+Dw=="
|
||||
,"_from": "@actions/core@1.2.0"
|
||||
}
|
||||
+32
-57
@@ -1,51 +1,15 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"@actions/tool-cache@1.1.2",
|
||||
"/Users/Yang/Desktop/Projects/android-emulator-runner"
|
||||
]
|
||||
],
|
||||
"_from": "@actions/tool-cache@1.1.2",
|
||||
"_id": "@actions/tool-cache@1.1.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-IJczPaZr02ECa3Lgws/TJEVco9tjOujiQSZbO3dHuXXjhd5vrUtfOgGwhmz3/f97L910OraPZ8SknofUk6RvOQ==",
|
||||
"_location": "/@actions/tool-cache",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "@actions/tool-cache@1.1.2",
|
||||
"name": "@actions/tool-cache",
|
||||
"escapedName": "@actions%2ftool-cache",
|
||||
"scope": "@actions",
|
||||
"rawSpec": "1.1.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.1.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.1.2.tgz",
|
||||
"_spec": "1.1.2",
|
||||
"_where": "/Users/Yang/Desktop/Projects/android-emulator-runner",
|
||||
"bugs": {
|
||||
"url": "https://github.com/actions/toolkit/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.1.0",
|
||||
"@actions/exec": "^1.0.1",
|
||||
"@actions/io": "^1.0.1",
|
||||
"semver": "^6.1.0",
|
||||
"typed-rest-client": "^1.4.0",
|
||||
"uuid": "^3.3.2"
|
||||
},
|
||||
"name": "@actions/tool-cache",
|
||||
"version": "1.1.2",
|
||||
"description": "Actions tool-cache lib",
|
||||
"devDependencies": {
|
||||
"@types/nock": "^10.0.3",
|
||||
"@types/semver": "^6.0.0",
|
||||
"@types/uuid": "^3.4.4",
|
||||
"nock": "^10.0.6"
|
||||
},
|
||||
"keywords": [
|
||||
"github",
|
||||
"actions",
|
||||
"exec"
|
||||
],
|
||||
"homepage": "https://github.com/actions/toolkit/tree/master/packages/exec",
|
||||
"license": "MIT",
|
||||
"main": "lib/tool-cache.js",
|
||||
"directories": {
|
||||
"lib": "lib",
|
||||
"test": "__tests__"
|
||||
@@ -54,15 +18,6 @@
|
||||
"lib",
|
||||
"scripts"
|
||||
],
|
||||
"homepage": "https://github.com/actions/toolkit/tree/master/packages/exec",
|
||||
"keywords": [
|
||||
"github",
|
||||
"actions",
|
||||
"exec"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/tool-cache.js",
|
||||
"name": "@actions/tool-cache",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
@@ -74,5 +29,25 @@
|
||||
"test": "echo \"Error: run tests from root\" && exit 1",
|
||||
"tsc": "tsc"
|
||||
},
|
||||
"version": "1.1.2"
|
||||
}
|
||||
"bugs": {
|
||||
"url": "https://github.com/actions/toolkit/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.1.0",
|
||||
"@actions/exec": "^1.0.1",
|
||||
"@actions/io": "^1.0.1",
|
||||
"semver": "^6.1.0",
|
||||
"typed-rest-client": "^1.4.0",
|
||||
"uuid": "^3.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/nock": "^10.0.3",
|
||||
"@types/semver": "^6.0.0",
|
||||
"@types/uuid": "^3.4.4",
|
||||
"nock": "^10.0.6"
|
||||
}
|
||||
|
||||
,"_resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.1.2.tgz"
|
||||
,"_integrity": "sha512-IJczPaZr02ECa3Lgws/TJEVco9tjOujiQSZbO3dHuXXjhd5vrUtfOgGwhmz3/f97L910OraPZ8SknofUk6RvOQ=="
|
||||
,"_from": "@actions/tool-cache@1.1.2"
|
||||
}
|
||||
+20
-54
@@ -1,66 +1,32 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"semver@6.3.0",
|
||||
"/Users/Yang/Desktop/Projects/android-emulator-runner"
|
||||
]
|
||||
],
|
||||
"_from": "semver@6.3.0",
|
||||
"_id": "semver@6.3.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||
"_location": "/semver",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "semver@6.3.0",
|
||||
"name": "semver",
|
||||
"escapedName": "semver",
|
||||
"rawSpec": "6.3.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "6.3.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@actions/tool-cache",
|
||||
"/@typescript-eslint/typescript-estree",
|
||||
"/eslint",
|
||||
"/istanbul-lib-instrument"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||
"_spec": "6.3.0",
|
||||
"_where": "/Users/Yang/Desktop/Projects/android-emulator-runner",
|
||||
"bin": {
|
||||
"semver": "./bin/semver.js"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/npm/node-semver/issues"
|
||||
},
|
||||
"name": "semver",
|
||||
"version": "6.3.0",
|
||||
"description": "The semantic version parser used by npm.",
|
||||
"main": "semver.js",
|
||||
"scripts": {
|
||||
"test": "tap",
|
||||
"preversion": "npm test",
|
||||
"postversion": "npm publish",
|
||||
"postpublish": "git push origin --follow-tags"
|
||||
},
|
||||
"devDependencies": {
|
||||
"tap": "^14.3.1"
|
||||
},
|
||||
"license": "ISC",
|
||||
"repository": "https://github.com/npm/node-semver",
|
||||
"bin": {
|
||||
"semver": "./bin/semver.js"
|
||||
},
|
||||
"files": [
|
||||
"bin",
|
||||
"range.bnf",
|
||||
"semver.js"
|
||||
],
|
||||
"homepage": "https://github.com/npm/node-semver#readme",
|
||||
"license": "ISC",
|
||||
"main": "semver.js",
|
||||
"name": "semver",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/npm/node-semver.git"
|
||||
},
|
||||
"scripts": {
|
||||
"postpublish": "git push origin --follow-tags",
|
||||
"postversion": "npm publish",
|
||||
"preversion": "npm test",
|
||||
"test": "tap"
|
||||
},
|
||||
"tap": {
|
||||
"check-coverage": true
|
||||
},
|
||||
"version": "6.3.0"
|
||||
}
|
||||
}
|
||||
|
||||
,"_resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
|
||||
,"_integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
|
||||
,"_from": "semver@6.3.0"
|
||||
}
|
||||
+21
-50
@@ -1,51 +1,7 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"tunnel@0.0.4",
|
||||
"/Users/Yang/Desktop/Projects/android-emulator-runner"
|
||||
]
|
||||
],
|
||||
"_from": "tunnel@0.0.4",
|
||||
"_id": "tunnel@0.0.4",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-LTeFoVjBdMmhbcLARuxfxfF0IhM=",
|
||||
"_location": "/tunnel",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "tunnel@0.0.4",
|
||||
"name": "tunnel",
|
||||
"escapedName": "tunnel",
|
||||
"rawSpec": "0.0.4",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "0.0.4"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/typed-rest-client"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.4.tgz",
|
||||
"_spec": "0.0.4",
|
||||
"_where": "/Users/Yang/Desktop/Projects/android-emulator-runner",
|
||||
"author": {
|
||||
"name": "Koichi Kobayashi",
|
||||
"email": "koichik@improvement.jp"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/koichik/node-tunnel/issues"
|
||||
},
|
||||
"name": "tunnel",
|
||||
"version": "0.0.4",
|
||||
"description": "Node HTTP/HTTPS Agents for tunneling proxies",
|
||||
"devDependencies": {
|
||||
"mocha": "*",
|
||||
"should": "*"
|
||||
},
|
||||
"directories": {
|
||||
"lib": "./lib"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
|
||||
},
|
||||
"homepage": "https://github.com/koichik/node-tunnel/",
|
||||
"keywords": [
|
||||
"http",
|
||||
"https",
|
||||
@@ -53,15 +9,30 @@
|
||||
"proxy",
|
||||
"tunnel"
|
||||
],
|
||||
"homepage": "https://github.com/koichik/node-tunnel/",
|
||||
"bugs": "https://github.com/koichik/node-tunnel/issues",
|
||||
"license": "MIT",
|
||||
"author": "Koichi Kobayashi <koichik@improvement.jp>",
|
||||
"main": "./index.js",
|
||||
"name": "tunnel",
|
||||
"directories": {
|
||||
"lib": "./lib"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/koichik/node-tunnel.git"
|
||||
"url": "https://github.com/koichik/node-tunnel.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "./node_modules/mocha/bin/mocha"
|
||||
},
|
||||
"version": "0.0.4"
|
||||
}
|
||||
"devDependencies": {
|
||||
"mocha": "*",
|
||||
"should": "*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
|
||||
}
|
||||
|
||||
,"_resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.4.tgz"
|
||||
,"_integrity": "sha1-LTeFoVjBdMmhbcLARuxfxfF0IhM="
|
||||
,"_from": "tunnel@0.0.4"
|
||||
}
|
||||
+37
-63
@@ -1,55 +1,20 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"typed-rest-client@1.5.0",
|
||||
"/Users/Yang/Desktop/Projects/android-emulator-runner"
|
||||
]
|
||||
],
|
||||
"_from": "typed-rest-client@1.5.0",
|
||||
"_id": "typed-rest-client@1.5.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-DVZRlmsfnTjp6ZJaatcdyvvwYwbWvR4YDNFDqb+qdTxpvaVP99YCpBkA8rxsLtAPjBVoDe4fNsnMIdZTiPuKWg==",
|
||||
"_location": "/typed-rest-client",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "typed-rest-client@1.5.0",
|
||||
"name": "typed-rest-client",
|
||||
"escapedName": "typed-rest-client",
|
||||
"rawSpec": "1.5.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.5.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@actions/tool-cache"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.5.0.tgz",
|
||||
"_spec": "1.5.0",
|
||||
"_where": "/Users/Yang/Desktop/Projects/android-emulator-runner",
|
||||
"author": {
|
||||
"name": "Microsoft Corporation"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/Microsoft/typed-rest-client/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"tunnel": "0.0.4",
|
||||
"underscore": "1.8.3"
|
||||
},
|
||||
"name": "typed-rest-client",
|
||||
"version": "1.5.0",
|
||||
"description": "Node Rest and Http Clients for use with TypeScript",
|
||||
"devDependencies": {
|
||||
"@types/mocha": "^2.2.44",
|
||||
"@types/node": "^6.0.92",
|
||||
"@types/shelljs": "0.7.4",
|
||||
"mocha": "^3.5.3",
|
||||
"nock": "9.6.1",
|
||||
"react-scripts": "1.1.5",
|
||||
"semver": "4.3.3",
|
||||
"shelljs": "0.7.6",
|
||||
"typescript": "3.1.5"
|
||||
"main": "./RestClient.js",
|
||||
"scripts": {
|
||||
"build": "node make.js build",
|
||||
"test": "node make.js test",
|
||||
"bt": "node make.js buildtest",
|
||||
"samples": "node make.js samples",
|
||||
"units": "node make.js units",
|
||||
"validate": "node make.js validate"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/Microsoft/typed-rest-client.git"
|
||||
},
|
||||
"homepage": "https://github.com/Microsoft/typed-rest-client#readme",
|
||||
"keywords": [
|
||||
"rest",
|
||||
"http",
|
||||
@@ -57,20 +22,29 @@
|
||||
"typescript",
|
||||
"node"
|
||||
],
|
||||
"author": "Microsoft Corporation",
|
||||
"license": "MIT",
|
||||
"main": "./RestClient.js",
|
||||
"name": "typed-rest-client",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/Microsoft/typed-rest-client.git"
|
||||
"bugs": {
|
||||
"url": "https://github.com/Microsoft/typed-rest-client/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"bt": "node make.js buildtest",
|
||||
"build": "node make.js build",
|
||||
"samples": "node make.js samples",
|
||||
"test": "node make.js test",
|
||||
"units": "node make.js units",
|
||||
"validate": "node make.js validate"
|
||||
"homepage": "https://github.com/Microsoft/typed-rest-client#readme",
|
||||
"devDependencies": {
|
||||
"@types/mocha": "^2.2.44",
|
||||
"@types/node": "^6.0.92",
|
||||
"@types/shelljs": "0.7.4",
|
||||
"mocha": "^3.5.3",
|
||||
"nock": "9.6.1",
|
||||
"react-scripts": "1.1.5",
|
||||
"shelljs": "0.7.6",
|
||||
"semver": "4.3.3",
|
||||
"typescript": "3.1.5"
|
||||
},
|
||||
"version": "1.5.0"
|
||||
}
|
||||
"dependencies": {
|
||||
"tunnel": "0.0.4",
|
||||
"underscore": "1.8.3"
|
||||
}
|
||||
|
||||
,"_resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.5.0.tgz"
|
||||
,"_integrity": "sha512-DVZRlmsfnTjp6ZJaatcdyvvwYwbWvR4YDNFDqb+qdTxpvaVP99YCpBkA8rxsLtAPjBVoDe4fNsnMIdZTiPuKWg=="
|
||||
,"_from": "typed-rest-client@1.5.0"
|
||||
}
|
||||
+31
-61
@@ -1,54 +1,6 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"underscore@1.8.3",
|
||||
"/Users/Yang/Desktop/Projects/android-emulator-runner"
|
||||
]
|
||||
],
|
||||
"_from": "underscore@1.8.3",
|
||||
"_id": "underscore@1.8.3",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=",
|
||||
"_location": "/underscore",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "underscore@1.8.3",
|
||||
"name": "underscore",
|
||||
"escapedName": "underscore",
|
||||
"rawSpec": "1.8.3",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.8.3"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/typed-rest-client"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
|
||||
"_spec": "1.8.3",
|
||||
"_where": "/Users/Yang/Desktop/Projects/android-emulator-runner",
|
||||
"author": {
|
||||
"name": "Jeremy Ashkenas",
|
||||
"email": "jeremy@documentcloud.org"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/jashkenas/underscore/issues"
|
||||
},
|
||||
"name": "underscore",
|
||||
"description": "JavaScript's functional programming helper library.",
|
||||
"devDependencies": {
|
||||
"docco": "*",
|
||||
"eslint": "0.6.x",
|
||||
"karma": "~0.12.31",
|
||||
"karma-qunit": "~0.1.4",
|
||||
"qunit-cli": "~0.2.0",
|
||||
"uglify-js": "2.4.x"
|
||||
},
|
||||
"files": [
|
||||
"underscore.js",
|
||||
"underscore-min.js",
|
||||
"underscore-min.map",
|
||||
"LICENSE"
|
||||
],
|
||||
"homepage": "http://underscorejs.org",
|
||||
"keywords": [
|
||||
"util",
|
||||
@@ -57,20 +9,38 @@
|
||||
"client",
|
||||
"browser"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "underscore.js",
|
||||
"name": "underscore",
|
||||
"author": "Jeremy Ashkenas <jeremy@documentcloud.org>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/jashkenas/underscore.git"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "uglifyjs underscore.js -c \"evaluate=false\" --comments \"/ .*/\" -m --source-map underscore-min.map -o underscore-min.js",
|
||||
"doc": "docco underscore.js",
|
||||
"lint": "eslint underscore.js test/*.js",
|
||||
"test": "npm run test-node && npm run lint",
|
||||
"test-browser": "npm i karma-phantomjs-launcher && ./node_modules/karma/bin/karma start",
|
||||
"test-node": "qunit-cli test/*.js"
|
||||
"main": "underscore.js",
|
||||
"version": "1.8.3",
|
||||
"devDependencies": {
|
||||
"docco": "*",
|
||||
"eslint": "0.6.x",
|
||||
"karma": "~0.12.31",
|
||||
"karma-qunit": "~0.1.4",
|
||||
"qunit-cli": "~0.2.0",
|
||||
"uglify-js": "2.4.x"
|
||||
},
|
||||
"version": "1.8.3"
|
||||
}
|
||||
"scripts": {
|
||||
"test": "npm run test-node && npm run lint",
|
||||
"lint": "eslint underscore.js test/*.js",
|
||||
"test-node": "qunit-cli test/*.js",
|
||||
"test-browser": "npm i karma-phantomjs-launcher && ./node_modules/karma/bin/karma start",
|
||||
"build": "uglifyjs underscore.js -c \"evaluate=false\" --comments \"/ .*/\" -m --source-map underscore-min.map -o underscore-min.js",
|
||||
"doc": "docco underscore.js"
|
||||
},
|
||||
"license": "MIT",
|
||||
"files": [
|
||||
"underscore.js",
|
||||
"underscore-min.js",
|
||||
"underscore-min.map",
|
||||
"LICENSE"
|
||||
]
|
||||
|
||||
,"_resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz"
|
||||
,"_integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI="
|
||||
,"_from": "underscore@1.8.3"
|
||||
}
|
||||
+27
-78
@@ -1,72 +1,21 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"uuid@3.3.2",
|
||||
"/Users/Yang/Desktop/Projects/android-emulator-runner"
|
||||
]
|
||||
],
|
||||
"_from": "uuid@3.3.2",
|
||||
"_id": "uuid@3.3.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
|
||||
"_location": "/uuid",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "uuid@3.3.2",
|
||||
"name": "uuid",
|
||||
"escapedName": "uuid",
|
||||
"rawSpec": "3.3.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "3.3.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/@actions/tool-cache",
|
||||
"/request"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
|
||||
"_spec": "3.3.2",
|
||||
"_where": "/Users/Yang/Desktop/Projects/android-emulator-runner",
|
||||
"bin": {
|
||||
"uuid": "./bin/uuid"
|
||||
},
|
||||
"browser": {
|
||||
"./lib/rng.js": "./lib/rng-browser.js",
|
||||
"./lib/sha1.js": "./lib/sha1-browser.js",
|
||||
"./lib/md5.js": "./lib/md5-browser.js"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/kelektiv/node-uuid/issues"
|
||||
},
|
||||
"name": "uuid",
|
||||
"version": "3.3.2",
|
||||
"description": "RFC4122 (v1, v4, and v5) UUIDs",
|
||||
"commitlint": {
|
||||
"extends": [
|
||||
"@commitlint/config-conventional"
|
||||
]
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Robert Kieffer",
|
||||
"email": "robert@broofa.com"
|
||||
},
|
||||
{
|
||||
"name": "Christoph Tavan",
|
||||
"email": "dev@tavan.de"
|
||||
},
|
||||
{
|
||||
"name": "AJ ONeal",
|
||||
"email": "coolaj86@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Vincent Voyer",
|
||||
"email": "vincent@zeroload.net"
|
||||
},
|
||||
{
|
||||
"name": "Roman Shtylman",
|
||||
"email": "shtylman@gmail.com"
|
||||
}
|
||||
"keywords": [
|
||||
"uuid",
|
||||
"guid",
|
||||
"rfc4122"
|
||||
],
|
||||
"description": "RFC4122 (v1, v4, and v5) UUIDs",
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"uuid": "./bin/uuid"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "7.0.0",
|
||||
"@commitlint/config-conventional": "7.0.1",
|
||||
@@ -76,24 +25,24 @@
|
||||
"runmd": "1.0.1",
|
||||
"standard-version": "4.4.0"
|
||||
},
|
||||
"homepage": "https://github.com/kelektiv/node-uuid#readme",
|
||||
"keywords": [
|
||||
"uuid",
|
||||
"guid",
|
||||
"rfc4122"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "uuid",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/kelektiv/node-uuid.git"
|
||||
},
|
||||
"scripts": {
|
||||
"commitmsg": "commitlint -E GIT_PARAMS",
|
||||
"test": "mocha test/test.js",
|
||||
"md": "runmd --watch --output=README.md README_js.md",
|
||||
"prepare": "runmd --output=README.md README_js.md",
|
||||
"release": "standard-version",
|
||||
"test": "mocha test/test.js"
|
||||
"prepare": "runmd --output=README.md README_js.md"
|
||||
},
|
||||
"version": "3.3.2"
|
||||
}
|
||||
"browser": {
|
||||
"./lib/rng.js": "./lib/rng-browser.js",
|
||||
"./lib/sha1.js": "./lib/sha1-browser.js",
|
||||
"./lib/md5.js": "./lib/md5-browser.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/kelektiv/node-uuid.git"
|
||||
}
|
||||
|
||||
,"_resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz"
|
||||
,"_integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
|
||||
,"_from": "uuid@3.3.2"
|
||||
}
|
||||
Generated
+6
-6
@@ -2800,9 +2800,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"handlebars": {
|
||||
"version": "4.5.3",
|
||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz",
|
||||
"integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==",
|
||||
"version": "4.5.1",
|
||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.1.tgz",
|
||||
"integrity": "sha512-C29UoFzHe9yM61lOsIlCE5/mQVGrnIOrOq7maQl76L7tYPCgC1og0Ajt6uWnX4ZTxBPnjw+CUvawphwCfJgUnA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"neo-async": "^2.6.0",
|
||||
@@ -5868,9 +5868,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"uglify-js": {
|
||||
"version": "3.6.9",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.9.tgz",
|
||||
"integrity": "sha512-pcnnhaoG6RtrvHJ1dFncAe8Od6Nuy30oaJ82ts6//sGSXOP5UjBMEthiProjXmMNHOfd93sqlkztifFMcb+4yw==",
|
||||
"version": "3.6.7",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.7.tgz",
|
||||
"integrity": "sha512-4sXQDzmdnoXiO+xvmTzQsfIiwrjUCSA95rSP4SEd8tDb51W2TiDOlL76Hl+Kw0Ie42PSItCW8/t6pBNCF2R48A==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
|
||||
+5
-12
@@ -1,13 +1,13 @@
|
||||
import * as exec from '@actions/exec';
|
||||
|
||||
const EMULATOR_BOOT_TIMEOUT_SECONDS = 300;
|
||||
const EMULATOR_BOOT_TIMEOUT_SECONDS = 120;
|
||||
const AVD_MANAGER_PATH = `${process.env.ANDROID_HOME}/tools/bin/avdmanager`;
|
||||
const ADB_PATH = `${process.env.ANDROID_HOME}/platform-tools/adb`;
|
||||
|
||||
/**
|
||||
* Creates and launches a new AVD instance with the specified configurations.
|
||||
*/
|
||||
export async function launchEmulator(apiLevel: number, target: string, arch: string, profile: string, emulatorOptions: string, disableAnimations: boolean): Promise<void> {
|
||||
export async function launchEmulator(apiLevel: number, target: string, arch: string, profile: string, headless: boolean, disableAnimations: boolean): Promise<void> {
|
||||
// create a new AVD
|
||||
if (profile.trim() !== '') {
|
||||
console.log(`Creating AVD with custom profile ${profile}`);
|
||||
@@ -19,15 +19,8 @@ export async function launchEmulator(apiLevel: number, target: string, arch: str
|
||||
|
||||
// start emulator
|
||||
console.log('Starting emulator.');
|
||||
await exec.exec(`sh -c \\"${process.env.ANDROID_HOME}/emulator/emulator -avd test ${emulatorOptions} &"`, [], {
|
||||
listeners: {
|
||||
stderr: (data: Buffer) => {
|
||||
if (data.toString().includes('invalid command-line parameter')) {
|
||||
throw new Error(data.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
const noWindow = headless ? '-no-window' : '';
|
||||
await exec.exec(`sh -c \\"${process.env.ANDROID_HOME}/emulator/emulator -avd test ${noWindow} -no-snapshot -noaudio -no-boot-anim &"`);
|
||||
|
||||
// wait for emulator to complete booting
|
||||
await waitForDevice();
|
||||
@@ -78,7 +71,7 @@ async function waitForDevice(): Promise<void> {
|
||||
break;
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error.message);
|
||||
console.error(error.message);
|
||||
}
|
||||
|
||||
if (attempts < maxAttemps) {
|
||||
|
||||
@@ -23,6 +23,12 @@ export function checkArch(arch: string): void {
|
||||
}
|
||||
}
|
||||
|
||||
export function checkHeadless(headless: string): void {
|
||||
if (headless !== 'true' && headless !== 'false') {
|
||||
throw new Error(`Input for input.headless should be either 'true' or 'false'.`);
|
||||
}
|
||||
}
|
||||
|
||||
export function checkDisableAnimations(disableAnimations: string): void {
|
||||
if (disableAnimations !== 'true' && disableAnimations !== 'false') {
|
||||
throw new Error(`Input for input.disable-animations should be either 'true' or 'false'.`);
|
||||
|
||||
+13
-11
@@ -1,6 +1,6 @@
|
||||
import * as core from '@actions/core';
|
||||
import { installAndroidSdk } from './sdk-installer';
|
||||
import { checkApiLevel, checkTarget, checkArch, checkDisableAnimations } from './input-validator';
|
||||
import { checkApiLevel, checkTarget, checkArch, checkHeadless, checkDisableAnimations } from './input-validator';
|
||||
import { launchEmulator, killEmulator } from './emulator-manager';
|
||||
import * as exec from '@actions/exec';
|
||||
|
||||
@@ -31,9 +31,11 @@ async function run() {
|
||||
const profile = core.getInput('profile');
|
||||
console.log(`Hardware profile: ${profile}`);
|
||||
|
||||
// emulator options
|
||||
const emulatorOptions = core.getInput('emulator-options').trim();
|
||||
console.log(`emulator options: ${emulatorOptions}`);
|
||||
// headless mode
|
||||
const headlessInput = core.getInput('headless');
|
||||
checkHeadless(headlessInput);
|
||||
const headless = headlessInput === 'true';
|
||||
console.log(`headless mode: ${headless}`);
|
||||
|
||||
// disable animations
|
||||
const disableAnimationsInput = core.getInput('disable-animations');
|
||||
@@ -44,14 +46,14 @@ async function run() {
|
||||
// custom scrpt to run
|
||||
const script = core.getInput('script', { required: true });
|
||||
|
||||
// install SDK
|
||||
await installAndroidSdk(apiLevel, target, arch);
|
||||
|
||||
// launch an emulator
|
||||
await launchEmulator(apiLevel, target, arch, profile, headless, disableAnimations);
|
||||
|
||||
// execute the custom script
|
||||
try {
|
||||
// install SDK
|
||||
await installAndroidSdk(apiLevel, target, arch);
|
||||
|
||||
// launch an emulator
|
||||
await launchEmulator(apiLevel, target, arch, profile, emulatorOptions, disableAnimations);
|
||||
|
||||
// execute the custom script
|
||||
await exec.exec(`${script}`);
|
||||
} catch (error) {
|
||||
core.setFailed(error.message);
|
||||
|
||||
Reference in New Issue
Block a user