Skip to content

Commit b2b6b55

Browse files
Nanoflow Commons: Updating changelogs (#453)
2 parents 7f471c4 + 947c5f9 commit b2b6b55

5 files changed

Lines changed: 38 additions & 18 deletions

File tree

.github/workflows/MarketplaceRelease.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ jobs:
4848
CPAPI_USERNAME: ${{ secrets.CPAPI_USERNAME }}
4949
CPAPI_PASS_PROD: ${{ secrets.CPAPI_PASS_PROD }}
5050
TAG: ${{ steps.variables.outputs.tag }}
51+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5152
- name: "Send slack msg on failure"
5253
if: ${{ failure() }}
5354
uses: ./.github/actions/slack-notification

packages/jsActions/mobile-resources-native/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,4 @@
5454
"rimraf": "^4.4.1",
5555
"rollup": "^2.79.2"
5656
}
57-
}
57+
}

packages/jsActions/nanoflow-actions-native/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66

77
## [Unreleased]
88

9+
## [5.2.1] Nanoflow Commons - 2026-3-4
910
- We fixed an issue with @react-native-community/geolocation where Android devices had difficulty obtaining precise location data.
1011

1112
### Fixed

packages/jsActions/nanoflow-actions-native/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "nanoflow-actions-native",
33
"moduleName": "Nanoflow Commons",
4-
"version": "5.2.0",
4+
"version": "5.2.1",
55
"license": "Apache-2.0",
66
"copyright": "© Mendix Technology BV 2022. All rights reserved.",
77
"repository": {
@@ -37,4 +37,4 @@
3737
"mendix": "~10.0.9976",
3838
"rollup": "^2.79.2"
3939
}
40-
}
40+
}

scripts/release/marketplaceRelease.js

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -53,22 +53,40 @@ async function uploadModuleToAppStore(pkgName, marketplaceId, version, minimumMX
5353

5454
async function getGithubAssetUrl() {
5555
console.log("Retrieving informations from Github Tag");
56-
const request = await fetch("GET", "https://api.github.com/repos/mendix/native-widgets/releases?per_page=10");
57-
const data = (await request) ?? [];
58-
const releaseId = data.find(info => info.tag_name === process.env.TAG)?.id;
59-
if (!releaseId) {
60-
throw new Error(`Could not find release with tag ${process.env.TAG} on GitHub`);
61-
}
62-
const assetsRequest = await fetch(
63-
"GET",
64-
`https://api.github.com/repos/mendix/native-widgets/releases/${releaseId}/assets`
65-
);
66-
const assetsData = (await assetsRequest) ?? [];
67-
const downloadUrl = assetsData.find(asset => asset.name.endsWith(".mpk"))?.browser_download_url;
68-
if (!downloadUrl) {
69-
throw new Error(`Could not retrieve MPK url from GitHub release with tag ${process.env.TAG}`);
56+
const tag = process.env.TAG;
57+
const githubHeaders = process.env.GITHUB_TOKEN ? { Authorization: `Bearer ${process.env.GITHUB_TOKEN}` } : {};
58+
59+
// Use direct tag lookup endpoint instead of listing releases
60+
// This avoids pagination issues and is more reliable
61+
const maxRetries = 5;
62+
const retryDelayMs = 5000;
63+
64+
for (let attempt = 1; attempt <= maxRetries; attempt++) {
65+
console.log(`Attempt ${attempt}/${maxRetries}: Fetching release for tag ${tag}`);
66+
67+
const releaseData = await fetch(
68+
"GET",
69+
`https://api.github.com/repos/mendix/native-widgets/releases/tags/${tag}`,
70+
undefined,
71+
githubHeaders
72+
);
73+
74+
if (releaseData && releaseData.id) {
75+
console.log(`Found release: ${releaseData.name} (id: ${releaseData.id})`);
76+
const downloadUrl = releaseData.assets?.find(asset => asset.name.endsWith(".mpk"))?.browser_download_url;
77+
if (!downloadUrl) {
78+
throw new Error(`Could not retrieve MPK url from GitHub release with tag ${tag}`);
79+
}
80+
return downloadUrl;
81+
}
82+
83+
if (attempt < maxRetries) {
84+
console.log(`Release not found yet, waiting ${retryDelayMs / 1000}s before retry...`);
85+
await new Promise(resolve => setTimeout(resolve, retryDelayMs));
86+
}
7087
}
71-
return downloadUrl;
88+
89+
throw new Error(`Could not find release with tag ${tag} on GitHub after ${maxRetries} attempts`);
7290
}
7391

7492
async function createDraft(marketplaceId, version, minimumMXVersion) {

0 commit comments

Comments
 (0)