mirror of
https://github.com/open-goal/launcher.git
synced 2024-10-19 14:47:36 -04:00
ci: include a .app
release, include macOS in release metadata generation
This commit is contained in:
parent
d3871838cd
commit
2ce541714e
2
.github/workflows/release.yaml
vendored
2
.github/workflows/release.yaml
vendored
|
@ -173,7 +173,7 @@ jobs:
|
|||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RELEASE_ID: ${{needs.create-release.outputs.release_id}}
|
||||
EXPECTED_ASSET_NAME_REGEXES: '[".*AppImage", ".*AppImage.tar.gz", ".*AppImage.tar.gz.sig", ".*msi", ".*AppImage.msi.zip", ".*msi.zip.sig", ".*dmg", ".*dmg.tar.gz", ".*dmg.tar.gz.sig", "latest.json"]'
|
||||
EXPECTED_ASSET_NAME_REGEXES: '[".*AppImage", ".*AppImage.tar.gz", ".*AppImage.tar.gz.sig", ".*msi", ".*AppImage.msi.zip", ".*msi.zip.sig", ".*dmg", ".*app", ".*app.tar.gz", ".*app.tar.gz.sig", "latest.json"]'
|
||||
run: yarn verify-release-assets
|
||||
|
||||
publish-release:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "opengoal-launcher",
|
||||
"private": true,
|
||||
"version": "2.2.0",
|
||||
"version": "2.1.4",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
|
|
@ -128,7 +128,7 @@ if (launcherRelease === undefined) {
|
|||
// Get changes for the launcher
|
||||
const launcherChanges = changesFromBody(launcherRelease.body);
|
||||
|
||||
// Retrieve linux and windows signatures
|
||||
// Retrieve application bundle signatures
|
||||
const { data: releaseAssets } = await octokit.rest.repos.listReleaseAssets({
|
||||
owner: "open-goal",
|
||||
repo: "launcher",
|
||||
|
@ -138,6 +138,7 @@ const { data: releaseAssets } = await octokit.rest.repos.listReleaseAssets({
|
|||
|
||||
let linuxSignature = "";
|
||||
let windowsSignature = "";
|
||||
let macosSignature = "";
|
||||
for (var i = 0; i < releaseAssets.length; i++) {
|
||||
const asset = releaseAssets[i];
|
||||
if (asset.name.toLowerCase().endsWith("appimage.tar.gz.sig")) {
|
||||
|
@ -162,9 +163,19 @@ for (var i = 0; i < releaseAssets.length; i++) {
|
|||
});
|
||||
windowsSignature = Buffer.from(assetDownload.data).toString();
|
||||
}
|
||||
if (asset.name.toLowerCase().endsWith("app.tar.gz.sig")) {
|
||||
const assetDownload = await octokit.rest.repos.getReleaseAsset({
|
||||
owner: "open-goal",
|
||||
repo: "launcher",
|
||||
asset_id: asset.id,
|
||||
headers: {
|
||||
Accept: "application/octet-stream",
|
||||
},
|
||||
});
|
||||
macosSignature = Buffer.from(assetDownload.data).toString();
|
||||
}
|
||||
}
|
||||
|
||||
// TODO - no macOS yet
|
||||
const releaseMeta = {
|
||||
name: launcherRelease.tag_name,
|
||||
notes: JSON.stringify({
|
||||
|
@ -190,6 +201,15 @@ const releaseMeta = {
|
|||
"",
|
||||
)}_x64_en-US.msi.zip`,
|
||||
},
|
||||
"macos-x86_64": {
|
||||
signature: windowsSignature,
|
||||
url: `https://github.com/open-goal/launcher/releases/download/${
|
||||
launcherRelease.tag_name
|
||||
}/OpenGOAL-Launcher_${launcherRelease.tag_name.replace(
|
||||
"v",
|
||||
"",
|
||||
)}_x64.app.tar.gz`,
|
||||
},
|
||||
},
|
||||
};
|
||||
fs.writeFileSync(
|
||||
|
|
|
@ -54,6 +54,7 @@ const assets = await octokit.rest.repos.listReleaseAssets({
|
|||
release_id: releaseId,
|
||||
per_page: 100,
|
||||
});
|
||||
console.log(assets);
|
||||
|
||||
let expectedAssetNameRegexes = process.env.EXPECTED_ASSET_NAME_REGEXES;
|
||||
if (expectedAssetNameRegexes === undefined || expectedAssetNameRegexes === "") {
|
||||
|
@ -61,20 +62,18 @@ if (expectedAssetNameRegexes === undefined || expectedAssetNameRegexes === "") {
|
|||
process.exit(1);
|
||||
}
|
||||
expectedAssetNameRegexes = JSON.parse(expectedAssetNameRegexes);
|
||||
|
||||
let missingAsset = false;
|
||||
for (const asset of assets.data) {
|
||||
const assetName = asset.name;
|
||||
let matchFound = false;
|
||||
for (const expectedAssetNameRegex of expectedAssetNameRegexes) {
|
||||
if (new RegExp(expectedAssetNameRegex).test(assetName)) {
|
||||
matchFound = true;
|
||||
for (const expectedAssetRegex of expectedAssetNameRegexes) {
|
||||
let assetMatchFound = false;
|
||||
for (const asset of assets.data) {
|
||||
if (new RegExp(expectedAssetRegex).test(asset.name)) {
|
||||
assetMatchFound = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!matchFound) {
|
||||
if (!assetMatchFound) {
|
||||
console.log(
|
||||
`Asset name does not match any of the expected regexes: ${assetName}`,
|
||||
`No assets matched ${expectedAssetRegex}`,
|
||||
);
|
||||
missingAsset = true;
|
||||
}
|
||||
|
|
2
src-tauri/Cargo.lock
generated
2
src-tauri/Cargo.lock
generated
|
@ -2535,7 +2535,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "opengoal-launcher"
|
||||
version = "2.2.0"
|
||||
version = "2.1.4"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"chrono",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "opengoal-launcher"
|
||||
version = "2.2.0" # APP_VERSION
|
||||
version = "2.1.4" # APP_VERSION
|
||||
description = "A frontend for the OpenGOAL project"
|
||||
authors = ["OpenGOAL"]
|
||||
license = "ISC"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"package": {
|
||||
"productName": "OpenGOAL-Launcher",
|
||||
"version": "2.2.0"
|
||||
"version": "2.1.4"
|
||||
},
|
||||
"build": {
|
||||
"distDir": "../dist",
|
||||
|
@ -15,8 +15,9 @@
|
|||
"targets": [
|
||||
"msi",
|
||||
"appimage",
|
||||
"updater",
|
||||
"dmg"
|
||||
"app",
|
||||
"dmg",
|
||||
"updater"
|
||||
],
|
||||
"appimage": {
|
||||
"bundleMediaFramework": true
|
||||
|
|
Loading…
Reference in a new issue