Skip to content

Commit 20f20ed

Browse files
author
bakebot
committed
Cookie updated targeting develop by NetworkToCode Cookie Drift Manager Tool
- [#291](nautobot/cookiecutter-nautobot-app#291) - Added support for Python `3.13`. - [#291](nautobot/cookiecutter-nautobot-app#291) - Updated minimum Nautobot version to `3.0.0`. - [#291](nautobot/cookiecutter-nautobot-app#291) - Updated maximum Nautobot version to `<4.0.0`. - [#309](nautobot/cookiecutter-nautobot-app#309) - Change the tag-nautobot-app workflow to support multiple nautobot-app versions. - [#320](nautobot/cookiecutter-nautobot-app#320) - Upstream testing now runs against selected branches. - [#319](nautobot/cookiecutter-nautobot-app#319) - Fixed nav typo and added missing 2.7.2 release notes. - [#322](nautobot/cookiecutter-nautobot-app#322) - Updated CI workflow to always regenerate poetry lockfile. **Full Changelog**: nautobot/cookiecutter-nautobot-app@nautobot-app-v2.7.2...nautobot-app-v3.0.0
1 parent eaafbb4 commit 20f20ed

File tree

10 files changed

+101
-15
lines changed

10 files changed

+101
-15
lines changed

.cookiecutter.json

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,17 @@
1919
"_drift_manager": {
2020
"template": "https://github.com/nautobot/cookiecutter-nautobot-app.git",
2121
"template_dir": "nautobot-app",
22-
"template_ref": "nautobot-app-v2.7.1",
22+
"template_ref": "nautobot-app-v3.0.0",
2323
"cookie_dir": "",
24-
"branch_prefix": "drift-manager",
25-
"pull_request_strategy": "update-or-create",
24+
"pull_request_strategy": "create",
2625
"post_actions": [],
2726
"draft": false,
27+
<<<<<<< HEAD
2828
"baked_commit_ref": "249f18432f9651078256b7c8a8ece46b19b7f868"
29+
=======
30+
"baked_commit_ref": "ef1be219c8a2a68e9df31c95fe992549df070f00",
31+
"drift_managed_branch": "develop"
32+
>>>>>>> e3b162a (Cookie updated targeting develop by NetworkToCode Cookie Drift Manager Tool)
2933
}
3034
}
3135
}

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ labels:
77

88
### Environment
99
* Python version: <!-- Example: 3.11.4 -->
10-
* Nautobot version: <!-- Example: 2.4.20 -->
10+
* Nautobot version: <!-- Example: 3.0.0 -->
1111
* nautobot-device-onboarding version: <!-- Example: 1.0.0 -->
1212
* ntc-templates version: <!-- Example: 5.1.0 -->
1313

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ labels:
66
---
77

88
### Environment
9-
* Nautobot version: <!-- Example: 2.4.20 -->
9+
* Nautobot version: <!-- Example: 3.0.0 -->
1010
* nautobot-device-onboarding version: <!-- Example: 1.0.0 -->
1111

1212
<!--

.github/workflows/ci.yml

Lines changed: 56 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,39 +14,71 @@ env:
1414
APP_NAME: "nautobot-device-onboarding"
1515

1616
jobs:
17+
generate-lockfile:
18+
runs-on: "ubuntu-latest"
19+
steps:
20+
- name: "Check out repository code"
21+
uses: "actions/checkout@v4"
22+
- name: "Setup environment"
23+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
24+
with:
25+
poetry-version: "2.1.3"
26+
poetry-install-options: "--only-root"
27+
- name: "Regenerate poetry.lock"
28+
run: "poetry lock --regenerate"
29+
- name: "Upload poetry.lock"
30+
uses: "actions/upload-artifact@v4"
31+
with:
32+
name: "poetry-lock"
33+
path: "poetry.lock"
1734
ruff-format:
35+
needs: "generate-lockfile"
1836
runs-on: "ubuntu-latest"
1937
env:
2038
INVOKE_NAUTOBOT_DEVICE_ONBOARDING_LOCAL: "True"
2139
steps:
2240
- name: "Check out repository code"
2341
uses: "actions/checkout@v4"
42+
- name: "Download poetry.lock artifact"
43+
uses: "actions/download-artifact@v4"
44+
with:
45+
name: "poetry-lock"
2446
- name: "Setup environment"
2547
uses: "networktocode/gh-action-setup-poetry-environment@v6"
2648
with:
2749
poetry-version: "2.1.3"
2850
- name: "Linting: ruff format"
2951
run: "poetry run invoke ruff --action format"
3052
ruff-lint:
53+
needs: "generate-lockfile"
3154
runs-on: "ubuntu-latest"
3255
env:
3356
INVOKE_NAUTOBOT_DEVICE_ONBOARDING_LOCAL: "True"
3457
steps:
3558
- name: "Check out repository code"
3659
uses: "actions/checkout@v4"
60+
- name: "Download poetry.lock artifact"
61+
uses: "actions/download-artifact@v4"
62+
with:
63+
name: "poetry-lock"
3764
- name: "Setup environment"
3865
uses: "networktocode/gh-action-setup-poetry-environment@v6"
3966
with:
4067
poetry-version: "2.1.3"
4168
- name: "Linting: ruff"
4269
run: "poetry run invoke ruff --action lint"
4370
check-docs-build:
71+
needs: "generate-lockfile"
4472
runs-on: "ubuntu-latest"
4573
env:
4674
INVOKE_NAUTOBOT_DEVICE_ONBOARDING_LOCAL: "True"
4775
steps:
4876
- name: "Check out repository code"
4977
uses: "actions/checkout@v4"
78+
- name: "Download poetry.lock artifact"
79+
uses: "actions/download-artifact@v4"
80+
with:
81+
name: "poetry-lock"
5082
- name: "Setup environment"
5183
uses: "networktocode/gh-action-setup-poetry-environment@v6"
5284
with:
@@ -68,25 +100,35 @@ jobs:
68100
- name: "Checking: poetry lock file"
69101
run: "poetry run invoke lock --check"
70102
yamllint:
103+
needs: "generate-lockfile"
71104
runs-on: "ubuntu-latest"
72105
env:
73106
INVOKE_NAUTOBOT_DEVICE_ONBOARDING_LOCAL: "True"
74107
steps:
75108
- name: "Check out repository code"
76109
uses: "actions/checkout@v4"
110+
- name: "Download poetry.lock artifact"
111+
uses: "actions/download-artifact@v4"
112+
with:
113+
name: "poetry-lock"
77114
- name: "Setup environment"
78115
uses: "networktocode/gh-action-setup-poetry-environment@v6"
79116
with:
80117
poetry-version: "2.1.3"
81118
- name: "Linting: yamllint"
82119
run: "poetry run invoke yamllint"
83120
markdownlint:
121+
needs: "generate-lockfile"
84122
runs-on: "ubuntu-latest"
85123
env:
86124
INVOKE_NAUTOBOT_DEVICE_ONBOARDING_LOCAL: "True"
87125
steps:
88126
- name: "Check out repository code"
89127
uses: "actions/checkout@v4"
128+
- name: "Download poetry.lock artifact"
129+
uses: "actions/download-artifact@v4"
130+
with:
131+
name: "poetry-lock"
90132
- name: "Setup environment"
91133
uses: "networktocode/gh-action-setup-poetry-environment@v6"
92134
with:
@@ -104,7 +146,11 @@ jobs:
104146
strategy:
105147
fail-fast: true
106148
matrix:
149+
<<<<<<< HEAD
107150
python-version: ["3.13"]
151+
=======
152+
python-version: ["3.10"]
153+
>>>>>>> e3b162a (Cookie updated targeting develop by NetworkToCode Cookie Drift Manager Tool)
108154
nautobot-version: ["3.0.0"]
109155
env:
110156
INVOKE_NAUTOBOT_DEVICE_ONBOARDING_PYTHON_VER: "${{ matrix.python-version }}"
@@ -150,11 +196,15 @@ jobs:
150196
strategy:
151197
fail-fast: true
152198
matrix:
199+
<<<<<<< HEAD
153200
python-version: ["3.11"] # 3.13 stable is tested in unittest_report stage.
201+
=======
202+
python-version: ["3.10"] # 3.13 stable is tested in unittest_report stage.
203+
>>>>>>> e3b162a (Cookie updated targeting develop by NetworkToCode Cookie Drift Manager Tool)
154204
db-backend: ["postgresql"]
155205
nautobot-version: ["stable"]
156206
include:
157-
- python-version: "3.11"
207+
- python-version: "3.10"
158208
db-backend: "postgresql"
159209
nautobot-version: "3.0.0"
160210
- python-version: "3.13"
@@ -198,7 +248,6 @@ jobs:
198248
if: "matrix.db-backend == 'mysql'"
199249
- name: "Run Tests"
200250
run: "poetry run invoke unittest"
201-
202251
unittest_report:
203252
needs:
204253
- "check-in-docker"
@@ -271,8 +320,8 @@ jobs:
271320
with:
272321
name: "python-coverage-comment-action"
273322
path: "python-coverage-comment-action.txt"
274-
275323
changelog:
324+
needs: "generate-lockfile"
276325
if: >
277326
contains(fromJson('["develop","ltm-1.6"]'), github.base_ref) &&
278327
(github.head_ref != 'main') && (!startsWith(github.head_ref, 'release'))
@@ -282,6 +331,10 @@ jobs:
282331
uses: "actions/checkout@v4"
283332
with:
284333
fetch-depth: "0"
334+
- name: "Download poetry.lock artifact"
335+
uses: "actions/download-artifact@v4"
336+
with:
337+
name: "poetry-lock"
285338
- name: "Setup environment"
286339
uses: "networktocode/gh-action-setup-poetry-environment@v6"
287340
with:

