Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from Exa-Networks:main #37

Open
wants to merge 116 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
dd414b0
add testing for python3.6
thomas-mangin Jun 9, 2024
0500f8a
allow bgp to test more than 10 grouped rules
thomas-mangin Jun 12, 2024
be3644d
more testing for #1209
thomas-mangin Jun 12, 2024
ae42a21
order communities for predictable packets
thomas-mangin Jun 12, 2024
f3eec66
change extended-encoding for #1209
thomas-mangin Jun 12, 2024
f2d23f4
helping users to help themselves
thomas-mangin Jun 12, 2024
ef90e3e
run slower but more reliable python3.6 tests
thomas-mangin Jun 12, 2024
c6da455
better handle bad shell pipe
thomas-mangin Jun 12, 2024
7eaee75
Bump urllib3 from 2.2.1 to 2.2.2
dependabot[bot] Jun 17, 2024
9b83c0f
Merge pull request #1212 from Exa-Networks/dependabot/pip/urllib3-2.2.2
thomas-mangin Jun 18, 2024
001873c
healthcheck: add support exact label match
clwluvw Jun 23, 2024
9bcad4b
Merge pull request #1215 from clwluvw/interface-numbering
thomas-mangin Jun 24, 2024
fef11ca
Bump certifi from 2024.6.2 to 2024.7.4
dependabot[bot] Jul 6, 2024
57c7573
Merge pull request #1217 from Exa-Networks/dependabot/pip/certifi-202…
thomas-mangin Jul 7, 2024
d57714c
Add missing `exc` exception variable for qa/bin/functional
ton31337 Jul 9, 2024
d10d79a
Merge pull request #1220 from ton31337/fix/missing_exc
thomas-mangin Jul 9, 2024
f168635
Enable hostname capability (fqdn)
ton31337 Jul 9, 2024
0746cbf
Merge pull request #1219 from ton31337/feature/enable_hostname_capabi…
thomas-mangin Jul 9, 2024
472bd93
Do not send hostname/domainname (fqdn capability) by default
ton31337 Jul 9, 2024
fcf6bb0
Ignore sending capabilities with the length of zero
ton31337 Jul 9, 2024
86b2a89
Merge pull request #1221 from ton31337/feature/do_not_send_fqdn_capab…
thomas-mangin Jul 9, 2024
2ef3514
Test if capability message is received as expected
ton31337 Jul 9, 2024
696a27f
Apply black formatting for qa/sbin/bgp
ton31337 Jul 9, 2024
24fcad7
Make sure we accept received Hostname capability
ton31337 Jul 11, 2024
babbe48
Merge pull request #1224 from ton31337/fix/parse_incoming_fqdn_capabi…
thomas-mangin Jul 11, 2024
8ba28e7
decode text returned
thomas-mangin Jul 14, 2024
06f95d7
properly pass the signal name
thomas-mangin Jul 14, 2024
4e88dcf
change how we look for the PID
thomas-mangin Jul 14, 2024
7f888f8
rename failed as it is not about failure
thomas-mangin Jul 14, 2024
820e3d3
run black
thomas-mangin Jul 14, 2024
fa80cdb
refactor pid detection
thomas-mangin Jul 14, 2024
c572ac3
correctly flush printed output
thomas-mangin Jul 14, 2024
6f197f3
more work for old python support
thomas-mangin Jul 14, 2024
80a6cd7
revert search change
thomas-mangin Jul 14, 2024
b7304a7
Merge pull request #1222 from ton31337/feature/add_a_test_for_hostnam…
thomas-mangin Jul 14, 2024
d21e432
Implement software version capability for BGP
ton31337 Jul 10, 2024
b26b5e7
Use `main-SHA-YYMMDD` format for the EXABGP_VERSION
ton31337 Jul 11, 2024
c2a2ea8
Test if software version capability can be exchanged correctly
ton31337 Jul 15, 2024
2713a91
Bump actions/setup-python from 5.1.0 to 5.1.1
dependabot[bot] Jul 15, 2024
6172ff5
Merge pull request #1225 from Exa-Networks/dependabot/github_actions/…
thomas-mangin Jul 15, 2024
0ed3cd9
fix displaying of open message with decode
thomas-mangin Jul 15, 2024
9782521
correctly convert bytes to string
thomas-mangin Jul 15, 2024
ec2f2e7
fix decoding for open
thomas-mangin Jul 15, 2024
29adbfb
Merge pull request #1223 from ton31337/feature/bgp_software_version_c…
thomas-mangin Jul 15, 2024
b52d41c
allow correct test decoding for open
thomas-mangin Jul 15, 2024
c7c3afe
fix support for displaying open
thomas-mangin Jul 15, 2024
8b61bf2
fix software version feature
thomas-mangin Jul 15, 2024
832a8db
add decoding test for software open
thomas-mangin Jul 15, 2024
3678343
rename software-version to software
thomas-mangin Jul 15, 2024
869ee78
fix previous decoding patch
thomas-mangin Jul 15, 2024
b26ae7e
change version to follow semver
thomas-mangin Jul 15, 2024
c03dee9
better and more consistent semver
thomas-mangin Jul 15, 2024
e34644d
use file date and not clock
thomas-mangin Jul 15, 2024
c1c411f
change to env version setting
thomas-mangin Jul 15, 2024
71c952a
fix code for python < 3.12
thomas-mangin Jul 15, 2024
2497a57
run black
thomas-mangin Jul 15, 2024
f0c6506
fix code for python < 3.12
thomas-mangin Jul 15, 2024
e6cde09
remove some known failing test for 3.6
thomas-mangin Jul 15, 2024
c497a2b
rename workflow .yaml to .yml
thomas-mangin Jul 15, 2024
dfeaea0
Implement RFC 9072 (sender side)
ton31337 Jul 18, 2024
d6844bd
Implement RFC 9072 (receive side)
ton31337 Jul 18, 2024
ceac182
Merge pull request #1226 from ton31337/feature/rfc_9072
thomas-mangin Jul 18, 2024
a56c70e
refactoring accepted PR
thomas-mangin Jul 18, 2024
68230ef
Example blocklist application
garybuhrmaster Jul 19, 2024
d09208c
Merge pull request #1227 from garybuhrmaster/blocklist
thomas-mangin Jul 19, 2024
d401910
fix version when using zipapp
thomas-mangin Aug 19, 2024
c037b47
explain how to find where the code is installed
thomas-mangin Aug 19, 2024
2ae62af
put emphasis on our #1 bug report
thomas-mangin Aug 19, 2024
9bb2de4
Bump actions/setup-python from 5.1.1 to 5.2.0
dependabot[bot] Sep 2, 2024
aefa9f1
Merge pull request #1232 from Exa-Networks/dependabot/github_actions/…
thomas-mangin Sep 2, 2024
5da95ec
use 4.22, the latest release
thomas-mangin Sep 4, 2024
11f0888
update version to 4.2.22
thomas-mangin Sep 4, 2024
279a289
Implement RFC6514 MCAST-VPN (incomplete)
jcpvdm Sep 5, 2024
82b21cd
Merge pull request #1234 from jcpvdm/mvpn
thomas-mangin Sep 6, 2024
2d8f291
reduce sleep on test
thomas-mangin Sep 25, 2024
3a901d7
add api debug command
thomas-mangin Sep 25, 2024
a45604c
convert all test to "raw" packets
thomas-mangin Sep 25, 2024
42553f1
fixes and remove support for announce/withdraw
thomas-mangin Sep 25, 2024
8318b8e
add test for #1237
thomas-mangin Sep 25, 2024
11e667e
change interpreters order
thomas-mangin Oct 5, 2024
e6ebb17
cli sends help by default
thomas-mangin Oct 5, 2024
105101c
add str representation
thomas-mangin Oct 5, 2024
7605037
fix route-refresh handling
thomas-mangin Oct 5, 2024
f3fd7f0
Update parser.py
Oct 14, 2024
0e5a03b
Merge pull request #1239 from smith518/main
thomas-mangin Oct 14, 2024
08bff60
fix provided PR
thomas-mangin Oct 14, 2024
8ae4554
remove 3.7 testing on latest
thomas-mangin Oct 14, 2024
b5c01cb
re-add 3.7 testin on 22.04
thomas-mangin Oct 14, 2024
da11c07
use vscode fmt of yaml
thomas-mangin Oct 14, 2024
972a096
remve 3.7 unit testing
thomas-mangin Oct 14, 2024
0cea371
split extensive into an helper function
thomas-mangin Oct 17, 2024
c479e53
change to facilitate the implementation of json api calls
thomas-mangin Oct 17, 2024
f30ab92
convert function to the use_json way
thomas-mangin Oct 17, 2024
c5acb90
small json identification bug fix
thomas-mangin Oct 17, 2024
0ac000a
do not encode the ack with json without an option for it
thomas-mangin Oct 19, 2024
ff87e72
silence ruff
thomas-mangin Oct 20, 2024
78dd4fb
add ruff to ci/cd
thomas-mangin Oct 20, 2024
59443f4
add configuration for ruff format
thomas-mangin Oct 20, 2024
82ac7f1
format with ruff format
thomas-mangin Oct 20, 2024
2b1762c
convert from poetry to uv
thomas-mangin Oct 20, 2024
caf3194
change lock file from poetry to uv
thomas-mangin Oct 20, 2024
9855ee8
remove poetry based Makefile
thomas-mangin Oct 20, 2024
1a76755
ruff'ing the etc folder
thomas-mangin Oct 25, 2024
9dadff8
ruff'ing the qa folder
thomas-mangin Oct 25, 2024
bf7f1b9
ruff'ing the test folder
thomas-mangin Oct 25, 2024
53a8311
ruff'ing the root folder
thomas-mangin Oct 25, 2024
16734a1
add pre-commit
thomas-mangin Oct 25, 2024
c8b0d3a
move ruff exclusion to pyproject
thomas-mangin Oct 25, 2024
545b48b
remove flake8
thomas-mangin Oct 25, 2024
48b15e5
improve requirements.txt usage
thomas-mangin Oct 25, 2024
47a7dab
more code ruff'ing
thomas-mangin Oct 25, 2024
b705943
Bump actions/setup-python from 5.2.0 to 5.3.0
dependabot[bot] Oct 28, 2024
11a15c9
Merge pull request #1242 from Exa-Networks/dependabot/github_actions/…
thomas-mangin Nov 6, 2024
d3af6fd
improve counters/statistics
thomas-mangin Dec 9, 2024
1d4a087
ignore .codegpt
thomas-mangin Jan 9, 2025
226fc9e
change profiling to use cProfile only for snakeviz
thomas-mangin Jan 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
66 changes: 0 additions & 66 deletions .github/workflows/ci.yaml

This file was deleted.

83 changes: 35 additions & 48 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,13 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ main ]
branches: [main]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
branches: [main]
schedule:
- cron: '16 20 * * 1'
- cron: "16 20 * * 1"

jobs:
analyze:
Expand All @@ -32,39 +21,37 @@ jobs:
strategy:
fail-fast: false
matrix:
language: [ 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support
language: ["python"]

steps:
- name: Checkout repository
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl

# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language

#- run: |
# make bootstrap
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
- name: Checkout repository
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl

# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language

#- run: |
# make bootstrap
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
45 changes: 45 additions & 0 deletions .github/workflows/functional-3.6.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Functional Legacy

on:
push:
branches: [main, 4.2, 3.4]
pull_request:
branches: [main]

permissions:
contents: read

jobs:
build:
# runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.6"]
os: ["ubuntu-20.04"]

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}

- name: run python version
run: |
python --version

- name: Install dependencies
run: |
python -m pip install --no-cache-dir --upgrade pip
pip install --no-cache-dir -r requirements.txt
pip install psutil

- name: change ownership to exa user
run: |
echo "EXABGP_DAEMON_USER=$(whoami)" >> $GITHUB_ENV

- name: Python 3.6 Coverage
run: |
./qa/bin/functional-3.6 all
49 changes: 49 additions & 0 deletions .github/workflows/functional-3.7.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Functional Testing

on:
push:
branches: [main, 4.2, 3.4]
pull_request:
branches: [main]

permissions:
contents: read

jobs:
build:
# runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.7"]
os: ["ubuntu-22.04"]

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}

- name: run python version
run: |
python --version

- name: Install dependencies
run: |
python -m pip install --no-cache-dir --upgrade pip
pip install --no-cache-dir -r requirements.txt
pip install psutil

- name: Configuration
run: |
./qa/bin/functional parsing

- name: Functional
run: |
./qa/bin/functional encoding

- name: Decoding
run: |
./qa/bin/functional decoding
49 changes: 49 additions & 0 deletions .github/workflows/functional-testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Functional Testing

on:
push:
branches: [main, 4.2, 3.4]
pull_request:
branches: [main]

permissions:
contents: read

jobs:
build:
# runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
os: ["ubuntu-latest"]

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}

- name: run python version
run: |
python --version

- name: Install dependencies
run: |
python -m pip install --no-cache-dir --upgrade pip
pip install --no-cache-dir -r requirements.txt
pip install psutil

- name: Configuration
run: |
./qa/bin/functional parsing

- name: Functional
run: |
./qa/bin/functional encoding

- name: Decoding
run: |
./qa/bin/functional decoding
40 changes: 40 additions & 0 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Linting

on:
push:
branches: [main, 4.2, 3.4]
pull_request:
branches: [main]

permissions:
contents: read

jobs:
build:
# runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.12"]
os: ["ubuntu-latest"]

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r qa/requirements.txt

- name: flake8
run: |
flake8 . --max-line-length 120 --exclude src/exabgp/vendoring/ --exclude build/ --exclude site-packages --count --select=E9,F63,F7,F82 --show-source --statistics

- name: ruff
run: |
ruff check src
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Publish packages
on:
push:
tags:
- 'v*'
- "v*"

permissions:
contents: read
Expand All @@ -19,10 +19,9 @@ jobs:
fetch-depth: 0

- name: Set up Python 3.8
uses: actions/setup-python@v5.1.0
uses: actions/setup-python@v5.3.0
with:
python-version: 3.8

# - name: Build
# run: |
# make init build
Expand All @@ -31,4 +30,4 @@ jobs:
# uses: pypa/gh-action-pypi-publish@master
# with:
# user: __token__
# password: ${{ secrets.GH_ACTIONS_EXABGP }}
# password: ${{ secrets.GH_ACTIONS_EXABGP }}
Loading