@@ -87,6 +87,10 @@ const WINDOWS_X64_NAME_SUFFIX = "_x64-setup.exe";
8787const MAC_INTEL_NAME_SUFFIX = "_x64.dmg" ;
8888// "Phoenix.Code.Experimental.Build_3.4.2_aarch64.dmg"
8989const MAC_M1_NAME_SUFFIX = "_aarch64.dmg" ;
90+ // "phoenix-code-experimental-build_3.4.2.AppImage"
91+ const LINUX_APPIMAGE_NAME_SUFFIX = ".AppImage" ;
92+ // "phoenix-code-experimental-build_3.4.2.AppImage.sig"
93+ const LINUX_APPIMAGE_SIG_SUFFIX = ".AppImage.sig" ;
9094function _getDownloadURLByNameSuffix ( releaseAssets , suffix ) {
9195 for ( let releaseAsset of releaseAssets ) {
9296 if ( releaseAsset . name . endsWith ( suffix ) ) {
@@ -163,6 +167,26 @@ export default async function printStuff({github, context, githubWorkspaceRoot})
163167 console . log ( "Updating tauri update JSON file: " , _identifyUpdateJSONPath ( releaseAssets ) ) ;
164168 const latestJSON = JSON . parse ( await _getLatestJson ( releaseAssets ) ) ;
165169 latestJSON . notes = releaseNotes ;
170+
171+ // Add Linux AppImage to platforms (Electron build with minisign signature)
172+ try {
173+ const linuxAppImageURL = _getDownloadURLByNameSuffix ( releaseAssets , LINUX_APPIMAGE_NAME_SUFFIX ) ;
174+ let linuxSignature = "" ;
175+ try {
176+ const sigFileURL = _getDownloadURLByNameSuffix ( releaseAssets , LINUX_APPIMAGE_SIG_SUFFIX ) ;
177+ linuxSignature = await _getTextHTTPS ( sigFileURL ) ;
178+ console . log ( "Linux AppImage signature: " , linuxSignature ) ;
179+ } catch ( sigErr ) {
180+ console . warn ( "Linux AppImage signature file not found, using empty signature" ) ;
181+ }
182+ latestJSON . platforms [ "linux-x86_64" ] = {
183+ "signature" : linuxSignature ,
184+ "url" : linuxAppImageURL
185+ } ;
186+ } catch ( e ) {
187+ console . warn ( "Linux AppImage not found in release assets, skipping linux-x86_64 platform" ) ;
188+ }
189+
166190 const latestJsonPath = `${ githubWorkspaceRoot } /docs/${ _identifyUpdateJSONPath ( releaseAssets ) } ` ;
167191 const currentVersion = getCurrentVersion ( latestJsonPath ) ;
168192 const latestVersion = latestJSON . version ;
@@ -179,6 +203,12 @@ export default async function printStuff({github, context, githubWorkspaceRoot})
179203 const windowsDownloadURL = _getDownloadURLByNameSuffix ( releaseAssets , WINDOWS_X64_NAME_SUFFIX ) ;
180204 const macM1DownloadURL = _getDownloadURLByNameSuffix ( releaseAssets , MAC_M1_NAME_SUFFIX ) ;
181205 const macIntelDownloadURL = _getDownloadURLByNameSuffix ( releaseAssets , MAC_INTEL_NAME_SUFFIX ) ;
206+ let linuxAppImageURL = null ;
207+ try {
208+ linuxAppImageURL = _getDownloadURLByNameSuffix ( releaseAssets , LINUX_APPIMAGE_NAME_SUFFIX ) ;
209+ } catch ( e ) {
210+ console . warn ( "Linux AppImage not found in release assets, skipping linux_appimage in install.json" ) ;
211+ }
182212 let installJSON = {
183213 "phcode.io.DownloadURL" : {
184214 "windows_x64" : windowsDownloadURL ,
@@ -187,6 +217,9 @@ export default async function printStuff({github, context, githubWorkspaceRoot})
187217 "chrome_os" : "https://play.google.com/store/apps/details?id=prod.phcode.twa"
188218 }
189219 } ;
220+ if ( linuxAppImageURL ) {
221+ installJSON [ "phcode.io.DownloadURL" ] [ "linux_appimage" ] = linuxAppImageURL ;
222+ }
190223 installJSON = JSON . stringify ( installJSON , null , 4 ) ;
191224 console . log ( "writing install.json to path: " , installJsonPath , " contents: " , installJSON )
192225 fs . writeFileSync ( installJsonPath , installJSON ) ;
0 commit comments