Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/versioning-and-updates.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Studio uses Electron's built-in auto-updater to check for updates. The update fe
is constructed dynamically based on the current platform, architecture, and version,
and queries the WordPress.com API endpoint:

`https://public-api.wordpress.com/wpcom/v2/studio-app/updates?platform={platform}&arch={arch}&version={version}`
`https://public-api.wordpress.com/wpcom/v2/studio-app/updates?platform={platform}&localStudioArch={localStudioArch}&version={version}`

The API returns information about available updates, and the app downloads and installs
them automatically. See `src/updates.ts` for the implementation.
68 changes: 34 additions & 34 deletions fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -142,79 +142,79 @@ def distribute_builds(
binary_path: File.join(BUILDS_FOLDER, 'Studio-darwin-x64', 'Studio.app.zip'),

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just fixed tabs, nothing changed here

name: 'Mac Intel',
platform: 'Mac - Intel',
arch: 'x64',
arch: 'x64',
install_type: 'Update',
sha: commit_hash
},
arm64: {
binary_path: File.join(BUILDS_FOLDER, 'Studio-darwin-arm64', 'Studio.app.zip'),
name: 'Mac Apple Silicon',
platform: 'Mac - Silicon',
arch: 'arm64',
arch: 'arm64',
install_type: 'Update',
sha: commit_hash
},
windows_update: {
binary_path: File.join(BUILDS_FOLDER, 'make', 'squirrel.windows', 'x64', "studio-update.nupkg"),
name: 'Windows - x64 Update',
platform: 'Windows - x64',
arch: 'x64',
arch: 'x64',
install_type: 'Update',
sha: get_windows_update_release_sha(arch: 'x64')
},
windows_arm64_update: {
binary_path: File.join(BUILDS_FOLDER, 'make', 'squirrel.windows', 'arm64', "studio-update.nupkg"),
name: 'Windows - ARM64 Update',
platform: 'Windows - ARM64',
arch: 'arm64',
install_type: 'Update',
sha: get_windows_update_release_sha(arch: 'arm64')
}
windows_arm64_update: {
binary_path: File.join(BUILDS_FOLDER, 'make', 'squirrel.windows', 'arm64', "studio-update.nupkg"),
name: 'Windows - ARM64 Update',
platform: 'Windows - ARM64',
arch: 'arm64',
install_type: 'Update',
sha: get_windows_update_release_sha(arch: 'arm64')
}
}

full_install_builds = {
x64_dmg: {
binary_path: File.join(BUILDS_FOLDER, 'Studio-darwin-x64.dmg'),
name: 'Mac Intel (DMG)',
platform: 'Mac - Intel',
arch: 'x64',
arch: 'x64',
install_type: 'Full Install'
},
arm64_dmg: {
binary_path: File.join(BUILDS_FOLDER, 'Studio-darwin-arm64.dmg'),
name: 'Mac Apple Silicon (DMG)',
platform: 'Mac - Silicon',
arch: 'arm64',
arch: 'arm64',
install_type: 'Full Install',
},
windows: {
binary_path: File.join(BUILDS_FOLDER, 'make', 'squirrel.windows', 'x64', 'studio-setup.exe'),
name: 'Windows - x64',
platform: 'Windows - x64',
arch: 'x64',
arch: 'x64',
install_type: 'Full Install'
},
windows_arm64: {
windows_arm64: {
binary_path: File.join(BUILDS_FOLDER, 'make', 'squirrel.windows', 'arm64', 'studio-setup.exe'),
name: 'Windows - ARM64',
platform: 'Windows - ARM64',
arch: 'arm64',
arch: 'arm64',
install_type: 'Full Install'
},
windows_appx_unsigned: {
binary_path: File.join(BUILDS_FOLDER, 'Studio-appx-x64-unsigned', "Studio #{appx_version} unsigned.appx"),
name: 'Windows - x64 (Unsigned Appx)',
platform: 'Microsoft Store - x64',
arch: 'x64',
install_type: 'Full Install',
},
windows_arm64_appx_unsigned: {
binary_path: File.join(BUILDS_FOLDER, 'Studio-appx-arm64-unsigned', "Studio #{appx_version} unsigned.appx"),
name: 'Windows - ARM64 (Unsigned Appx)',
platform: 'Microsoft Store - ARM64',
arch: 'arm64',
install_type: 'Full Install',
},
windows_appx_unsigned: {
binary_path: File.join(BUILDS_FOLDER, 'Studio-appx-x64-unsigned', "Studio #{appx_version} unsigned.appx"),
name: 'Windows - x64 (Unsigned Appx)',
platform: 'Microsoft Store - x64',
arch: 'x64',
install_type: 'Full Install',
},
windows_arm64_appx_unsigned: {
binary_path: File.join(BUILDS_FOLDER, 'Studio-appx-arm64-unsigned', "Studio #{appx_version} unsigned.appx"),
name: 'Windows - ARM64 (Unsigned Appx)',
platform: 'Microsoft Store - ARM64',
arch: 'arm64',
install_type: 'Full Install',
},
}

builds_to_upload = release_tag.nil? ? update_builds : { **update_builds, **full_install_builds }
Expand Down Expand Up @@ -258,7 +258,7 @@ end
def create_versioned_file(original_file_path:, version:, arch:)
original_filename = File.basename(original_file_path)
if original_filename.match(/\.app\.zip$/i)
original_filename = original_filename.gsub(/\.app\.zip$/i, '')
original_filename = original_filename.gsub(/\.app\.zip$/i, '')
extension = '.zip'
elsif original_filename.match(/\.nupkg$/i)
original_filename = original_filename.gsub(/\.nupkg$/i, '')
Expand All @@ -284,9 +284,9 @@ end
def upload_file_to_apps_cdn(site_id:, product:, file_path:, platform:, arch:, build_type:, install_type: 'Full Install', visibility:, version:, build_number:, release_notes:, sha: nil, error_on_duplicate:, dry_run: DRY_RUN)
versioned_file_path = create_versioned_file(original_file_path: file_path, version:, arch:)

if !File.exist?(versioned_file_path)
UI.user_error!("File #{versioned_file_path} does not exist")
end
if !File.exist?(versioned_file_path)
UI.user_error!("File #{versioned_file_path} does not exist")
end

if dry_run
media_url = "https://appscdn.wordpress.com/downloads/wordpress-com-studio/#{platform}/#{version}/#{build_number}"
Expand Down
2 changes: 1 addition & 1 deletion src/updates.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export function setupUpdates() {

const url = new URL( 'https://public-api.wordpress.com/wpcom/v2/studio-app/updates' );
url.searchParams.append( 'platform', process.platform );
url.searchParams.append( 'arch', process.arch );
url.searchParams.append( 'localStudioArch', process.arch );
url.searchParams.append( 'version', app.getVersion() );

autoUpdater.setFeedURL( { url: url.toString() } );
Expand Down
Loading