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

feat(release): document manual release procedure #2129

Closed
wants to merge 11 commits into from
Closed

Conversation

kittaakos
Copy link
Contributor

@kittaakos kittaakos commented Jul 6, 2023

Motivation

The macOS M1 and Linux 18.04 builds are manual procedures. This PR documents it; preview link.

Change description

Other information

Reviewer checklist

  • PR addresses a single concern.
  • The PR has no duplicates (please search among the Pull Requests before creating one)
  • PR title and description are properly filled.
  • Docs have been added / updated (for bug fixes / features)

@kittaakos kittaakos added topic: documentation Related to documentation for the project type: enhancement Proposed improvement labels Jul 6, 2023
@kittaakos kittaakos requested a review from per1234 July 6, 2023 12:22
@kittaakos kittaakos self-assigned this Jul 6, 2023
@kittaakos kittaakos requested a review from AlbyIanna July 6, 2023 12:37
Copy link
Contributor

@per1234 per1234 left a comment

Choose a reason for hiding this comment

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

There is some odd and inconsistent formatting of the Markdown in release-procedure.md please do a run of Prettier on the file to standardize the formatting:

npx prettier -w docs/internal/release-procedure.md


### Ubuntu 18.04
- Prerequisites:
- Ask the DevOps team for an EC2 instance with at least 8 GB of RAM.
Copy link
Contributor

Choose a reason for hiding this comment

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

What is the procedure for making the request?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's still an ongoing conversation. Once we decide how to do it, I continue with the PR.

docs/internal/release-procedure.md Outdated Show resolved Hide resolved
yarn --cwd ./electron/packager && yarn --cwd ./electron/packager package
```
- Artifacts:
- You have to upload the following artifacts from `./arduino-ide/electron/build/dist` to S3:
Copy link
Contributor

Choose a reason for hiding this comment

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

What is the procedure for uploading things to S3?

- `arduino-ide_${VERSION}_Linux_64bit.AppImage`,
- `arduino-ide_${VERSION}_Linux_64bit.zip`, and
- `stable-linux.yml`

Copy link
Contributor

Choose a reason for hiding this comment

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

Add instructions to also replace the GitHub release assets with the artifacts.

docs/internal/release-procedure.md Outdated Show resolved Hide resolved
docs/internal/release-procedure.md Outdated Show resolved Hide resolved
docs/internal/release-procedure.md Outdated Show resolved Hide resolved
node ./scripts/merge-channel-files.js ./path/to/folder/with/channel/files
```
- You have the merged channel file that you need to upload to S3.

Copy link
Contributor

Choose a reason for hiding this comment

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

Add instructions to also replace the GitHub release assets with the artifacts.

&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - \
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list \
&& sudo apt update && sudo apt install --no-install-recommends yarn
```
Copy link
Contributor

Choose a reason for hiding this comment

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

Add instructions for cloning the arduino/arduino-ide repository into the EC2 instance machine and checking out the release tag.

docs/internal/release-procedure.md Outdated Show resolved Hide resolved
@kittaakos kittaakos marked this pull request as draft July 26, 2023 08:51
Co-authored-by: Akos Kitta <[email protected]>
Co-authored-by: per1234 <[email protected]>

Signed-off-by: Akos Kitta <[email protected]>
@kittaakos kittaakos removed the request for review from AlbyIanna August 25, 2023 08:05
---

- Q: How to connect to the EC2 instance?
- A: DevOps will give you a temporary link to the private key. Create a file `username_ip.pem` in your cwd, copy the private key into the file, open a shell, and execute `ssh -i "username_ip.pem" username@ip`. DevOps will tell you the `username` and the `ip`. Do not forget the VPN.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The chmod 0400 username_ip.pem is missing from the steps. Otherwise there is an error:

Load key "username_ip.pem": bad permissions
username@ip: Permission denied (publickey).

&& codesign -dv --verbose=4 ~/Desktop/Arduino\ IDE.app \
&& ~/Desktop/Arduino\ IDE.app/Contents/MacOS/Arduino\ IDE
```

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Should manually rename arm to ARM before the upload: #2117

…on of automated builds for macOS ARM

Previously, the production of the builds for the Apple Silicon host target was a manual procedure. This was done due to
the lack of availability of GitHub hosted runner machines of that architecture. Fortunately such runners are now
available, which allowed us to set up automated builds for this target.

For this reason, it is no longer necessary to maintain documentation of the manual release procedure for that target.
@@ -16,6 +16,7 @@ sudo apt update \
libx11-dev \
libxkbfile-dev \
build-essential \
libsecret-1-dev \
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@kittaakos
Copy link
Contributor Author

This PR is obsolete and has been resolved via #2245 and #2253. Thank you for your CI superpower, Per.

Closing as invalid.

@kittaakos kittaakos closed this Oct 13, 2023
@kittaakos kittaakos added the conclusion: invalid Issue/PR not valid label Oct 13, 2023
@per1234 per1234 deleted the manual-release branch October 17, 2023 05:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
conclusion: invalid Issue/PR not valid topic: documentation Related to documentation for the project type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants