Added 'releaseFile' back to action to maintain backwards compatibility.
This commit is contained in:
13
README.md
13
README.md
@@ -18,9 +18,14 @@ The service account json in plain text, provided via a secret, etc.
|
||||
|
||||
**Required:** The package name, or Application Id, of the app you are uploading
|
||||
|
||||
### `releaseFiles`
|
||||
### `releaseFile`
|
||||
**DEPRECATED:** Please switch to using `releaseFiles` as this will be removed in the future
|
||||
The Android release file to upload (.apk or .aab)
|
||||
|
||||
**Required:** The Android release file(s) to upload (.apk or .aab). Multiple files are separated by ','.
|
||||
### `releaseFiles`
|
||||
**CAVEAT:** Either this or `releaseFile` are required
|
||||
|
||||
The Android release file(s) to upload (.apk or .aab). Multiple files are separated by ','.
|
||||
|
||||
### `releaseName`
|
||||
|
||||
@@ -29,14 +34,14 @@ The release name. Not required to be unique. If not set, the name is generated f
|
||||
### `track`
|
||||
|
||||
**Required:** The track in which you want to assign the uploaded app.
|
||||
**Default:** `production`
|
||||
**Default:** `production`
|
||||
_Values:_ `alpha`, `beta`, `internal`, `production`, `internalsharing`
|
||||
|
||||
### `inAppUpdatePriority`
|
||||
|
||||
In-app update priority of the release. All newly added APKs in the release will be considered at this priority. Can take values in the range [0, 5], with 5 the highest priority.
|
||||
|
||||
**Default:** `0`
|
||||
**Default:** `0`
|
||||
_Values:_ `[0, 5]`
|
||||
|
||||
### `userFraction`
|
||||
|
||||
@@ -14,9 +14,12 @@ inputs:
|
||||
packageName:
|
||||
description: 'The package name, or Application Id, of the app you are uploading'
|
||||
required: true
|
||||
releaseFile:
|
||||
description: 'The Android release file to upload (.apk or .aab)'
|
||||
required: false
|
||||
releaseFiles:
|
||||
description: "The Android release file(s) to upload (.apk or .aab). Separated by a ',' for multiple artifacts"
|
||||
required: true
|
||||
required: false
|
||||
releaseName:
|
||||
description: 'The name of this release. If not set it's generated automatically from the APKs versionName'
|
||||
required: false
|
||||
|
||||
30
lib/main.js
30
lib/main.js
@@ -36,12 +36,14 @@ const auth = new google.auth.GoogleAuth({
|
||||
scopes: ['https://www.googleapis.com/auth/androidpublisher']
|
||||
});
|
||||
function run() {
|
||||
var _a, _b;
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
try {
|
||||
const serviceAccountJson = core.getInput('serviceAccountJson', { required: false });
|
||||
const serviceAccountJsonRaw = core.getInput('serviceAccountJsonPlainText', { required: false });
|
||||
const packageName = core.getInput('packageName', { required: true });
|
||||
const releaseFiles = core.getInput('releaseFiles', { required: true }).split(',').filter(x => x !== '');
|
||||
const releaseFile = core.getInput('releaseFile', { required: false });
|
||||
const releaseFiles = ((_b = (_a = core.getInput('releaseFiles', { required: false })) === null || _a === void 0 ? void 0 : _a.split(',')) === null || _b === void 0 ? void 0 : _b.filter(x => x !== '')) || [];
|
||||
const releaseName = core.getInput('releaseName', { required: false });
|
||||
const track = core.getInput('track', { required: true });
|
||||
const inAppUpdatePriority = core.getInput('inAppUpdatePriority', { required: false });
|
||||
@@ -52,6 +54,7 @@ function run() {
|
||||
if (!serviceAccountJson && !serviceAccountJsonRaw) {
|
||||
console.log("No service account json key provided!");
|
||||
core.setFailed("You must provide one of 'serviceAccountJson' or 'serviceAccountJsonPlainText' to use this action");
|
||||
return;
|
||||
}
|
||||
// If the user has provided the raw plain text via secrets, or w/e, then write to file and
|
||||
// set appropriate env variable for the auth
|
||||
@@ -89,13 +92,32 @@ function run() {
|
||||
else {
|
||||
inAppUpdatePriorityInt = undefined;
|
||||
}
|
||||
// Check release files
|
||||
for (const releaseFile of releaseFiles) {
|
||||
// Check release files while maintaining backward compatibility
|
||||
let validatedReleaseFiles = [];
|
||||
if (releaseFiles.length == 0 && !releaseFile) {
|
||||
core.setFailed(`You must provide either 'releaseFile' or 'releaseFiles' in your configuration.`);
|
||||
return;
|
||||
}
|
||||
else if (releaseFiles.length == 0 && releaseFile) {
|
||||
core.warning(`WARNING!! 'releaseFile' is deprecated and will be removed in a future release. Please migrate to 'releaseFiles'.`);
|
||||
core.debug(`Validating ${releaseFile} exists`);
|
||||
if (!fs.existsSync(releaseFile)) {
|
||||
core.setFailed(`Unable to find release file @ ${releaseFile}`);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
validatedReleaseFiles = [releaseFile];
|
||||
}
|
||||
}
|
||||
else if (releaseFiles.length > 0) {
|
||||
for (const file of releaseFiles) {
|
||||
core.debug(`Validating ${file} exists`);
|
||||
if (!fs.existsSync(file)) {
|
||||
core.setFailed(`Unable to find release file @ ${file}`);
|
||||
return;
|
||||
}
|
||||
}
|
||||
validatedReleaseFiles = releaseFiles;
|
||||
}
|
||||
if (whatsNewDir != undefined && whatsNewDir.length > 0 && !fs.existsSync(whatsNewDir)) {
|
||||
core.setFailed(`Unable to find 'whatsnew' directory @ ${whatsNewDir}`);
|
||||
@@ -115,7 +137,7 @@ function run() {
|
||||
whatsNewDir: whatsNewDir,
|
||||
mappingFile: mappingFile,
|
||||
name: releaseName
|
||||
}, releaseFiles);
|
||||
}, validatedReleaseFiles);
|
||||
console.log(`Finished uploading to the Play Store`);
|
||||
}
|
||||
catch (error) {
|
||||
|
||||
30
src/main.ts
30
src/main.ts
@@ -12,7 +12,10 @@ async function run() {
|
||||
const serviceAccountJson = core.getInput('serviceAccountJson', { required: false });
|
||||
const serviceAccountJsonRaw = core.getInput('serviceAccountJsonPlainText', { required: false});
|
||||
const packageName = core.getInput('packageName', { required: true });
|
||||
const releaseFiles = core.getInput('releaseFiles', { required: true }).split(',').filter(x => x !== '');
|
||||
const releaseFile = core.getInput('releaseFile', { required: false });
|
||||
const releaseFiles = core.getInput('releaseFiles', { required: false })
|
||||
?.split(',')
|
||||
?.filter(x => x !== '') || [];
|
||||
const releaseName = core.getInput('releaseName', { required: false });
|
||||
const track = core.getInput('track', { required: true });
|
||||
const inAppUpdatePriority = core.getInput('inAppUpdatePriority', { required: false });
|
||||
@@ -24,6 +27,7 @@ async function run() {
|
||||
if (!serviceAccountJson && !serviceAccountJsonRaw) {
|
||||
console.log("No service account json key provided!");
|
||||
core.setFailed("You must provide one of 'serviceAccountJson' or 'serviceAccountJsonPlainText' to use this action");
|
||||
return;
|
||||
}
|
||||
|
||||
// If the user has provided the raw plain text via secrets, or w/e, then write to file and
|
||||
@@ -65,13 +69,29 @@ async function run() {
|
||||
inAppUpdatePriorityInt = undefined;
|
||||
}
|
||||
|
||||
// Check release files
|
||||
for (const releaseFile of releaseFiles) {
|
||||
// Check release files while maintaining backward compatibility
|
||||
let validatedReleaseFiles: string[] = [];
|
||||
if (releaseFiles.length == 0 && !releaseFile) {
|
||||
core.setFailed(`You must provide either 'releaseFile' or 'releaseFiles' in your configuration.`);
|
||||
return;
|
||||
} else if (releaseFiles.length == 0 && releaseFile) {
|
||||
core.warning(`WARNING!! 'releaseFile' is deprecated and will be removed in a future release. Please migrate to 'releaseFiles'.`);
|
||||
core.debug(`Validating ${releaseFile} exists`)
|
||||
if (!fs.existsSync(releaseFile)) {
|
||||
core.setFailed(`Unable to find release file @ ${releaseFile}`);
|
||||
return
|
||||
return;
|
||||
} else {
|
||||
validatedReleaseFiles = [releaseFile];
|
||||
}
|
||||
} else if (releaseFiles.length > 0) {
|
||||
for (const file of releaseFiles) {
|
||||
core.debug(`Validating ${file} exists`)
|
||||
if (!fs.existsSync(file)) {
|
||||
core.setFailed(`Unable to find release file @ ${file}`);
|
||||
return;
|
||||
}
|
||||
}
|
||||
validatedReleaseFiles = releaseFiles;
|
||||
}
|
||||
|
||||
if (whatsNewDir != undefined && whatsNewDir.length > 0 && !fs.existsSync(whatsNewDir)) {
|
||||
@@ -95,7 +115,7 @@ async function run() {
|
||||
whatsNewDir: whatsNewDir,
|
||||
mappingFile: mappingFile,
|
||||
name: releaseName
|
||||
}, releaseFiles);
|
||||
}, validatedReleaseFiles);
|
||||
|
||||
console.log(`Finished uploading to the Play Store`)
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user