Skip to content

Commit 74bdfb2

Browse files
committed
Cookie initialy baked by NetworkToCode Cookie Drift Manager Tool
Template: ``` { "template": "[email protected]:networktocode-llc/cookiecutter-ntc.git", "dir": "python", "ref": "main", "path": null } ``` Cookie: ``` { "remote": "https://github.com/networktocode/diffsync.git", "path": "/Users/justin.drew/Projects/outputs/diffsync", "repository_path": "/Users/justin.drew/Projects/outputs/diffsync", "dir": "", "branch_prefix": "drift-manager/develop", "context": { "codeowner_github_usernames": "@glennmatthews @michalis1 @jdrew82", "full_name": "Network to Code, LLC", "email": "[email protected]", "github_org": "networktocode", "description": "Library to easily sync/diff/update 2 different data sources", "project_name": "diffsync", "project_slug": "diffsync", "repo_url": "https://github.com/networktocode/diffsync", "base_url": "diffsync", "project_python_name": "diffsync", "project_python_base_version": "3.10", "project_with_config_settings": "no", "generate_docs": "yes", "version": "2.2.0", "original_publish_year": "2025", "_template": "[email protected]:networktocode-llc/cookiecutter-ntc.git", "_output_dir": "/Users/justin.drew/Projects/outputs", "_repo_dir": "/Users/justin.drew/.cookiecutters/cookiecutter-ntc/python", "_checkout": "main" }, "drift_managed_branch": "develop", "remote_name": "origin", "pull_request_strategy": "PullRequestStrategy.CREATE", "post_actions": [], "baked_commit_ref": "", "draft": false } ``` CLI Arguments: ``` { "cookie_dir": "", "input": true, "json_filename": "", "output_dir": "../outputs", "push": true, "template": "[email protected]:networktocode-llc/cookiecutter-ntc.git", "template_dir": "python", "template_ref": "main", "pull_request": null, "post_action": [], "disable_post_actions": false, "draft": null, "drift_managed_branch": "develop" } ```
1 parent 8083f63 commit 74bdfb2

Some content is hidden

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

53 files changed

+2430
-1
lines changed

.cookiecutter.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"cookiecutter": {
3+
"codeowner_github_usernames": "@glennmatthews @michalis1 @jdrew82",
4+
"full_name": "Network to Code, LLC",
5+
"email": "[email protected]",
6+
"github_org": "networktocode",
7+
"description": "Library to easily sync/diff/update 2 different data sources",
8+
"project_name": "diffsync",
9+
"project_slug": "diffsync",
10+
"repo_url": "https://github.com/networktocode/diffsync",
11+
"base_url": "diffsync",
12+
"project_python_name": "diffsync",
13+
"project_python_base_version": "3.10",
14+
"project_with_config_settings": "no",
15+
"generate_docs": "yes",
16+
"version": "2.2.0",
17+
"original_publish_year": "2025",
18+
"_drift_manager": {
19+
"template": "[email protected]:networktocode-llc/cookiecutter-ntc.git",
20+
"template_dir": "python",
21+
"template_ref": "main",
22+
"cookie_dir": "",
23+
"pull_request_strategy": "create",
24+
"post_actions": [],
25+
"draft": false,
26+
"baked_commit_ref": "bc789d65fa90182c0eb392664e1cba02ea187ab1",
27+
"drift_managed_branch": "develop"
28+
}
29+
}
30+
}

.dockerignore

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<<<<<<< HEAD
12
**/*.pyc
23
**/*.pyo
34
**/*.log
@@ -6,4 +7,33 @@
67
Dockerfile
78
docker-compose.yml
89
.env
9-
docs/_build
10+
docs/_build
11+
=======
12+
# Docker related
13+
development/Dockerfile
14+
development/docker-compose*.yml
15+
development/*.env
16+
*.env
17+
environments/
18+
19+
# Python
20+
**/*.pyc
21+
**/*.pyo
22+
**/__pycache__/
23+
**/.pytest_cache/
24+
**/.venv/
25+
26+
27+
# Other
28+
docs/_build
29+
FAQ.md
30+
.git/
31+
.gitignore
32+
.github
33+
tasks.py
34+
LICENSE
35+
**/*.log
36+
**/.vscode/
37+
invoke*.yml
38+
tasks.py
39+
>>>>>>> c5f3eb1 (Cookie initialy baked by NetworkToCode Cookie Drift Manager Tool)

.github/CODEOWNERS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
1+
<<<<<<< HEAD
12
# Default owners for all files in this repository
3+
=======
4+
# Default owner(s) of all files in this repository
5+
>>>>>>> c5f3eb1 (Cookie initialy baked by NetworkToCode Cookie Drift Manager Tool)
26
* @glennmatthews @michalis1 @jdrew82

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
name: 🐛 Bug Report
3+
<<<<<<< HEAD
34
about: Report a reproducible bug in the current release of DiffSync
45
---
56

@@ -9,15 +10,34 @@ about: Report a reproducible bug in the current release of DiffSync
910

1011
<!-- What happened instead? -->
1112
### Observed Behavior
13+
=======
14+
about: Report a reproducible bug in the current release of diffsync
15+
---
16+
17+
### Environment
18+
* Python version: <!-- Example: 3.10 -->
19+
* diffsync version: <!-- Example: 1.0.0 -->
20+
>>>>>>> c5f3eb1 (Cookie initialy baked by NetworkToCode Cookie Drift Manager Tool)
1221
1322
<!-- What did you expect to happen? -->
1423
### Expected Behavior
1524

25+
<<<<<<< HEAD
26+
=======
27+
28+
<!-- What happened instead? -->
29+
### Observed Behavior
30+
31+
>>>>>>> c5f3eb1 (Cookie initialy baked by NetworkToCode Cookie Drift Manager Tool)
1632
<!--
1733
Describe in detail the exact steps that someone else can take to reproduce
1834
this bug using the current release.
1935
-->
2036
### Steps to Reproduce
2137
1.
2238
2.
39+
<<<<<<< HEAD
40+
3.
41+
=======
2342
3.
43+
>>>>>>> c5f3eb1 (Cookie initialy baked by NetworkToCode Cookie Drift Manager Tool)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,36 @@
11
---
22
name: ✨ Feature Request
33
about: Propose a new feature or enhancement
4+
<<<<<<< HEAD
45
---
56

67
### Environment
78
* DiffSync version: <!-- Example: 1.0.0 -->
9+
=======
10+
11+
---
12+
13+
### Environment
14+
* diffsync version: <!-- Example: 1.0.0 -->
15+
>>>>>>> c5f3eb1 (Cookie initialy baked by NetworkToCode Cookie Drift Manager Tool)
816
917
<!--
1018
Describe in detail the new functionality you are proposing.
1119
-->
1220
### Proposed Functionality
1321

22+
<<<<<<< HEAD
1423

24+
=======
25+
>>>>>>> c5f3eb1 (Cookie initialy baked by NetworkToCode Cookie Drift Manager Tool)
1526
<!--
1627
Convey an example use case for your proposed feature. Write from the
1728
perspective of a user who would benefit from the proposed
1829
functionality and describe how.
30+
<<<<<<< HEAD
1931
-->
32+
=======
33+
--->
34+
>>>>>>> c5f3eb1 (Cookie initialy baked by NetworkToCode Cookie Drift Manager Tool)
2035
### Use Case
2136

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
## New Pull Request
2+
3+
Have you:
4+
- [ ] Updated the README if necessary?
5+
- [ ] Updated any configuration settings?
6+
- [ ] Written a unit test?
7+
8+
## Change Notes
9+
10+
## Justification

