Skip to content

Commit 5ed18c9

Browse files
committed
Init Catalystwan SDK Next SDK
0 parents  commit 5ed18c9

File tree

18,913 files changed

+667467
-0
lines changed

Some content is hidden

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

18,913 files changed

+667467
-0
lines changed

.github/CODEOWNERS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# See https://help.github.com/articles/about-codeowners/
2+
# for more info about CODEOWNERS file
3+
4+
# These owners will be the default owners for everything in
5+
# the repo. Unless a later match takes precedence
6+
7+
8+
@JimOverholt @smialy @PrzeG @sbasan
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Bug Report
2+
description: Report a problem or a bug with Cisco Catalyst WAN SDK code.
3+
labels: ["needs review"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thank you for finding the time to report a problem!
9+
We really appreciate that.
10+
- type: textarea
11+
attributes:
12+
label: Summary
13+
description: Description of the bug, what happened and what you expected to happen
14+
placeholder: >
15+
Clear and concise description of what the bug is.
16+
validations:
17+
required: true
18+
- type: textarea
19+
attributes:
20+
label: Logs and external information
21+
description: Add logs to help diagnose the issue.
22+
placeholder: >
23+
TBD
24+
validations:
25+
required: false
26+
- type: textarea
27+
attributes:
28+
label: Reproduction script
29+
description: >
30+
Please provide minimal, copy-pasted script which reproduces the issue.
31+
If reproducible script is not provided, issue may be closed.
32+
[How to create a Minimal, Reproducible Example](https://stackoverflow.com/help/mcve).
33+
validations:
34+
required: true
35+
- type: dropdown
36+
attributes:
37+
label: On what platform(s) does it occur?
38+
multiple: true
39+
options:
40+
- Windows
41+
- Linux
42+
- macOS
43+
- Not Applicable
44+
validations:
45+
required: true
46+
- type: dropdown
47+
attributes:
48+
label: Issue Severity
49+
description: |
50+
How does it affect you as a user?
51+
multiple: false
52+
options:
53+
- "High: Blocking everything"
54+
- "Medium: There is a workaround"
55+
- "Low: It annoys me"
56+
validations:
57+
required: false
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: feature request
2+
description: Suggest an idea for Cisco Catalyst WAN SDK.
3+
labels: [enhancement]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thank you for finding the time to propose a new feature!
9+
We really appreciate that.
10+
11+
- type: textarea
12+
attributes:
13+
label: Description
14+
description: A short description of your feature.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Pull Request summary:
2+
[Describe briefly what the PR is about]
3+
4+
# Description of changes:
5+
[Add more in depth analysis of what changed, provide logs, examples of usage]
6+
7+
# Checklist:
8+
- [ ] Make sure to run pre-commit before committing changes
9+
- [ ] Make sure all checks have passed
10+
- [ ] PR description is clear and comprehensive
11+
- [ ] Mentioned the issue that this PR solves (if applicable)
12+
- [ ] Make sure you test the changes

.github/dependabot.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
version: 2
2+
updates:
3+
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
8+
9+
- package-ecosystem: "pip"
10+
directory: "/"
11+
target-branch: "python-dependencies"
12+
open-pull-requests-limit: 1
13+
schedule:
14+
interval: "weekly"
15+
groups:
16+
python-dev:
17+
applies-to: version-updates
18+
update-types:
19+
- "minor"
20+
- "patch"

.github/workflows/ci.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
name: CI
3+
4+
on:
5+
push:
6+
branches: "main"
7+
pull_request:
8+
paths:
9+
- '.github/workflows/ci.yml'
10+
- '.github/workflows/ci_core.yml'
11+
- 'packages/**'
12+
workflow_dispatch: # Allows to trigger the workflow manually in GitHub UI
13+
14+
jobs:
15+
ci-core:
16+
uses:
17+
./.github/workflows/ci_core.yml
18+
with:
19+
working-directory: packages/catalystwan-core
20+
ci-types:
21+
uses:
22+
./.github/workflows/ci_types.yml
23+
with:
24+
working-directory: packages/catalystwan-types
25+
ci-version-20-15:
26+
uses:
27+
./.github/workflows/ci_version.yml
28+
with:
29+
working-directory: versions/catalystwan-v20_15

.github/workflows/ci_core.yml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
name: CI Core
3+
4+
on:
5+
workflow_call:
6+
inputs:
7+
working-directory:
8+
required: true
9+
type: string
10+
description: "From which folder this pipeline executes"
11+
12+
env:
13+
FORCE_COLOR: "1"
14+
15+
jobs:
16+
units:
17+
runs-on: ${{ matrix.os }}
18+
strategy:
19+
fail-fast: false
20+
matrix:
21+
os: [ubuntu-22.04]
22+
python-version:
23+
- "3.8"
24+
- "3.9"
25+
- "3.10"
26+
- "3.11"
27+
- "3.12"
28+
defaults:
29+
run:
30+
working-directory: ${{ inputs.working-directory }}
31+
steps:
32+
- uses: actions/checkout@v4
33+
- name: Set up Python ${{ matrix.python-version }}
34+
uses: actions/setup-python@v5
35+
with:
36+
python-version: ${{ matrix.python-version }}
37+
allow-prereleases: true
38+
- name: Setup uv
39+
uses: astral-sh/setup-uv@v5
40+
- name: Install Catalystwan WAN SDK Types (uv)
41+
run: uv pip install --system ../catalystwan-types
42+
- name: Install Catalystwan WAN SDK Version 20.15 (uv)
43+
run: uv pip install --system ../../versions/catalystwan-v20_15
44+
- name: Install Catalystwan WAN SDK Self (uv)
45+
run: uv pip install --system .
46+
- name: Install Nox
47+
run: uv pip install --system nox==2024.10.*
48+
- name: Run tests on ${{ matrix.os }} )
49+
run: nox --non-interactive --session "units" --python=${{ matrix.python-version }}
50+
51+
typing:
52+
runs-on: ubuntu-latest
53+
defaults:
54+
run:
55+
working-directory: ${{ inputs.working-directory }}
56+
steps:
57+
- uses: actions/checkout@v4
58+
- name: Set up Python 3.12
59+
uses: actions/setup-python@v5
60+
with:
61+
python-version: "3.12"
62+
- name: Setup uv
63+
uses: astral-sh/setup-uv@v5
64+
- name: Install Catalystwan WAN SDK Types (uv)
65+
run: uv pip install --system ../catalystwan-types
66+
- name: Install Catalystwan WAN SDK Version 20.15 (uv)
67+
run: uv pip install --system ../../versions/catalystwan-v20_15
68+
- name: Install Catalystwan WAN SDK Self (uv)
69+
run: uv pip install --system .
70+
- name: Install Nox
71+
run: uv pip install --system nox==2024.10.*
72+
- name: Run typing on ${{ matrix.os }} )
73+
run: nox --non-interactive --session "mypy"
74+
75+
lint:
76+
runs-on: ubuntu-latest
77+
defaults:
78+
run:
79+
working-directory: ${{ inputs.working-directory }}
80+
steps:
81+
- uses: actions/checkout@v4
82+
- name: Set up Python 3.12
83+
uses: actions/setup-python@v5
84+
with:
85+
python-version: "3.12"
86+
- name: Setup uv
87+
uses: astral-sh/setup-uv@v5
88+
- name: Install Nox
89+
run: uv pip install --system nox==2024.10.*
90+
- name: Run linting on ${{ matrix.os }} )
91+
run: nox --non-interactive --session "lint"
92+
93+
deploy:
94+
needs: [units, lint, typing]
95+
runs-on: ubuntu-latest
96+
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
97+
steps:
98+
- uses: actions/checkout@v4
99+
- name: Build sdist and wheel
100+
run: pipx run build
101+
# - name: Publish distribution PyPI
102+
# uses: pypa/gh-action-pypi-publish@release/v1
103+
# with:
104+
# password: ${{ secrets.PYPI_API_TOKEN }}

.github/workflows/ci_types.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
name: CI Types
3+
4+
on:
5+
workflow_call:
6+
inputs:
7+
working-directory:
8+
required: true
9+
type: string
10+
description: "From which folder this pipeline executes"
11+
12+
env:
13+
FORCE_COLOR: "1"
14+
15+
jobs:
16+
typing:
17+
runs-on: ubuntu-latest
18+
defaults:
19+
run:
20+
working-directory: ${{ inputs.working-directory }}
21+
steps:
22+
- uses: actions/checkout@v4
23+
- name: Set up Python 3.12
24+
uses: actions/setup-python@v5
25+
with:
26+
python-version: "3.12"
27+
- name: Setup uv
28+
uses: astral-sh/setup-uv@v5
29+
- name: Install Catalystwan WAN SDK Self (uv)
30+
run: uv pip install --system .
31+
- name: Install Nox
32+
run: uv pip install --system nox==2024.10.*
33+
- name: Run typing on ${{ matrix.os }} )
34+
run: nox --non-interactive --session "mypy"
35+
36+
lint:
37+
runs-on: ubuntu-latest
38+
defaults:
39+
run:
40+
working-directory: ${{ inputs.working-directory }}
41+
steps:
42+
- uses: actions/checkout@v4
43+
- name: Set up Python 3.12
44+
uses: actions/setup-python@v5
45+
with:
46+
python-version: "3.12"
47+
- name: Setup uv
48+
uses: astral-sh/setup-uv@v5
49+
- name: Install Nox
50+
run: uv pip install --system nox==2024.10.*
51+
- name: Run linting on ${{ matrix.os }} )
52+
run: nox --non-interactive --session "lint"
53+
54+
deploy:
55+
needs: [lint, typing]
56+
runs-on: ubuntu-latest
57+
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
58+
steps:
59+
- uses: actions/checkout@v4
60+
- name: Build sdist and wheel
61+
run: pipx run build
62+
# - name: Publish distribution PyPI
63+
# uses: pypa/gh-action-pypi-publish@release/v1
64+
# with:
65+
# password: ${{ secrets.PYPI_API_TOKEN }}

.github/workflows/ci_version.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
name: CI Types
3+
4+
on:
5+
workflow_call:
6+
inputs:
7+
working-directory:
8+
required: true
9+
type: string
10+
description: "From which folder this pipeline executes"
11+
12+
env:
13+
FORCE_COLOR: "1"
14+
15+
jobs:
16+
typing:
17+
runs-on: ubuntu-latest
18+
defaults:
19+
run:
20+
working-directory: ${{ inputs.working-directory }}
21+
steps:
22+
- uses: actions/checkout@v4
23+
- name: Set up Python 3.12
24+
uses: actions/setup-python@v5
25+
with:
26+
python-version: "3.12"
27+
- name: Setup uv
28+
uses: astral-sh/setup-uv@v5
29+
- name: Install Catalystwan WAN SDK Types (uv)
30+
run: uv pip install --system ../../packages/catalystwan-types
31+
- name: Install Catalystwan WAN SDK Self (uv)
32+
run: uv pip install --system .
33+
- name: Install Nox
34+
run: uv pip install --system nox==2024.10.*
35+
- name: Run typing on ${{ matrix.os }} )
36+
run: nox --non-interactive --session "mypy"
37+
38+
lint:
39+
runs-on: ubuntu-latest
40+
defaults:
41+
run:
42+
working-directory: ${{ inputs.working-directory }}
43+
steps:
44+
- uses: actions/checkout@v4
45+
- name: Set up Python 3.12
46+
uses: actions/setup-python@v5
47+
with:
48+
python-version: "3.12"
49+
- name: Setup uv
50+
uses: astral-sh/setup-uv@v5
51+
- name: Install Nox
52+
run: uv pip install --system nox==2024.10.*
53+
- name: Run linting on ${{ matrix.os }} )
54+
run: nox --non-interactive --session "lint"
55+
56+
deploy:
57+
needs: [lint, typing]
58+
runs-on: ubuntu-latest
59+
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
60+
steps:
61+
- uses: actions/checkout@v4
62+
- name: Build sdist and wheel
63+
run: pipx run build
64+
# - name: Publish distribution PyPI
65+
# uses: pypa/gh-action-pypi-publish@release/v1
66+
# with:
67+
# password: ${{ secrets.PYPI_API_TOKEN }}

0 commit comments

Comments
 (0)