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

Update CI files for branch 3.63 #6015

Merged
merged 1 commit into from
Nov 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .ci/ansible/Containerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@ RUN pip3 install --upgrade pip setuptools wheel && \
{{ " " }}-r ./{{ item.name }}/ci_requirements.txt
{%- endif -%}
{%- endfor %}
{{ " " }}-c ./{{ plugins[0].name }}/.ci/assets/ci_constraints.txt \
pipdeptree && \
{{ " " }}-c ./{{ plugins[0].name }}/.ci/assets/ci_constraints.txt && \
rm -rf /root/.cache/pip

{% if pulp_env is defined and pulp_env %}
Expand Down
5 changes: 0 additions & 5 deletions .ci/assets/ci_constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,3 @@ pulpcore>=3.21.30,!=3.23.*,!=3.24.*,!=3.25.*,!=3.26.*,!=3.27.*,!=3.29.*,!=3.30.*

tablib!=3.6.0
# 3.6.0: This release introduced a regression removing the "html" optional dependency.



# Newer version seem to have a conflict around packaging, that pip fails to resolve in time. Remove this when this starts to impose an issue.
pipdeptree<=3.23.1
11 changes: 8 additions & 3 deletions .ci/scripts/check_release.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ def main():
for branch in branches:
if branch != DEFAULT_BRANCH:
# Check if a Z release is needed
reasons = []
changes = repo.git.ls_tree("-r", "--name-only", f"origin/{branch}", "CHANGES/")
z_changelog = False
for change in changes.split("\n"):
Expand All @@ -76,23 +77,27 @@ def main():
)
elif ext in Z_CHANGELOG_EXTS:
z_changelog = True
if z_changelog:
reasons.append("Backports")

last_tag = repo.git.describe("--tags", "--abbrev=0", f"origin/{branch}")
req_txt_diff = repo.git.diff(
f"{last_tag}", f"origin/{branch}", "--name-only", "--", "requirements.txt"
)
if z_changelog or req_txt_diff:
if req_txt_diff:
reasons.append("requirements.txt")

if reasons:
curr_version = Version(last_tag)
assert curr_version.base_version.startswith(
branch
), "Current-version has to belong to the current branch!"
next_version = Version(f"{branch}.{curr_version.micro + 1}")
reason = "CHANGES" if z_changelog else "requirements.txt"
print(
f"A Z-release is needed for {branch}, "
f"Prev: {last_tag}, "
f"Next: {next_version.base_version}, "
f"Reason: {reason}"
f"Reason: {','.join(reasons)}"
)
releases.append(next_version)
else:
Expand Down
2 changes: 1 addition & 1 deletion .ci/scripts/pr_labels.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def main():
f".{item['directory']}" for item in PYPROJECT_TOML["tool"]["towncrier"]["type"]
}
except KeyError:
CHANGELOG_EXTS = {"feature", "bugfix", "doc", "removal", "misc"}
CHANGELOG_EXTS = {".feature", ".bugfix", ".doc", ".removal", ".misc"}

repo = Repo(".")

Expand Down
2 changes: 1 addition & 1 deletion .github/template_gitref
Original file line number Diff line number Diff line change
@@ -1 +1 @@
unknown
2021.08.26-389-g444ab6c
2 changes: 1 addition & 1 deletion .github/workflows/scripts/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -166,5 +166,5 @@ if [[ "$TEST" = "azure" ]]; then
fi

echo ::group::PIP_LIST
cmd_prefix bash -c "pip3 list && pipdeptree"
cmd_prefix bash -c "pip3 list"
echo ::endgroup::
10 changes: 6 additions & 4 deletions .github/workflows/scripts/script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,14 @@ pushd ../pulp-openapi-generator

# Workaround: Domains are not supported by the published bindings.
# Sadly: Different pulpcore-versions aren't either...
# So we exclude the prebuilt ones only for domains disabled.
if [ "$(jq -r '.domain_enabled' <<<"${REPORTED_STATUS}")" = "true" ] || [ "$(jq -r '.online_workers[0].pulp_href|startswith("/pulp/api/v3/")' <<< "${REPORTED_STATUS}")" = "false" ]
# * In the 'pulp' scenario we use the published/prebuilt bindings, so we can test it.
# * In other scenarios we generate new bindings from server spec, so we have a more
# reliable client.
if [ "$TEST" = "pulp" ]
then
BUILT_CLIENTS=""
else
BUILT_CLIENTS=" core file certguard "
else
BUILT_CLIENTS=""
fi

for ITEM in $(jq -r '.versions[] | tojson' <<<"${REPORTED_STATUS}")
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -155,5 +155,5 @@ jobs:
docker logs pulp || true
docker exec pulp ls -latr /etc/yum.repos.d/ || true
docker exec pulp cat /etc/yum.repos.d/* || true
docker exec pulp bash -c "pip3 list && pip3 install pipdeptree && pipdeptree"
docker exec pulp bash -c "pip3 list" || true
...
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ include COPYRIGHT
include pulpcore/app/templates/rest_framework/api.html
include manage.py
include test_requirements.txt
exclude releasing.md
29 changes: 29 additions & 0 deletions releasing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[//]: # "WARNING: DO NOT EDIT!"
[//]: # ""
[//]: # "This file was generated by plugin_template, and is managed by it. Please use"
[//]: # "'./plugin-template --github pulpcore' to update this file."
[//]: # ""
[//]: # "For more info visit https://github.com/pulp/plugin_template"
# Releasing (For Internal Use)

This document outlines the steps to perform a release.

### Determine if a Release is Required
- Make sure to have GitPython python package installed
- Run the release checker script:
```
python3 .ci/scripts/check_release.py
```

### Release a New Y-version (e.g., 3.23.0)
- If a new minor version (Y) is needed, trigger a [Create New Release Branch](https://github.com/pulp/pulpcore/actions/workflows/create-branch.yml) job from the main branch via the GitHub Actions.
- Look for the "Bump minor version" pull request and merge it.
- Trigger a [Release Pipeline](https://github.com/pulp/pulpcore/actions/workflows/release.yml) job by specifying the new release branch (X.**Y**) via the GitHub Actions.

### Release a New Z-version (Patch Release) (e.g., 3.23.1, 3.22.12)
- Trigger a [Release Pipeline](https://github.com/pulp/pulpcore/actions/workflows/release.yml) job by specifying the release branch (X.Y) via the GitHub Actions.

## Final Steps
- Ensure the new version appears on PyPI (it should appear after [Publish Release](https://github.com/pulp/pulpcore/actions/workflows/publish.yml) workflow succeeds).
- Verify that the changelog has been updated by looking for the "Update Changelog" pull request (A new PR should be available on the next day).
- [optional] Post a brief announcement about the new release on the [Pulp Discourse](https://discourse.pulpproject.org/).