Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[No QA]Handle other cases during production release automation for HybridApp #53667

Merged
merged 23 commits into from
Dec 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: 'Get Android Rollout percentage'
description: 'Gets the current Android track rollout percentage.'
inputs:
GOOGLE_KEY_FILE:
description: Authentication file for Google Cloud API
required: true
PACKAGE_NAME:
description: Package name to check the status of
required: true
outputs:
CURRENT_ROLLOUT_PERCENTAGE:
description: 'The current rollout percentage of the track'
runs:
using: 'node20'
main: './index.js'
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import * as core from '@actions/core';
import {google} from 'googleapis';

const PACKAGE_NAME = core.getInput('PACKAGE_NAME', {required: true});
const GOOGLE_KEY_FILE = core.getInput('GOOGLE_KEY_FILE', {required: true});

async function getAndroidRolloutPercentage() {
const auth = new google.auth.GoogleAuth({
keyFile: GOOGLE_KEY_FILE,
scopes: ['https://www.googleapis.com/auth/androidpublisher'],
});

const androidApi = google.androidpublisher({
version: 'v3',
auth,
});

try {
// The Google Play API requires an edit ID to make changes to the app
const editResponse = await androidApi.edits.insert({
packageName: PACKAGE_NAME,
});
const editId = editResponse.data.id ?? 'undefined';

// Get the production track status
const trackResponse = await androidApi.edits.tracks.get({
packageName: PACKAGE_NAME,
editId,
track: 'production',
});

const userFraction = trackResponse.data.releases?.[0]?.userFraction ?? '-1';
console.log('Track response', JSON.stringify(trackResponse.data));
console.log('Current Android rollout percentage:', userFraction);

core.setOutput('CURRENT_ROLLOUT_PERCENTAGE', userFraction);
} catch (error) {
console.error('Error checking track status:', error);
process.exit(1);
}
}

getAndroidRolloutPercentage().then(() => {});
Loading
Loading