.github/workflows/ci.yml

Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,16 @@ name: "CI"
33
concurrency: # Cancel any existing runs of this workflow for this same PR
44
group: "${{ github.workflow }}-${{ github.ref }}"
55
cancel-in-progress: true
6+
<<<<<<< HEAD
67
on: # yamllint disable
8+
=======
9+
on: # yamllint disable-line rule:truthy rule:comments
10+
>>>>>>> c5f3eb1 (Cookie initialy baked by NetworkToCode Cookie Drift Manager Tool)
711
push:
812
branches:
913
- "main"
1014
- "develop"
15+
<<<<<<< HEAD
1116
tags:
1217
- "v*"
1318
pull_request: ~
@@ -259,3 +264,173 @@ jobs:
259264
env:
260265
SLACK_WEBHOOK_URL: "${{ secrets.SLACK_WEBHOOK_URL }}"
261266
SLACK_WEBHOOK_TYPE: "INCOMING_WEBHOOK"
267+
=======
268+
pull_request: ~
269+
270+
env:
271+
INVOKE_DIFFSYNC_IMAGE_NAME: "diffsync"
272+
INVOKE_DIFFSYNC_IMAGE_VER: "latest"
273+
274+
jobs:
275+
ruff-format:
276+
runs-on: "ubuntu-latest"
277+
env:
278+
INVOKE_DIFFSYNC_LOCAL: "True"
279+
steps:
280+
- name: "Check out repository code"
281+
uses: "actions/checkout@v4"
282+
- name: "Setup environment"
283+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
284+
with:
285+
poetry-version: "2.1.3"
286+
- name: "Linting: ruff format"
287+
run: "poetry run invoke ruff --action format"
288+
ruff-lint:
289+
runs-on: "ubuntu-latest"
290+
env:
291+
INVOKE_DIFFSYNC_LOCAL: "True"
292+
steps:
293+
- name: "Check out repository code"
294+
uses: "actions/checkout@v4"
295+
- name: "Setup environment"
296+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
297+
with:
298+
poetry-version: "2.1.3"
299+
- name: "Linting: ruff"
300+
run: "poetry run invoke ruff --action lint"
301+
check-docs-build:
302+
runs-on: "ubuntu-latest"
303+
env:
304+
INVOKE_DIFFSYNC_LOCAL: "True"
305+
steps:
306+
- name: "Check out repository code"
307+
uses: "actions/checkout@v4"
308+
- name: "Setup environment"
309+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
310+
with:
311+
poetry-version: "2.1.3"
312+
poetry-install-options: "--only dev,docs"
313+
- name: "Check Docs Build"
314+
run: "poetry run invoke build-and-check-docs"
315+
poetry:
316+
runs-on: "ubuntu-latest"
317+
env:
318+
INVOKE_DIFFSYNC_LOCAL: "True"
319+
steps:
320+
- name: "Check out repository code"
321+
uses: "actions/checkout@v4"
322+
- name: "Setup environment"
323+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
324+
with:
325+
poetry-version: "2.1.3"
326+
- name: "Checking: poetry lock file"
327+
run: "poetry run invoke lock --check"
328+
yamllint:
329+
runs-on: "ubuntu-latest"
330+
env:
331+
INVOKE_DIFFSYNC_LOCAL: "True"
332+
steps:
333+
- name: "Check out repository code"
334+
uses: "actions/checkout@v4"
335+
- name: "Setup environment"
336+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
337+
with:
338+
poetry-version: "2.1.3"
339+
- name: "Linting: yamllint"
340+
run: "poetry run invoke yamllint"
341+
check-in-docker:
342+
needs:
343+
- "ruff-format"
344+
- "ruff-lint"
345+
- "poetry"
346+
- "yamllint"
347+
runs-on: "ubuntu-latest"
348+
strategy:
349+
fail-fast: true
350+
matrix:
351+
python-version: ["3.10", "3.13"]
352+
env:
353+
INVOKE_DIFFSYNC_PYTHON_VER: "${{ matrix.python-version }}"
354+
steps:
355+
- name: "Check out repository code"
356+
uses: "actions/checkout@v4"
357+
- name: "Setup environment"
358+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
359+
with:
360+
poetry-version: "2.1.3"
361+
- name: "Get image version"
362+
run: "echo INVOKE_DIFFSYNC_IMAGE_VER=`poetry version -s`-py$${{ matrix.python-version }} >> $GITHUB_ENV"
363+
- name: "Set up Docker Buildx"
364+
id: "buildx"
365+
uses: "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" # v3.10.0
366+
- name: "Build"
367+
uses: "docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25" # v5.4.0
368+
with:
369+
builder: "${{ steps.buildx.outputs.name }}"
370+
context: "./"
371+
push: false
372+
load: true
373+
tags: "${{ env.INVOKE_DIFFSYNC_IMAGE_NAME }}:${{ env.INVOKE_DIFFSYNC_IMAGE_VER }}"
374+
file: "./Dockerfile"
375+
cache-from: "type=gha,scope=${{ env.INVOKE_DIFFSYNC_IMAGE_NAME }}-${{ env.INVOKE_DIFFSYNC_IMAGE_VER }}-py${{ matrix.python-version }}"
376+
cache-to: "type=gha,scope=${{ env.INVOKE_DIFFSYNC_IMAGE_NAME }}-${{ env.INVOKE_DIFFSYNC_IMAGE_VER }}-py${{ matrix.python-version }}"
377+
build-args: |
378+
PYTHON_VER=${{ env.PYTHON_VER }}
379+
- name: "Linting: Pylint"
380+
run: "poetry run invoke pylint"
381+
pytest:
382+
needs:
383+
- "check-in-docker"
384+
strategy:
385+
fail-fast: true
386+
matrix:
387+
python-version: ["3.10", "3.11", "3.12", "3.13"]
388+
runs-on: "ubuntu-latest"
389+
env:
390+
INVOKE_DIFFSYNC_PYTHON_VER: "${{ matrix.python-version }}"
391+
steps:
392+
- name: "Check out repository code"
393+
uses: "actions/checkout@v4"
394+
- name: "Setup environment"
395+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
396+
with:
397+
poetry-version: "2.1.3"
398+
- name: "Get image version"
399+
run: "echo INVOKE_DIFFSYNC_IMAGE_VER=`poetry version -s`-py${{ matrix.python-version }} >> $GITHUB_ENV"
400+
- name: "Set up Docker Buildx"
401+
id: "buildx"
402+
uses: "docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2" # v3.10.0
403+
- name: "Build"
404+
uses: "docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25" # v5.4.0
405+
with:
406+
builder: "${{ steps.buildx.outputs.name }}"
407+
context: "./"
408+
push: false
409+
load: true
410+
tags: "${{ env.INVOKE_DIFFSYNC_IMAGE_NAME }}:${{ env.INVOKE_DIFFSYNC_IMAGE_VER }}"
411+
file: "./Dockerfile"
412+
cache-from: "type=gha,scope=${{ env.INVOKE_DIFFSYNC_IMAGE_NAME }}-${{ env.INVOKE_DIFFSYNC_IMAGE_VER }}-py${{ matrix.python-version }}"
413+
cache-to: "type=gha,scope=${{ env.INVOKE_DIFFSYNC_IMAGE_NAME }}-${{ env.INVOKE_DIFFSYNC_IMAGE_VER }}-py${{ matrix.python-version }}"
414+
build-args: |
415+
PYTHON_VER=${{ env.PYTHON_VER }}
416+
- name: "Run Tests"
417+
run: "poetry run invoke pytest"
418+
changelog:
419+
if: >
420+
contains(fromJson('["develop"]'), github.base_ref) &&
421+
(github.head_ref != 'main') && (!startsWith(github.head_ref, 'release'))
422+
runs-on: "ubuntu-latest"
423+
steps:
424+
- name: "Check out repository code"
425+
uses: "actions/checkout@v4"
426+
with:
427+
fetch-depth: "0"
428+
- name: "Setup environment"
429+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
430+
with:
431+
poetry-version: "2.1.3"
432+
- name: "Check for changelog entry"
433+
run: |
434+
git fetch --no-tags origin +refs/heads/${{ github.base_ref }}:refs/remotes/origin/${{ github.base_ref }}
435+
poetry run towncrier check --compare-with origin/${{ github.base_ref }}
436+
>>>>>>> c5f3eb1 (Cookie initialy baked by NetworkToCode Cookie Drift Manager Tool)

0 commit comments

Comments
 (0)