diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index db6b504c810..28625d790fb 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -44,9 +44,9 @@ jobs: - env: PANTS_CONFIG_FILES: +['pants.ci.toml','pants.ci.aarch64.toml'] name: Build wheels - run: './pants run build-support/bin/release.py -- build-local-pex + run: './pants run src/python/pants_release/release.py -- build-local-pex - ./pants run build-support/bin/release.py -- build-wheels + ./pants run src/python/pants_release/release.py -- build-wheels ' - continue-on-error: true @@ -103,9 +103,9 @@ jobs: go-version: 1.19.5 - env: {} name: Build wheels - run: './pants run build-support/bin/release.py -- build-local-pex + run: './pants run src/python/pants_release/release.py -- build-local-pex - ./pants run build-support/bin/release.py -- build-wheels + ./pants run src/python/pants_release/release.py -- build-wheels ' - continue-on-error: true @@ -162,9 +162,9 @@ jobs: - env: ARCHFLAGS: -arch x86_64 name: Build wheels - run: './pants run build-support/bin/release.py -- build-local-pex + run: './pants run src/python/pants_release/release.py -- build-local-pex - ./pants run build-support/bin/release.py -- build-wheels + ./pants run src/python/pants_release/release.py -- build-wheels ' - continue-on-error: true @@ -221,9 +221,9 @@ jobs: - env: ARCHFLAGS: -arch arm64 name: Build wheels - run: './pants run build-support/bin/release.py -- build-local-pex + run: './pants run src/python/pants_release/release.py -- build-local-pex - ./pants run build-support/bin/release.py -- build-wheels + ./pants run src/python/pants_release/release.py -- build-wheels ' - continue-on-error: true @@ -278,7 +278,8 @@ jobs: - env: MODE: debug name: Fetch and stabilize wheels - run: ./pants run build-support/bin/release.py -- fetch-and-stabilize --dest=dest/pypi_release + run: ./pants run src/python/pants_release/release.py -- fetch-and-stabilize + --dest=dest/pypi_release - name: Create Release -> Commit Mapping run: 'tag="${{ needs.determine_ref.outputs.build-ref }}" diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 8321a0c9d5c..9f73b28b21d 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -315,9 +315,9 @@ jobs: - env: PANTS_CONFIG_FILES: +['pants.ci.toml','pants.ci.aarch64.toml'] name: Build wheels - run: './pants run build-support/bin/release.py -- build-local-pex + run: './pants run src/python/pants_release/release.py -- build-local-pex - ./pants run build-support/bin/release.py -- build-wheels + ./pants run src/python/pants_release/release.py -- build-wheels ' - continue-on-error: true @@ -369,9 +369,9 @@ jobs: go-version: 1.19.5 - env: {} name: Build wheels - run: './pants run build-support/bin/release.py -- build-local-pex + run: './pants run src/python/pants_release/release.py -- build-local-pex - ./pants run build-support/bin/release.py -- build-wheels + ./pants run src/python/pants_release/release.py -- build-wheels ' - continue-on-error: true @@ -424,9 +424,9 @@ jobs: - env: ARCHFLAGS: -arch x86_64 name: Build wheels - run: './pants run build-support/bin/release.py -- build-local-pex + run: './pants run src/python/pants_release/release.py -- build-local-pex - ./pants run build-support/bin/release.py -- build-wheels + ./pants run src/python/pants_release/release.py -- build-wheels ' - continue-on-error: true @@ -479,9 +479,9 @@ jobs: - env: ARCHFLAGS: -arch arm64 name: Build wheels - run: './pants run build-support/bin/release.py -- build-local-pex + run: './pants run src/python/pants_release/release.py -- build-local-pex - ./pants run build-support/bin/release.py -- build-wheels + ./pants run src/python/pants_release/release.py -- build-wheels ' - continue-on-error: true diff --git a/build-support/bin/BUILD b/build-support/bin/BUILD index 5f2c8cde802..014956dcf87 100644 --- a/build-support/bin/BUILD +++ b/build-support/bin/BUILD @@ -17,7 +17,6 @@ python_sources( python_tests( name="py_tests", overrides={ - "reversion_test.py": {"timeout": 90, "dependencies": ["3rdparty/python#pex"]}, "generate_json_schema_test.py": { "dependencies": [ "build-support/bin/json_schema_testdata:json_schema_samples", diff --git a/build-support/bin/changelog.py b/build-support/bin/changelog.py index 20fd09108c2..39b53eaed27 100644 --- a/build-support/bin/changelog.py +++ b/build-support/bin/changelog.py @@ -16,8 +16,8 @@ from textwrap import dedent import requests -from common import die from packaging.version import Version +from pants_release.common import die logger = logging.getLogger(__name__) diff --git a/build-support/bin/check_banned_imports.py b/build-support/bin/check_banned_imports.py index 01bd72b47c2..90bc22aeef2 100755 --- a/build-support/bin/check_banned_imports.py +++ b/build-support/bin/check_banned_imports.py @@ -7,7 +7,7 @@ from glob import glob from typing import Iterable -from common import die +from pants_release.common import die def main() -> None: diff --git a/build-support/bin/check_inits.py b/build-support/bin/check_inits.py index b68e5d7f202..3ce72e062d1 100755 --- a/build-support/bin/check_inits.py +++ b/build-support/bin/check_inits.py @@ -5,7 +5,7 @@ import itertools from pathlib import Path -from common import die +from pants_release.common import die DIRS_TO_CHECK = ( "src/python", diff --git a/build-support/bin/classify_changed_files.py b/build-support/bin/classify_changed_files.py index bf66764e5d3..e5a461406d8 100644 --- a/build-support/bin/classify_changed_files.py +++ b/build-support/bin/classify_changed_files.py @@ -38,7 +38,8 @@ class Affected(enum.Enum): "src/python/pants/VERSION", "src/python/pants/init/BUILD", "src/python/pants/notes/*", - "build-support/bin/release.py", + "src/python/pants_release/release.py", + "src/python/pants_release/reversion.py", ] _ci_config_globs = [ "build-support/bin/classify_changed_files.py", diff --git a/build-support/bin/copy_to_s3.py b/build-support/bin/copy_to_s3.py index b245e4c657a..142cb89d06d 100755 --- a/build-support/bin/copy_to_s3.py +++ b/build-support/bin/copy_to_s3.py @@ -11,7 +11,7 @@ import subprocess from pathlib import PurePath -from common import die +from pants_release.common import die logger = logging.getLogger(__name__) diff --git a/build-support/bin/generate_docs.py b/build-support/bin/generate_docs.py index eea8c9a4891..f2fc383d640 100644 --- a/build-support/bin/generate_docs.py +++ b/build-support/bin/generate_docs.py @@ -32,7 +32,7 @@ import chevron import requests -from common import die +from pants_release.common import die from readme_api import DocRef, ReadmeAPI from pants.base.build_environment import get_buildroot, get_pants_cachedir diff --git a/build-support/bin/generate_github_workflows.py b/build-support/bin/generate_github_workflows.py index 8d5eb1d4cee..34fefde8517 100644 --- a/build-support/bin/generate_github_workflows.py +++ b/build-support/bin/generate_github_workflows.py @@ -13,7 +13,7 @@ import toml import yaml -from common import die +from pants_release.common import die from pants.util.strutil import softwrap @@ -525,8 +525,8 @@ def build_wheels(self) -> list[Step]: # it cleans out `dist/deploy`, which the build-wheels runs populate for # later attention by deploy_to_s3.py. """\ - ./pants run build-support/bin/release.py -- build-local-pex - ./pants run build-support/bin/release.py -- build-wheels + ./pants run src/python/pants_release/release.py -- build-local-pex + ./pants run src/python/pants_release/release.py -- build-wheels """ ) @@ -1057,7 +1057,7 @@ def release_jobs_and_inputs() -> tuple[Jobs, dict[str, Any]]: *helper.expose_all_pythons(), { "name": "Fetch and stabilize wheels", - "run": f"./pants run build-support/bin/release.py -- fetch-and-stabilize --dest={pypi_release_dir}", + "run": f"./pants run src/python/pants_release/release.py -- fetch-and-stabilize --dest={pypi_release_dir}", "env": { # This step does not actually build anything: only download wheels from S3. "MODE": "debug", diff --git a/docs/markdown/Contributions/releases/release-process.md b/docs/markdown/Contributions/releases/release-process.md index 04905f1e962..9dc65763fc8 100644 --- a/docs/markdown/Contributions/releases/release-process.md +++ b/docs/markdown/Contributions/releases/release-process.md @@ -198,7 +198,7 @@ First, ensure that you are on your release branch at your version bump commit. Then, run: ```bash -./pants run build-support/bin/release.py -- tag-release +./pants run src/python/pants_release/release.py -- tag-release ``` This will tag the release with your PGP key, and push the tag to origin, which will kick off a [`Release` job](https://github.com/pantsbuild/pants/actions/workflows/release.yaml) to build the wheels and publish them to PyPI. @@ -209,7 +209,7 @@ Step 4: Release a Pants PEX After the [`Release` job](https://github.com/pantsbuild/pants/actions/workflows/release.yaml) for your tag has completed, you should additionally build and publish the "universal" PEX to Github. ```bash -PANTS_PEX_RELEASE=STABLE ./pants run build-support/bin/release.py -- build-universal-pex +PANTS_PEX_RELEASE=STABLE ./pants run src/python/pants_release/release.py -- build-universal-pex ``` Then: @@ -226,7 +226,7 @@ Step 5: Test the release Run this script as a basic smoke test: ```bash -./pants run build-support/bin/release.py -- test-release +./pants run src/python/pants_release/release.py -- test-release ``` You should also [check PyPI](https://pypi.org/pypi/pantsbuild.pants) to ensure everything looks good. Click "Release history" to find the version you released, then click it and confirm the changelog is correct on the "Project description" page and that the `macOS` and `manylinux` wheels show up in the "Download files" page. diff --git a/src/python/pants_release/BUILD b/src/python/pants_release/BUILD new file mode 100644 index 00000000000..8f730a45d1c --- /dev/null +++ b/src/python/pants_release/BUILD @@ -0,0 +1,11 @@ +# Copyright 2023 Pants project contributors (see CONTRIBUTORS.md). +# Licensed under the Apache License, Version 2.0 (see LICENSE). + +python_sources() + +python_tests( + name="test", + overrides={ + "reversion_test.py": {"timeout": 90, "dependencies": ["3rdparty/python#pex"]}, + }, +) diff --git a/build-support/bin/common.py b/src/python/pants_release/common.py similarity index 100% rename from build-support/bin/common.py rename to src/python/pants_release/common.py diff --git a/build-support/bin/release.py b/src/python/pants_release/release.py similarity index 99% rename from build-support/bin/release.py rename to src/python/pants_release/release.py index 919cb383138..ea068bd8432 100644 --- a/build-support/bin/release.py +++ b/src/python/pants_release/release.py @@ -25,9 +25,9 @@ from xml.etree import ElementTree import requests -from common import banner, die, green from packaging.version import Version -from reversion import reversion +from pants_release.common import banner, die, green +from pants_release.reversion import reversion from pants.util.contextutil import temporary_dir from pants.util.memo import memoized_property diff --git a/build-support/bin/reversion.py b/src/python/pants_release/reversion.py similarity index 100% rename from build-support/bin/reversion.py rename to src/python/pants_release/reversion.py diff --git a/build-support/bin/reversion_test.py b/src/python/pants_release/reversion_test.py similarity index 98% rename from build-support/bin/reversion_test.py rename to src/python/pants_release/reversion_test.py index ded883f5a6b..1a7d40081d8 100644 --- a/build-support/bin/reversion_test.py +++ b/src/python/pants_release/reversion_test.py @@ -8,7 +8,7 @@ from pathlib import Path import requests -from reversion import reversion +from pants_release.reversion import reversion def test_reversion(tmp_path: Path) -> None: