Skip to content

Commit 1e2a513

Browse files
authored
Merge pull request #674 from opsmill/pog-stable-to-develop-20251202
Merge 'stable' into 'develop' with resolved conflicts
2 parents 1b6791f + 17cf122 commit 1e2a513

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+1818
-1196
lines changed

.github/workflows/ci.yml

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
github_workflows: ${{ steps.changes.outputs.github_workflows }}
4747
steps:
4848
- name: "Check out repository code"
49-
uses: "actions/checkout@v5"
49+
uses: "actions/checkout@v6"
5050
- name: Check for file changes
5151
uses: dorny/paths-filter@v3
5252
id: changes
@@ -63,26 +63,34 @@ jobs:
6363
timeout-minutes: 5
6464
steps:
6565
- name: "Check out repository code"
66-
uses: "actions/checkout@v5"
66+
uses: "actions/checkout@v6"
6767
- name: "Setup environment"
6868
run: "pip install yamllint==1.35.1"
6969
- name: "Linting: yamllint"
7070
run: "yamllint -s ."
7171

7272
python-lint:
7373
if: needs.files-changed.outputs.python == 'true'
74-
needs: ["files-changed"]
74+
needs: ["files-changed", "prepare-environment"]
7575
runs-on: "ubuntu-latest"
7676
timeout-minutes: 5
7777
steps:
7878
- name: "Check out repository code"
7979
uses: "actions/checkout@v5"
80-
- name: "Setup environment"
81-
run: "pip install ruff==0.11.0"
80+
- name: Set up Python
81+
uses: actions/setup-python@v6
82+
with:
83+
python-version: "3.12"
84+
- name: Install UV
85+
uses: astral-sh/setup-uv@v7
86+
with:
87+
version: "${{ needs.prepare-environment.outputs.UV_VERSION }}"
88+
- name: Install dependencies
89+
run: uv sync --group lint
8290
- name: "Linting: ruff check"
83-
run: "ruff check ."
91+
run: "uv run ruff check ."
8492
- name: "Linting: ruff format"
85-
run: "ruff format --check --diff ."
93+
run: "uv run ruff format --check --diff ."
8694

8795

8896
markdown-lint:
@@ -94,9 +102,9 @@ jobs:
94102
timeout-minutes: 5
95103
steps:
96104
- name: "Check out repository code"
97-
uses: "actions/checkout@v5"
105+
uses: "actions/checkout@v6"
98106
- name: "Linting: markdownlint"
99-
uses: DavidAnson/markdownlint-cli2-action@v20
107+
uses: DavidAnson/markdownlint-cli2-action@v21
100108
with:
101109
config: .markdownlint.yaml
102110
globs: |
@@ -110,7 +118,7 @@ jobs:
110118
timeout-minutes: 5
111119
steps:
112120
- name: "Check out repository code"
113-
uses: "actions/checkout@v5"
121+
uses: "actions/checkout@v6"
114122
- name: Check workflow files
115123
run: |
116124
bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
@@ -156,7 +164,7 @@ jobs:
156164
timeout-minutes: 5
157165
steps:
158166
- name: "Check out repository code"
159-
uses: "actions/checkout@v5"
167+
uses: "actions/checkout@v6"
160168
with:
161169
submodules: true
162170
- name: Install NodeJS
@@ -172,7 +180,7 @@ jobs:
172180
with:
173181
python-version: "3.12"
174182
- name: Install UV
175-
uses: astral-sh/setup-uv@v4
183+
uses: astral-sh/setup-uv@v7
176184
with:
177185
version: "${{ needs.prepare-environment.outputs.UV_VERSION }}"
178186
- name: Install dependencies
@@ -191,15 +199,15 @@ jobs:
191199
timeout-minutes: 5
192200
steps:
193201
- name: "Check out repository code"
194-
uses: "actions/checkout@v5"
202+
uses: "actions/checkout@v6"
195203
with:
196204
submodules: true
197205
- name: Set up Python
198206
uses: actions/setup-python@v6
199207
with:
200208
python-version: "3.12"
201209
- name: Install UV
202-
uses: astral-sh/setup-uv@v4
210+
uses: astral-sh/setup-uv@v7
203211
with:
204212
version: "${{ needs.prepare-environment.outputs.UV_VERSION }}"
205213
- name: Install dependencies
@@ -217,7 +225,7 @@ jobs:
217225
timeout-minutes: 5
218226
steps:
219227
- name: "Check out repository code"
220-
uses: "actions/checkout@v5"
228+
uses: "actions/checkout@v6"
221229
with:
222230
submodules: true
223231

