This repository has been archived by the owner on Dec 1, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #158 from nautobot/develop
Sync develop to main
- Loading branch information
Showing
15 changed files
with
2,562 additions
and
1,272 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
name: "Nautobot Upstream Testing" | ||
|
||
on: # yamllint disable-line rule:truthy rule:comments | ||
schedule: | ||
- cron: "0 4 */2 * *" # every other day at midnight | ||
|
||
jobs: | ||
upstream-test: | ||
uses: "nautobot/nautobot/.github/workflows/plugin_upstream_testing_base.yml@develop" | ||
with: # Below could potentially be collapsed into a single argument if a concrete relationship between both is enforced | ||
invoke_context_name: "NAUTOBOT_SSOT_ARISTACV" | ||
plugin_name: "nautobot-ssot-aristacv" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,80 @@ | ||
# ------------------------------------------------------------------------------------- | ||
# Nautobot App Developement Dockerfile Template | ||
# Version: 1.0.0 | ||
# | ||
# Apps that need to add additional steps or packages can do in the section below. | ||
# ------------------------------------------------------------------------------------- | ||
# !!! USE CAUTION WHEN MODIFYING LINES BELOW | ||
|
||
ARG PYTHON_VER | ||
ARG NAUTOBOT_VER | ||
# Accepts a desired Nautobot version as build argument, default to 1.4.0 | ||
ARG NAUTOBOT_VER="1.4" | ||
|
||
# Accepts a desired Python version as build argument, default to 3.8 | ||
ARG PYTHON_VER="3.8" | ||
|
||
# Retrieve published development image of Nautobot base which should include most CI dependencies | ||
FROM ghcr.io/nautobot/nautobot-dev:${NAUTOBOT_VER}-py${PYTHON_VER} | ||
|
||
WORKDIR /source | ||
# Runtime argument and environment setup | ||
ARG NAUTOBOT_ROOT=/opt/nautobot | ||
|
||
ENV prometheus_multiproc_dir=/prom_cache | ||
ENV NAUTOBOT_ROOT ${NAUTOBOT_ROOT} | ||
|
||
# Install Poetry manually via its installer script; | ||
# We might be using an older version of Nautobot that includes an older version of Poetry | ||
# and CI and local development may have a newer version of Poetry | ||
# Since this is only used for development and we don't ship this container, pinning Poetry back is not expressly necessary | ||
# We also don't need virtual environments in container | ||
RUN curl -sSL https://install.python-poetry.org -o /tmp/install-poetry.py && \ | ||
python /tmp/install-poetry.py && \ | ||
rm -f /tmp/install-poetry.py && \ | ||
poetry config virtualenvs.create false | ||
|
||
# !!! USE CAUTION WHEN MODIFYING LINES ABOVE | ||
# ------------------------------------------------------------------------------------- | ||
# App-specifc system build/test dependencies. | ||
# | ||
# Example: LDAP requires `libldap2-dev` to be apt-installed before the Python package. | ||
# ------------------------------------------------------------------------------------- | ||
# --> Start safe to modify section | ||
|
||
# Copy in only pyproject.toml/poetry.lock to help with caching this layer if no updates to dependencies | ||
COPY poetry.lock pyproject.toml /source/ | ||
# --no-root declares not to install the project package since we're wanting to take advantage of caching dependency installation | ||
# and the project is copied in and installed after this step | ||
RUN poetry install --no-interaction --no-ansi --no-root --extras "nautobot-device-lifecycle-mgmt" | ||
# Uncomment the line below if you are apt-installing any package. | ||
# RUN apt update | ||
# RUN apt install libldap2-dev | ||
|
||
# Copy in the rest of the source code and install local Nautobot plugin | ||
# --> Stop safe to modify section | ||
# ------------------------------------------------------------------------------------- | ||
# Install Nautobot App | ||
# ------------------------------------------------------------------------------------- | ||
# !!! USE CAUTION WHEN MODIFYING LINES BELOW | ||
|
||
# Copy in the source code | ||
WORKDIR /source | ||
COPY . /source | ||
RUN poetry install --no-interaction --no-ansi | ||
|
||
COPY development/nautobot_config.py /opt/nautobot/nautobot_config.py | ||
# Get container's installed Nautobot version as a forced constraint | ||
# NAUTOBOT_VER may be a branch name and not a published release therefor we need to get the installed version | ||
# so pip can use it to recognize local constraints. | ||
RUN pip show nautobot | grep "^Version: " | sed -e 's/Version: /nautobot==/' > constraints.txt | ||
|
||
# Use Poetry to grab dev dependencies from the lock file | ||
# Can be improved in Poetry 1.2 which allows `poetry install --only dev` | ||
# | ||
# We can't use the entire freeze as it takes forever to resolve with rigidly fixed non-direct dependencies, | ||
# especially those that are only direct to Nautobot but the container included versions slightly mismatch | ||
RUN poetry export -f requirements.txt --without-hashes --output poetry_freeze_base.txt | ||
RUN poetry export -f requirements.txt --dev --without-hashes --extras nautobot-device-lifecycle-mgmt --output poetry_freeze_all.txt | ||
RUN sort poetry_freeze_base.txt poetry_freeze_all.txt | uniq -u > poetry_freeze_dev.txt | ||
|
||
# Install all local project as editable, constrained on Nautobot version, to get any additional | ||
# direct dependencies of the app | ||
RUN pip install -c constraints.txt -e . | ||
RUN cat poetry_freeze_all.txt | ||
|
||
# Install any dev dependencies frozen from Poetry | ||
# Can be improved in Poetry 1.2 which allows `poetry install --only dev` | ||
RUN pip install -c constraints.txt -r poetry_freeze_dev.txt | ||
|
||
COPY development/nautobot_config.py ${NAUTOBOT_ROOT}/nautobot_config.py | ||
# !!! USE CAUTION WHEN MODIFYING LINES ABOVE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.