fix: allow google_apis_ps16k as a valid target (#440)

* test: remove target validator test

these appear to have too much maintenance burden as they only ever
add more over time

* fix: allow google_apis_ps16k and google_apis_playstore_ps16k as valid targets

Fixes #403

Co-authored-by: Yang <reactivecircus@gmail.com>

* fix: remove target validation entirely, any valid sdkmanager target will work

no longer requires code changes here to access new targets

---------

Co-authored-by: Yang <reactivecircus@gmail.com>
This commit is contained in:
Mike Hardy
2025-07-01 20:45:42 -05:00
committed by GitHub
parent f2bf410054
commit 66283c0319
7 changed files with 21 additions and 118 deletions
+6 -18
View File
@@ -1,27 +1,15 @@
export const MIN_API_LEVEL = 15;
export const VALID_TARGETS: Array<string> = [
'default',
'google_apis',
'aosp_atd',
'google_atd',
'google_apis_playstore',
'android-wear',
'android-wear-cn',
'android-tv',
'google-tv',
'android-automotive',
'android-automotive-playstore',
'android-desktop',
];
export const VALID_ARCHS: Array<string> = ['x86', 'x86_64', 'arm64-v8a'];
export const VALID_CHANNELS: Array<string> = ['stable', 'beta', 'dev', 'canary'];
export const MIN_PORT = 5554;
export const MAX_PORT = 5584;
export function checkTarget(target: string): void {
if (!VALID_TARGETS.includes(target)) {
throw new Error(`Value for input.target '${target}' is unknown. Supported options: ${VALID_TARGETS}.`);
}
export function playstoreTargetSubstitution(target: string): string {
// "playstore" is an allowed shorthand for "google_apis_playstore" images
// this is idempotent - return same even if run multiple times on same target
if (target === 'playstore') return 'google_apis_playstore';
if (target === 'playstore_ps16k') return 'google_apis_playstore_ps16k';
return target;
}
export function checkArch(arch: string): void {
+2 -4
View File
@@ -1,7 +1,6 @@
import * as core from '@actions/core';
import { installAndroidSdk } from './sdk-installer';
import {
checkTarget,
checkArch,
checkDisableAnimations,
checkEmulatorBuild,
@@ -12,6 +11,7 @@ import {
checkEnableHardwareKeyboard,
checkDiskSize,
checkPort,
playstoreTargetSubstitution,
MIN_PORT,
} from './input-validator';
import { createAvd, launchEmulator, killEmulator } from './emulator-manager';
@@ -52,9 +52,7 @@ async function run() {
console.log(`System image API level: ${systemImageApiLevel}`);
// target of the system image
const targetInput = core.getInput('target');
const target = targetInput == 'playstore' ? 'google_apis_playstore' : targetInput;
checkTarget(target);
const target = playstoreTargetSubstitution(core.getInput('target'));
console.log(`target: ${target}`);
// CPU architecture of the system image