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: rework readme #1703

Merged
merged 27 commits into from
Oct 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
863bef5
Update README.md
jessicaschilling Oct 21, 2020
32f79c8
Update README.md
jessicaschilling Oct 21, 2020
caffe13
Update README.md
jessicaschilling Oct 21, 2020
9f66c14
Update README.md
jessicaschilling Oct 21, 2020
f443bf9
Update README.md
jessicaschilling Oct 21, 2020
e62e205
Update README.md
jessicaschilling Oct 21, 2020
1e6dd73
Update README.md
jessicaschilling Oct 21, 2020
95613d4
Create DEVELOPER-NOTES.md
jessicaschilling Oct 21, 2020
b794c91
Update README.md
jessicaschilling Oct 21, 2020
ece53aa
Update README.md
jessicaschilling Oct 21, 2020
0494b6f
Update README.md
jessicaschilling Oct 21, 2020
435140a
Update README.md
jessicaschilling Oct 21, 2020
11ac15f
Update README.md
jessicaschilling Oct 21, 2020
a6bc616
Everything but Features is better now
jessicaschilling Oct 21, 2020
88c43b4
Add primary screenshot
jessicaschilling Oct 21, 2020
573f324
Update README.md
jessicaschilling Oct 21, 2020
8f30f06
Update README.md
jessicaschilling Oct 21, 2020
dafda79
Update README.md
jessicaschilling Oct 21, 2020
f9e8db6
Add screenshots
jessicaschilling Oct 21, 2020
173c822
Last tweaks before review
jessicaschilling Oct 21, 2020
2f90d89
Update README.md
jessicaschilling Oct 22, 2020
1b49c92
Update README.md
jessicaschilling Oct 22, 2020
5c342c6
Update README.md
jessicaschilling Oct 22, 2020
810004c
Update README.md
jessicaschilling Oct 22, 2020
7966d6b
Update README.md
jessicaschilling Oct 22, 2020
4022802
Update README.md
jessicaschilling Oct 22, 2020
dc29c5d
One more round of copy edits
jessicaschilling Oct 22, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
49 changes: 49 additions & 0 deletions DEVELOPER-NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Developer notes

Below are helpful notes for developers hacking on or releasing new versions of IPFS Desktop.

## Release checklist

Before cutting a new release of IPFS Desktop, please go through the following process:

### Manual testing

Manually test a few things that don't transfer well to automated testing:

1. **Mac/Windows/Linux:** Confirm that "Take Screenshot" under the menubar/system tray menu works as expected for both single- and multi-monitor setups:
- File(s) import correctly
- Correct link is copied to clipboard
2. **Mac only:** Drag/drop onto menubar icon behaves as expected when dragging one file, several files, and a combination of files/folders:
- File(s) import correctly
- Correct link is copied to clipboard
3. **Windows only:** Right-click on a file and "Add to IPFS" from context menu works as expected:
- File(s) import correctly
- Correct link is copied to clipboard
4. **Mac/Windows:** Confirm that OS-wide protocol handler was registered by opening <a href="ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi">`ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi`</a> in a user agent _without_ IPFS Companion

### Main release process
1. Fetch new translations from Transifex: `tx pull -a`.
2. Commit the changes.
3. Bump the version in `package.json`.
4. Commit the changes.
5. Create a tag with the same version as your bump: `git tag vA.B.C`.
6. Publish local changes and the tag to the GitHub repo: `git push && git push origin vA.B.C`.
7. Wait for the CI to upload the binaries to the draft release (a new one will be created if you haven't drafted one).
8. Publish a release draft.
- Once a release is published, users should receive the app update (see https://www.electron.build/auto-update for details).
- The `latest.yml, latest-mac.yml, latest-linux.yml` files on the release are used by the app to determine when an app update is available.
9. Update all links and badges in `README.md` to point to the new version (`A.B.C`).
10. Update `CHANGELOG.md` with details from release/release draft.
11. Update selected package managers:
- Wait for CI to finish and confirm that it updated [Snap](https://snapcraft.io/ipfs-desktop), and is at least pending review on [Chocolatey](https://chocolatey.org/packages/ipfs-desktop#versionhistory).
- Update the [Homebrew cask](https://github.com/Homebrew/homebrew-cask/blob/master/CONTRIBUTING.md#updating-a-cask).
12. To start work on the next version, bump the version in `package.json`.

### Manually notarize `.dmg` with Apple

These steps are only needed as a fallback if CI is not correctly notarizing the `.dmg` file. For context, see [#1365](https://github.com/ipfs-shipyard/ipfs-desktop/issues/1211).

1. Download the `.dmg` from `https://github.com/ipfs-shipyard/ipfs-desktop/releases/vA.B.C`.
2. Ensure `APPLEID` and `APPLEIDPASS` are set either as environment variables or entries in `.env` file. These need to belong to the same org as the certificate used for signing.
3. Run `node pkgs/macos/notarize-cli.js ./IPFS-Desktop-A.B.C.dmg`.
4. Debug errors by calling the tool directly: `xcrun altool --notarize-app -f /path/to/IPFS-Desktop-0.X.0.dmg --primary-bundle-id io.ipfs.desktop -u XXX-from-vault-XXX -p XXX-app-specific-password-from-vault-XXX`; also, see the [long list of hoops Apple may ask you to jump through](https://github.com/ipfs-shipyard/ipfs-desktop/pull/1365#issuecomment-598127684).