mirror of
https://github.com/hanzoai/desktop.git
synced 2026-10-30 14:58:42 +00:00
Add aarch64-unknown-linux-gnu to the release matrix (built on spark), with fail-fast:false so an unvalidated arm64 build never blocks the other platforms. Linux build/deps steps now gate on contains(matrix.arch,'linux'); updater manifest gains an optional linux-aarch64 platform. NOTE: arm64 Linux build itself needs a CI release run to validate (side-binary availability + spark build deps). Co-authored-by: Hanzo Dev <[email protected]>
53 lines
1.4 KiB
TypeScript
Executable File
53 lines
1.4 KiB
TypeScript
Executable File
import fs from 'fs';
|
|
import { formatRFC3339 } from 'date-fns';
|
|
import z from 'zod';
|
|
|
|
const envSchema = z.object({
|
|
JSON_PATH: z.string().min(1),
|
|
VERSION: z.string().min(5),
|
|
NOTES: z.string().min(1),
|
|
PUB_DATE: z.string().optional(),
|
|
DARWIN_AARCH64_SIGNATURE: z.string().min(1),
|
|
DARWIN_AARCH64_URL: z.string().url(),
|
|
LINUX_x86_64_SIGNATURE: z.string().min(1),
|
|
LINUX_x86_64_URL: z.string().url(),
|
|
LINUX_AARCH64_SIGNATURE: z.string().optional(),
|
|
LINUX_AARCH64_URL: z.string().url().optional(),
|
|
WINDOWS_x86_64_SIGNATURE: z.string().min(1),
|
|
WINDOWS_x86_64_URL: z.string().url(),
|
|
});
|
|
|
|
type Env = z.infer<typeof envSchema>;
|
|
|
|
const env: Env = envSchema.parse(process.env);
|
|
|
|
const updatesJson = {
|
|
version: env.VERSION,
|
|
notes: env.NOTES,
|
|
pub_date: env.PUB_DATE || formatRFC3339(new Date()),
|
|
platforms: {
|
|
'darwin-aarch64': {
|
|
signature: env.DARWIN_AARCH64_SIGNATURE,
|
|
url: env.DARWIN_AARCH64_URL,
|
|
},
|
|
'linux-x86_64': {
|
|
signature: env.LINUX_x86_64_SIGNATURE,
|
|
url: env.LINUX_x86_64_URL,
|
|
},
|
|
...(env.LINUX_AARCH64_SIGNATURE && env.LINUX_AARCH64_URL
|
|
? {
|
|
'linux-aarch64': {
|
|
signature: env.LINUX_AARCH64_SIGNATURE,
|
|
url: env.LINUX_AARCH64_URL,
|
|
},
|
|
}
|
|
: {}),
|
|
'windows-x86_64': {
|
|
signature: env.WINDOWS_x86_64_SIGNATURE,
|
|
url: env.WINDOWS_x86_64_URL,
|
|
},
|
|
},
|
|
};
|
|
|
|
fs.writeFileSync(env.JSON_PATH, JSON.stringify(updatesJson, null, 2));
|