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

rfc: simplify changelog process #8772

Merged
merged 7 commits into from
Jun 1, 2023
Merged

rfc: simplify changelog process #8772

merged 7 commits into from
Jun 1, 2023

Conversation

brainbicycle
Copy link
Contributor

@brainbicycle brainbicycle commented May 26, 2023

This PR is also an RFC to simplify our changelog process.

The Current Process

We have an open PR that is being automatically updated periodically: https://github.com/artsy/eigen/pull/8135/files in theory with changes from most recent release. It looks for the last submission tag and parses our changelog messages out of the commits since that tag. Release captains then check this PR for relevant changes.

In practice this has been a little problematic:

  • There is no control over tags compared: so for example this week a hotfix went out so this became the submission compared against, however only a couple commits went into this hotfix so the changelog was incorrect
  • It leaves an open PR in the repo but it is unclear when if ever we want to merge it so it doesn't actually create a reviewable record of changes
  • If someone doesn't fill out changelog in big PRs they get missed
  • It is just a bit complicated, it needs an extra job in CI and periodic updates in the repo and multiple scripts to manage in the repo

All of these are solvable problems but I propose just simplifying a bit because I think the benefit of all this automation isn't actually worth the complexity.

Proposed process

When release captains are preparing for a release they run a changelog script locally with the target submission tag and the last submission tag. This will output something similar to this:

$ yarn ts-node scripts/changelog/generateChangelog.ts ios-8.12.5-2023.05.17.13-submission main                                                                                                    (base) 
yarn run v1.22.19
$ ~/node_modules/.bin/ts-node scripts/changelog/generateChangelog.ts ios-8.12.5-2023.05.17.13-submission main
- bump @testing-library/react-native from 12.0.1 to 12.1.2 - gkartalis : Dev changes : PR #8682
- bump react-native-screens from 3.15.0 to 3.20.0 - gkartalis : Dev changes : PR #8683
- Artwork list sorting - sam : Cross-platform user-facing changes : PR #8672
- enable hermes on Android - gkartalis : Dev changes : PR #8658
- fix Median Auction Price result issue on Android - mrsltun : Android user-facing changes : PR #8685
- create collected artists grid view - mounir : Cross-platform user-facing changes : PR #8654
- refresh auction lots rail when lots close - kizito : Cross-platform user-facing changes : PR #8667
- format artwork description for artwork lists flow - dimatretyak : Dev changes : PR #8691
- update pagination count for artwork lists - dimatretyak : Dev changes : PR #8690
- add bottom offsets for artwork lists views - dimatretyak : Dev changes : PR #8696
- fix errors in the contact the specialist form -daria : Cross-platform user-facing changes : PR #8688
- enable hermes on iOS - gkartalis : iOS user-facing changes : PR #8659
- podfile update - gkartalis : Dev changes : PR #8707
- support pull-to-refresh on empty artwork list view - dimatretyak : Dev changes : PR #8706
- sync artwork save state with artwork lists - dimatretyak : Dev changes : PR #8713
- create artist preview bottom sheet modal (MyCollection) -daria : Cross-platform user-facing changes : PR #8686
- add ability to delete artwork list - dimatretyak : Dev changes : PR #8714
- Missed react native build phase change in upgrade - Brian : Dev changes : PR #8722
- correctly display total selected artwork lists counter - dimatretyak : Dev changes : PR #8728
- Remove myCollectionOnboarding wrong tracking event - mounir : Dev changes : PR #8729
- Context menu for artwork items - gkartalis : iOS user-facing changes : PR #8606
- dev menu weirdness on android - gkartalis : Dev changes : PR #8732
- Fix segment crash - Brian : Android user-facing changes : PR #8735
- Point to fixed segment version - Brian : Android user-facing changes : PR #8738
- Ability to edit artwork list - dimatretyak : Dev changes : PR #8720
- mark `AREnableArtworkLists` as ready for release - dimatretyak : Dev changes : PR #8747
- update app version to 8.13.0 - mrsltun : Dev changes : PR #8749
- Update debugging.mb - Brian : Dev changes : PR #8751
- don't display contextual menu button for "Saved Artworks" list - dimatretyak : Dev changes : PR #8752
- use relay fragment for artwork list header - dimatretyak : Dev changes : PR #8753
- Add docs for asdf - Brian : Dev changes : PR #8755
- Add location detection visualiser dev toggle - ole : Dev changes : PR #8757
- hot reloading experience + relay-config removal - gkartalis : Cross-platform user-facing changes : PR #8761
- correctly display artwork save state on artwork list screen - dimatretyak : Dev changes : PR #8760
- artwork list analytics (stage 1) - dimatretyak : Dev changes : PR #8763
- Fix public IP for location on "Shows for You" rail on home screen - ole : Cross-platform user-facing changes : PR #8758
- artwork list analytics (stage 2)  - dimatretyak : Dev changes : PR #8764
- support soft launch of artwork lists for Artsy employe - dimatretyak : Dev changes : PR #8769


PRs without changelog entries:
PR #8675: fix: UI blocking bugs
PR #8677: chore: update metaphysics graphql schema
PR #8676: refactor: use the same relay env for MyCollection screens
PR #8681: chore: update version number #trivial
PR #8687: refactor: update empty state for artwork lists
PR #8694: fix(CX-3637): adjust the avatar add button design
PR #8684: RFC: Add Geolocation service
PR #8693: fix: address menu item UI review comments
PR #8697: fix: hot reload when app is run using yarn start
PR #8665: [CX-3630] feat: Add location support to "Shows for You" rail
PR #8701: Revert "fix: hot reload when app is run using yarn start"
PR #8703: chore: update release note 8.12.5
PR #8705: chore(deps): update dep @artsy/cohesion from 4.125.1 to v4.126.0
PR #8699: Chore: prepare for 8.12.5
PR #8708: chore: update metaphysics graphql schema
PR #8692: fix(GRO-1645): add padding to results grid 
PR #8718: chore: update metaphysics graphql schema
PR #8719: chore: prepare for 8.12.6
PR #8712: fix: Add ACCESS_FINE_LOCATION Android permission
PR #8717: fix: Disable Shows for You location feature flag
PR #8711: fix: Change error message to console log
PR #8721: fix: Remove totalCount from auctionResultsByFollowedArtists home screen queries
PR #8724: chore: update metaphysics graphql schema
PR #8726: chore: update metaphysics graphql schema
PR #8731: fix: hide context menu on android
PR #8734: fix: use large again for test js job
PR #8736: chore: mark vir ready for release #trivial 
PR #8739: chore: minor dev menu improvements
PR #8727: chore: make artist list item clickable
PR #8740: chore: update metaphysics graphql schema
PR #8742: chore: update metaphysics graphql schema
PR #8746: chore: update metaphysics graphql schema
PR #8748: chore(deps): update dep @artsy/cohesion from 4.126.0 to v4.127.0
PR #8765: Revert "fix: hot reloading experience + relay-config removal"
PR #8754: feat(CX-3702): create artists grid view
PR #8767: chore(deps): update dep @artsy/cohesion from 4.127.0 to v4.129.0
PR #8768: Revert: "feat(iOS): Enable hermes on iOS"
✨  Done in 23.33s.

Release captains then paste that in the QA doc and use it going forward for release notes.

Later maybe we can decide to commit this back each release for now I propose just keeping it simple as you can always just run the script again with the same tags.

If Accepted

  • I will merge this PR deleting old changelog scripts
  • I will remove any ci using the old changelog scripts and close the PR
  • I will update the release captain docs to account for the new process

@brainbicycle brainbicycle marked this pull request as draft May 26, 2023 18:30
@brainbicycle brainbicycle self-assigned this May 26, 2023
scripts/changelog/generateChangelog.ts Outdated Show resolved Hide resolved
scripts/changelog/generateChangelog.ts Outdated Show resolved Hide resolved
scripts/changelog/generateChangelog.ts Outdated Show resolved Hide resolved
@lordkiz
Copy link
Contributor

lordkiz commented May 27, 2023

I am very much for this new process. The current process is a pain. 👍🏾👍🏾👍🏾👍🏾

Copy link
Member

@gkartalis gkartalis left a comment

Choose a reason for hiding this comment

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

Love it! 👏 thanks Brian

@brainbicycle brainbicycle marked this pull request as ready for review May 30, 2023 17:39
MounirDhahri
MounirDhahri previously approved these changes May 31, 2023
Copy link
Member

@MounirDhahri MounirDhahri left a comment

Choose a reason for hiding this comment

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

Makes sense to me to do this if we are not planning on investing resources to wrap up the initial plan. Thanks Brian for making this effort

scripts/changelog/generateChangelog.ts Outdated Show resolved Hide resolved
scripts/changelog/generateChangelog.ts Outdated Show resolved Hide resolved
scripts/changelog/generateChangelog.ts Show resolved Hide resolved
@brainbicycle brainbicycle added the Squash On Green A label to indicate that Peril should squash-merge this PR when all statuses are green label Jun 1, 2023
@brainbicycle
Copy link
Contributor Author

thanks for all the feedback! merging! let me know if anyone runs into issues!

@artsy-peril artsy-peril bot merged commit 11ae6c6 into main Jun 1, 2023
@artsy-peril artsy-peril bot deleted the brian/local-changelog branch June 1, 2023 21:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Jira Synced RFC Squash On Green A label to indicate that Peril should squash-merge this PR when all statuses are green
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants