Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: update electron-builder and Azure pipeline configurations #1404

Merged
merged 13 commits into from
Mar 28, 2024

Conversation

eglitise
Copy link
Collaborator

@eglitise eglitise commented Mar 28, 2024

This PR updates the configuration for electron-builder (which generates OS-specific application packages) and the Azure pipeline that is triggered during the release process (which is where electron-builder is run):

  • Update Azure VMs to latest OS images
  • Bump NodeTool@0 & Node 16 to UseNode@1 & Node 20
  • Move electron-builder config to a separate file for clarity
  • Generate x64 and arm64 builds for all 3 OSes
    • Remove Windows ia32 builds
    • Split macOS universal artifacts into x64 and arm64 artifacts (smaller download)
  • Use common naming format for all artifacts
    • Note that Linux x64 AppImage is for some reason generated with the x86_64 suffix instead of x64
  • Add tar.gz artifacts for Linux
  • Add entitlements file for macOS (likely only relevant after updating to Electron 20+)

As a result of these changes, I believe the number of generated artifacts will now increase to 26.
Resolves #1400.

@eglitise eglitise added the chore Internal changes not visible to the user label Mar 28, 2024
Copy link
Member

@jlipps jlipps left a comment

Choose a reason for hiding this comment

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

looks great!

@eglitise eglitise merged commit 8b4903d into appium:main Mar 28, 2024
7 checks passed
@eglitise eglitise deleted the adjust-release-artifacts branch March 28, 2024 19:53
@@ -21,9 +21,9 @@ jobs:
steps:
- checkout: self
persistCredentials: true
- task: NodeTool@0
- task: UseNode@1
Copy link
Contributor

Choose a reason for hiding this comment

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

consider using lts node version alias instead of the hardcoded one

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'm not sure if Azure supports the lts value. The documentation only refers to semver values.

Copy link
Contributor

Choose a reason for hiding this comment

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

Oh, I forgot it's Azure. Perhaps it makes sense to migrate to GitHub CI

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I agree that GitHub CI would be more convenient, though I'm guessing there was a reason why Azure was originally selected. Maybe the machines are more powerful? It's also used in other Appium projects (e.g. xcuitest driver).

Copy link
Contributor

Choose a reason for hiding this comment

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

it was selected before github had any CI. Yes, it is still used, although not by xcuitest driver. It's used in webdriveragent because of the high amount of e2e tests we run there and the limited capability of free macOS-based runners on Github. Otherwise I would also migrate them.

Copy link
Member

Choose a reason for hiding this comment

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

Perhaps I tried to convert this project to GHA before. Then, I needed maybe Window's signature which probably needed Dan's help. We could restart migrating them.

laib3 pushed a commit to laib3/appium-inspector that referenced this pull request Nov 16, 2024
…#1404)

* ci: update azure VM images

* ci: update Node for Azure

* ci: always publish in x64 and arm64

* ci: move electron-builder config into own file for clarity

* ci: remove electron-builder nsisWeb option
nsis-web target is not used

* ci: slightly adjust common package options

* ci: remove electron-build filepaths already included by default

* ci: use common artifact name format

* ci: omit repeating default paths to app icon

* ci: build separate artifacts for both mac architectures

* ci: add tar.gz target for Linux

* ci: add entitlements file for mac signing

* chore: fix syntax for Azure UseNode task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Internal changes not visible to the user
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feature request: Linux arm64 version
4 participants