Skip to content

Release todo 25.0.0-rc.2 #19262

Description

@nickvergessen

Get branches/versions to release from https://github.com/nextcloud/spreed/milestones

💺 Preparation

🚀 v25.0.0-rc.2

Start with the oldest version here, so the appstore and github releases show the newest version as "Last release"

  • Backport the changelog
    • [stable35] chore(release): Changelog for 25.0.0-rc.2 #19259
    • Remove changelog entries in CHANGELOG.md of higher versions
    • Bump the version in appinfo/info.xml
    • Bump the version in package.json. The following command will return a new version name, make sure it matches what you expect:
      # Make sure the printed version matches the info.xml version
      npm version --no-git-tag-version $(xmllint --xpath '/info/version/text()' appinfo/info.xml)
  • Merge the backport
  • Make sure you pull the latest stable branch:
    git checkout stable35
    git pull origin stable35
  • Clean the dev instance and update all dependencies with the lock file versions and build the production javascript:
    make production-setup
    # On 24 and older versions run:
    # make dev-setup build-js-production
  • Do a quick smoke test by starting a call with:
    • Chrome
    • Edge
    • Firefox
    • Safari
    • Desktop client (Talk 16+)
    • Android app
    • iOS app
  • Create tag (note that the leading v in v25.0.0-rc.2 will be automatically added to the tag)
    make create-tag version=$(xmllint --xpath '/info/version/text()' appinfo/info.xml)
  • Push the git tag to https://github.com/nextcloud-releases/spreed
    git push releases v$(xmllint --xpath '/info/version/text()' appinfo/info.xml)
    Make sure you have access rights to the remote repository, and it is set up on your machine:
    git remote add releases git@github.com:nextcloud-releases/spreed.git
  • Prepare a (pre-)release in https://github.com/nextcloud/spreed/releases/new?tag=v25.0.0-rc.2
    • Make sure that chosen tag is v25.0.0-rc.2, target is stable35, and previous tag is v25.0.0-rc.1
    • Add the respective CHANGELOG.md section from merged PR
    • Use the Generate release notes button and wrap the output result into
      ## What's Changed
      
      <details>
      	<!-- insert the output here -->
      </details>
      
    • Set as a pre-release / as the latest release
    • Publish release
  • Prepare a (pre-)release in https://github.com/nextcloud-releases/spreed/releases/new?tag=v25.0.0-rc.2
    • Copy the full content from the release description of the previous step
    • Set as a pre-release / as the latest release
    • Publish release
  • Check that the GitHub Action started: https://github.com/nextcloud-releases/spreed/actions
  • Rename milestone ⛅ Next Patch (35) to v25.0.0-rc.2 in https://github.com/nextcloud/spreed/milestones
    gh api repos/nextcloud/spreed/milestones --paginate --jq \
        '.[] | select(.title == "⛅ Next Patch (35)") | .number' \
        | xargs -I{} gh api --method PATCH repos/nextcloud/spreed/milestones/{} -f title="v25.0.0-rc.2"
    Unless last release of the stable branch:
    • Create a follow-up milestone for ⛅ Next Patch (35) (Due date in ~4 weeks, ~1 week for beta/RC)
      # Adjust the due date (UTC) before running
      gh api --method POST repos/nextcloud/spreed/milestones \
          -f title="⛅ Next Patch (35)" -f due_on="YYYY-MM-DDT00:00:00Z"
    • Move all open issues from milestone v25.0.0-rc.2 to ⛅ Next Patch (35): https://github.com/nextcloud/spreed/issues?q=is%3Aissue%20state%3Aopen%20milestone%3Av25.0.0-rc.2
      for n in $(gh issue list --repo nextcloud/spreed --state open --limit 500 \
          --milestone "v25.0.0-rc.2" --json number --jq '.[].number'); do
          gh issue edit "$n" --repo nextcloud/spreed --milestone "⛅ Next Patch (35)"
      done
    • Move all open PRs from milestone v25.0.0-rc.2 to ⛅ Next Patch (35): https://github.com/nextcloud/spreed/pulls?q=is%3Apr%20state%3Aopen%20milestone%3Av25.0.0-rc.2
      for n in $(gh pr list --repo nextcloud/spreed --state open --limit 500 \
          --search 'milestone:"v25.0.0-rc.2"' --json number --jq '.[].number'); do
          gh pr edit "$n" --repo nextcloud/spreed --milestone "⛅ Next Patch (35)"
      done
  • Close the v25.0.0-rc.2 milestone
    gh api repos/nextcloud/spreed/milestones --paginate --jq \
        '.[] | select(.title == "v25.0.0-rc.2") | .number' \
        | xargs -I{} gh api --method PATCH repos/nextcloud/spreed/milestones/{} -f state=closed
  • Ensure that the GitHub Action finished successfully: https://github.com/nextcloud-releases/spreed/actions

🛣️ Conclude

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions