Skip to content

🚀 Release 25.0.0-rc.1 #19114

Description

@nickvergessen

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

💺 Preparation

🚀 v25.0.0-rc.1

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): Add changelog for 25.0.0-rc.1 #19110
    • 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.1 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.1
    • Make sure that chosen tag is v25.0.0-rc.1, target is stable35, and previous tag is v25.0.0-alpha.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.1
    • 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 RC (35) to v25.0.0-rc.1 in https://github.com/nextcloud/spreed/milestones
    gh api repos/nextcloud/spreed/milestones --paginate --jq \
        '.[] | select(.title == "⛅ Next RC (35)") | .number' \
        | xargs -I{} gh api --method PATCH repos/nextcloud/spreed/milestones/{} -f title="v25.0.0-rc.1"
    Unless last release of the stable branch:
    • Create a follow-up milestone for ⛅ Next RC (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 RC (35)" -f due_on="YYYY-MM-DDT00:00:00Z"
    • Move all open issues from milestone v25.0.0-rc.1 to ⛅ Next RC (35): https://github.com/nextcloud/spreed/issues?q=is%3Aissue%20state%3Aopen%20milestone%3Av25.0.0-rc.1
      for n in $(gh issue list --repo nextcloud/spreed --state open --limit 500 \
          --milestone "v25.0.0-rc.1" --json number --jq '.[].number'); do
          gh issue edit "$n" --repo nextcloud/spreed --milestone "⛅ Next RC (35)"
      done
    • Move all open PRs from milestone v25.0.0-rc.1 to ⛅ Next RC (35): https://github.com/nextcloud/spreed/pulls?q=is%3Apr%20state%3Aopen%20milestone%3Av25.0.0-rc.1
      for n in $(gh pr list --repo nextcloud/spreed --state open --limit 500 \
          --search 'milestone:"v25.0.0-rc.1"' --json number --jq '.[].number'); do
          gh pr edit "$n" --repo nextcloud/spreed --milestone "⛅ Next RC (35)"
      done
  • Close the v25.0.0-rc.1 milestone
    gh api repos/nextcloud/spreed/milestones --paginate --jq \
        '.[] | select(.title == "v25.0.0-rc.1") | .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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions