Skip to content

Commit

Permalink
Update CI files
Browse files Browse the repository at this point in the history
  • Loading branch information
pulpbot authored and ggainey committed Oct 16, 2024
1 parent bf46deb commit b5a00bb
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 13 deletions.
5 changes: 3 additions & 2 deletions .ci/ansible/Containerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ ADD ./{{ item.name }} ./{{ item.name }}
# This MUST be the ONLY call to pip install in inside the container.
RUN pip3 install --upgrade pip setuptools wheel && \
rm -rf /root/.cache/pip && \
pip3 install pipdeptree
pip3 install
{%- if s3_test | default(false) -%}
{{ " " }}git+https://github.com/gerrod3/botocore.git@fix-100-continue
{%- endif -%}
Expand All @@ -28,7 +28,8 @@ RUN pip3 install --upgrade pip setuptools wheel && \
{{ " " }}-r ./{{ item.name }}/ci_requirements.txt
{%- endif -%}
{%- endfor %}
{{ " " }}-c ./{{ plugins[0].name }}/.ci/assets/ci_constraints.txt && \
{{ " " }}-c ./{{ plugins[0].name }}/.ci/assets/ci_constraints.txt \
pipdeptree && \
rm -rf /root/.cache/pip

{% if pulp_env is defined and pulp_env %}
Expand Down
5 changes: 5 additions & 0 deletions .ci/assets/ci_constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,8 @@ 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
9 changes: 6 additions & 3 deletions .ci/scripts/pr_labels.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,12 @@ def main():
BLOCKING_REGEX = re.compile(r"DRAFT|WIP|NO\s*MERGE|DO\s*NOT\s*MERGE|EXPERIMENT")
ISSUE_REGEX = re.compile(r"(?:fixes|closes)[\s:]+#(\d+)")
CHERRY_PICK_REGEX = re.compile(r"^\s*\(cherry picked from commit [0-9a-f]*\)\s*$")
CHANGELOG_EXTS = [
f".{item['directory']}" for item in PYPROJECT_TOML["tool"]["towncrier"]["type"]
]
try:
CHANGELOG_EXTS = {
f".{item['directory']}" for item in PYPROJECT_TOML["tool"]["towncrier"]["type"]
}
except KeyError:
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 @@
2021.08.26-382-gc88324b
2021.08.26-387-ge627e91
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=" ostree "
else
BUILT_CLIENTS=""
fi

for ITEM in $(jq -r '.versions[] | tojson' <<<"${REPORTED_STATUS}")
Expand Down
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ include LICENSE
include pyproject.toml
include requirements.txt
include unittest_requirements.txt
exclude releasing.md
27 changes: 27 additions & 0 deletions releasing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[//]: # "WARNING: DO NOT EDIT!"
[//]: # ""
[//]: # "This file was generated by plugin_template, and is managed by it. Please use"
[//]: # "'./plugin-template --github pulp_ostree' 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
- Run the release checker script:
```
python3 .ci/scripts/check_release.py
```

### Create a New Y-branch (e.g., 3.23)
- If a new minor version (Y) is needed, trigger a [Create New Release Branch](https://github.com/pulp/pulp_ostree/actions/workflows/create-branch.yml) job via the GitHub Actions.
- Look for the "Bump minor version" pull request and merge it.

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

### Final Steps (Optional but Recommended)
- Ensure the new version appears on PyPI.
- Verify that the changelog has been updated by looking for the "Update Changelog" pull request.
- Post a brief announcement about the new release on the [Pulp Discourse](https://discourse.pulpproject.org/).

0 comments on commit b5a00bb

Please sign in to comment.