@@ -239,7 +247,6 @@ jobs:
239247
strategy:
240248
matrix:
241249
python-version:
242-
- "3.9"
243250
- "3.10"
244251
- "3.11"
245252
- "3.12"
@@ -254,15 +261,16 @@ jobs:
254261
timeout-minutes: 30
255262
steps:
256263
- name: "Check out repository code"
257-
uses: "actions/checkout@v5"
264+
uses: "actions/checkout@v6"
258265
- name: Set up Python ${{ matrix.python-version }}
259266
uses: actions/setup-python@v6
260267
with:
261268
python-version: ${{ matrix.python-version }}
262269
- name: Install UV
263-
uses: astral-sh/setup-uv@v4
270+
uses: astral-sh/setup-uv@v7
264271
with:
265272
version: "${{ needs.prepare-environment.outputs.UV_VERSION }}"
273+
python-version: ${{ matrix.python-version }}
266274
- name: Install dependencies
267275
run: uv sync --all-groups --all-extras
268276
- name: Mypy Tests
@@ -301,7 +309,7 @@ jobs:
301309
timeout-minutes: 30
302310
steps:
303311
- name: "Check out repository code"
304-
uses: "actions/checkout@v5"
312+
uses: "actions/checkout@v6"
305313
- name: Set up Python
306314
uses: actions/setup-python@v6
307315
with:
@@ -311,7 +319,7 @@ jobs:
311319
RUNNER_NAME=$(echo "${{ runner.name }}" | grep -o 'ghrunner[0-9]\+' | sed 's/ghrunner\([0-9]\+\)/ghrunner_\1/')
312320
echo "PYTEST_DEBUG_TEMPROOT=/var/lib/github/${RUNNER_NAME}/_temp" >> $GITHUB_ENV
313321
- name: Install UV
314-
uses: astral-sh/setup-uv@v4
322+
uses: astral-sh/setup-uv@v7
315323
with:
316324
version: "${{ needs.prepare-environment.outputs.UV_VERSION }}"
317325
- name: Install dependencies
@@ -339,14 +347,14 @@ jobs:
339347
# timeout-minutes: 30
340348
# steps:
341349
# - name: "Check out repository code"
342-
# uses: "actions/checkout@v5"
350+
# uses: "actions/checkout@v6"
343351

344352
# - name: "Extract target branch name"
345353
# id: extract_branch
346354
# run: echo "TARGET_BRANCH=${{ github.base_ref }}" >> $GITHUB_ENV
347355

348356
# - name: "Checkout infrahub repository"
349-
# uses: "actions/checkout@v5"
357+
# uses: "actions/checkout@v6"
350358
# with:
351359
# repository: "opsmill/infrahub"
352360
# path: "infrahub-server"

.github/workflows/labels.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
steps:
1818
-
1919
name: Checkout
20-
uses: actions/checkout@v5
20+
uses: actions/checkout@v6
2121
-
2222
name: Run Labeler
2323
uses: crazy-max/ghaction-github-labeler@v5

.github/workflows/publish-pypi.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ jobs:
4646
with:
4747
version: ${{ needs.prepare-environment.outputs.UV_VERSION }}
4848

49-
- name: Check out repository code
50-
uses: "actions/checkout@v5"
49+
- name: "Check out repository code"
50+
uses: "actions/checkout@v6"
5151
with:
5252
submodules: true
5353

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
latest_tag: ${{ steps.release.outputs.latest_tag }}
2222
steps:
2323
- name: "Check out repository code"
24-
uses: "actions/checkout@v5"
24+
uses: "actions/checkout@v6"
2525
with:
2626
submodules: true
2727

.github/workflows/repository-dispatch.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242

4343
steps:
4444
- name: Checkout code
45-
uses: actions/checkout@v5
45+
uses: actions/checkout@v6
4646

4747
- name: Repository Dispatch
4848
uses: peter-evans/repository-dispatch@v4

.github/workflows/sync-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ jobs:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- name: Checkout source repository
19-
uses: actions/checkout@v5
19+
uses: actions/checkout@v6
2020
with:
2121
path: source-repo
2222

2323
- name: Checkout target repository
24-
uses: actions/checkout@v5
24+
uses: actions/checkout@v6
2525
with:
2626
repository: opsmill/infrahub-docs
2727
token: ${{ secrets.PAT_TOKEN }}

.github/workflows/update-submodule.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
runs-on: ubuntu-22.04
3434
steps:
3535
- name: Checkout code
36-
uses: actions/checkout@v5
36+
uses: actions/checkout@v6
3737

3838
- name: Trigger submodule update
3939
run: |

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,22 @@ This project uses [*towncrier*](https://towncrier.readthedocs.io/) and the chang
1111

1212
<!-- towncrier release notes start -->
1313

14+
## [1.16.0](https://github.com/opsmill/infrahub-sdk-python/tree/v1.16.0) - 2025-12-01
15+
16+
### Added
17+
18+
- Added infrahubctl branch report command to help with cleaning up branches in Infrahub.
19+
20+
### Changed
21+
22+
- Updated behaviour for recursive lookups for the conversion of nested relationships. Note that this change could cause issues in transforms or generators that use the convert_query_response feature if "id" or "__typename" isn't requested for nested related objects. ([#389](https://github.com/opsmill/infrahub-sdk-python/issues/389))
23+
- The project now uses `uv` instead of `poetry` for package and dependency management.
24+
25+
### Removed
26+
27+
- Remove `is_visible` property from infrahub
28+
- Removed support for Python 3.9 (end of life)
29+
1430
## [1.15.1](https://github.com/opsmill/infrahub-sdk-python/tree/v1.15.1) - 2025-11-13
1531

1632
### Fixed

docs/_templates/sdk_template_reference.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ The following filters are those that are [shipped with Jinja2](https://jinja.pal
99

1010
<!-- vale off -->
1111
| Name | Trusted |
12-
|----------|----------|
12+
| ---- | ------- |
1313
{% for filter in builtin %}
1414
| {{ filter.name }} | {% if filter.trusted %}{% else %}{% endif %} |
1515
{% endfor %}
@@ -20,7 +20,7 @@ The following filters are those that are [shipped with Jinja2](https://jinja.pal
2020
The following Jinja2 filters from <a href="https://netutils.readthedocs.io">Netutils</a> are included within Infrahub.
2121
<!-- vale off -->
2222
| Name | Trusted |
23-
|----------|----------|
23+
| ---- | ------- |
2424
{% for filter in netutils %}
2525
| {{ filter.name }} | {% if filter.trusted %}{% else %}{% endif %} |
2626
{% endfor %}

docs/docs/infrahubctl/infrahubctl-branch.mdx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ $ infrahubctl branch [OPTIONS] COMMAND [ARGS]...
2323
* `list`: List all existing branches.
2424
* `merge`: Merge a Branch with main.
2525
* `rebase`: Rebase a Branch with main.
26+
* `report`: Generate branch cleanup status report.
2627
* `validate`: Validate if a branch has some conflict and...
2728

2829
## `infrahubctl branch create`
@@ -118,6 +119,26 @@ $ infrahubctl branch rebase [OPTIONS] BRANCH_NAME
118119
* `--config-file TEXT`: [env var: INFRAHUBCTL_CONFIG; default: infrahubctl.toml]
119120
* `--help`: Show this message and exit.
120121

122+
## `infrahubctl branch report`
123+
124+
Generate branch cleanup status report.
125+
126+
**Usage**:
127+
128+
```console
129+
$ infrahubctl branch report [OPTIONS] BRANCH_NAME
130+
```
131+
132+
**Arguments**:
133+
134+
* `BRANCH_NAME`: Branch name to generate report for [required]
135+
136+
**Options**:
137+
138+
* `--update-diff`: Update diff before generating report
139+
* `--config-file TEXT`: [env var: INFRAHUBCTL_CONFIG; default: infrahubctl.toml]
140+
* `--help`: Show this message and exit.
141+
121142
## `infrahubctl branch validate`
122143

123144
Validate if a branch has some conflict and is passing all the tests (NOT IMPLEMENTED YET).

0 commit comments

Comments
 (0)