Unverified Commit 9fcfedac authored by Marius van den Beek's avatar Marius van den Beek Committed by GitHub
Browse files

Merge pull request #16214 from mvdbeek/point_release_deps_fixes_and_docs

[23.0] Point release deps fixes and docs
parents f6bb46ab 54751212
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
Creating Galaxy Point Releases
==============================

The process is currently a mix of a script that is run locally and creating a (pre-)release in the GitHub interface (or using the GitHub API).
The script is in scripts/release.py.

The local script will:

 - update lib/galaxy/version.py
 - create HISTORY.rst entries for all packages
 - build all packages
 - stage and commit all changes
 - create a new tag, 
 - (intelligently) merge forward changes to newer release branches and dev
 - push changes to the repo identified by `--upstream` (defaults to https://github.com/galaxyporject/galaxy.git/)

The script has 2 important arguments:

    - `--new-version` is the new version as it will appear for PyPI packages and in lib/galaxy/version.py
    - `--last-commit` indicates the first commit from which changes are to be included in the changelog.

Before starting make sure local branches (all release branches and dev) are up to date and clean, and all release branches have been merged forward,
and that you have configured your remotes so that you can push to the configured upstream (https://github.com/galaxyproject/galaxy by default).
The script should abort gracefully if that is not the case.

Follow these steps:
    1. Check out the branch from which you want to create a release, e.g. release_23.0: `git checkout release_23.0`
    2. Activate your local virtualenv with Galaxy's dev requirements: `. .venv/bin/activate`
    3. Update Galaxy's dev dependencies (if you haven't done this in a while): `pip install -r lib/galaxy/dependencies/dev-requirements.txt`
    4. You need a personal access token from github (only needs public read permissions).
    5. `GITHUB_AUTH=$YOUR_PAT_FROM_STEP_3 python scripts/release.py create-release --new-version 23.0.1 --last-commit v23.0`
    6. Follow along the prompts and make sure the proposed changes look correct

When the script is finished you should find a new tag in the GitHub interface, as well as updated release and dev branches.
From the `Releases Interface on GitHub <https://github.com/galaxyproject/galaxy/releases>`_ you can create a new pre-release
associated with the newly created tag. The pre-release event will trigger a github workflow that uploads packages to the `test PyPI instance <https://test.pypi.org/>`_.
If this all looks good you can promote the pre-release to a release and that will trigger the upload to the `main PyPI instance <https://pypi.org/>`_.
 No newline at end of file
+1 −0
Original line number Diff line number Diff line
@@ -24,3 +24,4 @@ A multi-hour long video playlist covering these slides can be found at
  debugging_galaxy_slurm
  file_upload
  translating
  create_point_release
+2 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ attrs==22.2.0 ; python_version >= "3.7" and python_version < "3.12"
babel==2.11.0 ; python_version >= "3.7" and python_version < "3.12"
billiard==3.6.4.0 ; python_version >= "3.7" and python_version < "3.12"
black==22.12.0 ; python_version >= "3.7" and python_version < "3.12"
build==0.10.0 ; python_version >= "3.7" and python_version < "3.12"
cachecontrol[filecache]==0.12.11 ; python_version >= "3.7" and python_version < "3.12"
cached-property==1.5.2 ; python_version >= "3.7" and python_version < "3.8"
celery==5.2.7 ; python_version >= "3.7" and python_version < "3.12"
@@ -130,6 +131,7 @@ trio-websocket==0.9.2 ; python_version >= "3.7" and python_version < "3.12"
trio==0.22.0 ; python_version >= "3.7" and python_version < "3.12"
tuspy==1.0.0 ; python_version >= "3.7" and python_version < "3.12"
twill==3.1 ; python_version >= "3.7" and python_version < "3.12"
twine==4.0.2 ; python_version >= "3.7" and python_version < "3.12"
typed-ast==1.5.4 ; python_version < "3.8" and implementation_name == "cpython" and python_version >= "3.7"
types-toml==0.10.8.1 ; python_version >= "3.7" and python_version < "3.12"
typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "3.12"
+2 −0
Original line number Diff line number Diff line
@@ -117,6 +117,7 @@ zipstream-new = "*"
[tool.poetry.group.dev.dependencies]
ase = ">=3.18.1"
black = "^22.1.0"
build = "*"
codespell = "*"
cwltest = "*"
darker = "*"
@@ -149,6 +150,7 @@ statsd = "*"
testfixtures = "*"
tuspy = "*"
twill = "*"
twine = "*"
watchdog = "*"

[tool.ruff]
+1 −1
Original line number Diff line number Diff line
@@ -307,7 +307,7 @@ def build_package(package: Package):
def upload_package(package: Package):
    click.echo(f"uploading package {package.name}")
    subprocess.run(
        ["twine", "upload"] + list(package.path.joinpath("dist").glob("*")),
        ["twine", "upload", "--skip-existing"] + list(package.path.joinpath("dist").glob("*")),
        cwd=package.path,
    ).check_returncode()