.github/workflows/upstream_testing.yml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,26 @@ name: "Nautobot Upstream Monitor"
33

44
on: # yamllint disable-line rule:truthy rule:comments
55
schedule:
6-
- cron: "0 4 */2 * *" # every other day at midnight
6+
- cron: "0 4 */2 * *" # every other day at 4 AM
77
workflow_dispatch:
88

99
jobs:
1010
upstream-test:
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
include:
15+
- nautobot_branch: "develop"
16+
app_branch: "main"
17+
- nautobot_branch: "next"
18+
app_branch: "main"
19+
- nautobot_branch: "ltm-2.4"
20+
app_branch: "ltm-2.4"
21+
# - nautobot_branch: "next-4.0"
22+
# app_branch: "next-4.0"
1123
uses: "nautobot/nautobot/.github/workflows/plugin_upstream_testing_base.yml@develop"
1224
with: # Below could potentially be collapsed into a single argument if a concrete relationship between both is enforced
1325
invoke_context_name: "NAUTOBOT_DEVICE_ONBOARDING"
14-
plugin_name: "nautobot-device-onboarding"
26+
app_name: "nautobot-device-onboarding"
27+
nautobot_branch: "${{ matrix.nautobot_branch }}"
28+
app_branch: "${{ matrix.app_branch }}"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Rebaked from the cookie `nautobot-app-v3.0.0`.

docs/admin/compatibility_matrix.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Compatibility Matrix
22

33
| Device Onboarding Version | Nautobot First Support Version | Nautobot Last Support Version |
4+
<<<<<<< HEAD
45
| ------------------------- | ------------------------------ | ----------------------------- |
56
| 1.0.1 | 1.0.0 | 1.1.99 |
67
| 1.1.2 | 1.2.0 | 1.99 |
@@ -22,3 +23,7 @@
2223
| 4.3.2 | 2.4.2 | 2.99 |
2324
| 4.4.X | 2.4.20 | 2.99 |
2425
| 5.0.X | 3.0.0 | 3.99 |
26+
=======
27+
| ------------- | -------------------- | ------------- |
28+
| 1.0.X | 3.0.0 | 2.99.99 |
29+
>>>>>>> e3b162a (Cookie updated targeting develop by NetworkToCode Cookie Drift Manager Tool)

docs/admin/install.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Here you will find detailed instructions on how to **install** and **configure**
44

55
## Prerequisites
66

7-
- The app is compatible with Nautobot 2.4.20 and higher.
7+
- The app is compatible with Nautobot 3.0.0 and higher.
88
- Databases supported: PostgreSQL, MySQL
99

1010
!!! note

docs/dev/dev_environment.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ The first thing you need to do is build the necessary Docker image for Nautobot
181181
#14 exporting layers
182182
#14 exporting layers 1.2s done
183183
#14 writing image sha256:2d524bc1665327faa0d34001b0a9d2ccf450612bf8feeb969312e96a2d3e3503 done
184-
#14 naming to docker.io/nautobot-device-onboarding/nautobot:2.4.20-py3.12 done
184+
#14 naming to docker.io/nautobot-device-onboarding/nautobot:3.0.0-py3.12 done
185185
```
186186

187187
### Invoke - Starting the Development Environment
@@ -212,9 +212,9 @@ This will start all of the Docker containers used for hosting Nautobot. You shou
212212
```bash
213213
➜ docker ps
214214
****CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
215-
ee90fbfabd77 nautobot-device-onboarding/nautobot:2.4.20-py3.12 "nautobot-server rqw…" 16 seconds ago Up 13 seconds nautobot_device_onboarding_worker_1
216-
b8adb781d013 nautobot-device-onboarding/nautobot:2.4.20-py3.12 "/docker-entrypoint.…" 20 seconds ago Up 15 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp nautobot_device_onboarding_nautobot_1
217-
d64ebd60675d nautobot-device-onboarding/nautobot:2.4.20-py3.12 "mkdocs serve -v -a …" 25 seconds ago Up 18 seconds 0.0.0.0:8001->8080/tcp, :::8001->8080/tcp nautobot_device_onboarding_docs_1
215+
ee90fbfabd77 nautobot-device-onboarding/nautobot:3.0.0-py3.12 "nautobot-server rqw…" 16 seconds ago Up 13 seconds nautobot_device_onboarding_worker_1
216+
b8adb781d013 nautobot-device-onboarding/nautobot:3.0.0-py3.12 "/docker-entrypoint.…" 20 seconds ago Up 15 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp nautobot_device_onboarding_nautobot_1
217+
d64ebd60675d nautobot-device-onboarding/nautobot:3.0.0-py3.12 "mkdocs serve -v -a …" 25 seconds ago Up 18 seconds 0.0.0.0:8001->8080/tcp, :::8001->8080/tcp nautobot_device_onboarding_docs_1
218218
e72d63129b36 postgres:13-alpine "docker-entrypoint.s…" 25 seconds ago Up 19 seconds 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp nautobot_device_onboarding_postgres_1
219219
96c6ff66997c redis:6-alpine "docker-entrypoint.s…" 25 seconds ago Up 21 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp nautobot_device_onboarding_redis_1
220220
```
@@ -414,7 +414,11 @@ namespace.configure(
414414
"nautobot_device_onboarding": {
415415
...
416416
"nautobot_ver": "3.0.0",
417+
<<<<<<< HEAD
417418
...
419+
=======
420+
...
421+
>>>>>>> e3b162a (Cookie updated targeting develop by NetworkToCode Cookie Drift Manager Tool)
418422
}
419423
}
420424
)

pyproject.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ include = [
2727

2828
[tool.poetry.dependencies]
2929
python = ">=3.10,<3.14"
30+
<<<<<<< HEAD
3031
napalm = ">=4.1.0, <6.0.0"
3132
zipp = "^3.4.0"
3233
nautobot = ">=3.0.0,<4.0.0"
@@ -37,6 +38,10 @@ ntc-templates = "^7.0.0"
3738
# Netutils pin is needed for https://github.com/networktocode/netutils/pull/553
3839
netutils = "^1.9.1"
3940
ttp = "^0.9.0"
41+
=======
42+
# Used for local development
43+
nautobot = ">=3.0.0,<4.0.0"
44+
>>>>>>> e3b162a (Cookie updated targeting develop by NetworkToCode Cookie Drift Manager Tool)
4045

4146
[tool.poetry.group.dev.dependencies]
4247
coverage = "*"

0 commit comments

Comments
 (0)