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

[RELEASE] - merge develop into main #2089

Merged
merged 76 commits into from
Oct 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
a402580
enabling viewing hidden files in jupyterlab file explorer (#1893)
kalpanachinnappan Aug 4, 2023
82ebab5
Extension Mechanism Implementation (#1833)
costrouc Aug 11, 2023
f46a63f
Fix import path in deployment tests & misc (#1908)
aktech Aug 14, 2023
4299969
pytest:ensure failure on warnings (#1907)
costrouc Aug 15, 2023
5db58b9
workaround for mixed string/posixpath error (#1915)
sblair-metrostar Aug 17, 2023
0a1c778
ENH: Remove aws cli, use boto3 (#1920)
fangchenli Aug 17, 2023
77b86a2
paginator for boto3 ec2 instance types (#1923)
sblair-metrostar Aug 18, 2023
42323d8
Update README.md -- fix typo. (#1925)
teoliphant Aug 21, 2023
735a0ca
Add more unit tests, add cleanup step for Digital Ocean integration t…
iameskild Aug 21, 2023
50487a3
Add cleanup step for AWS integration test, ensure diable_prompt is pa…
iameskild Aug 22, 2023
9e92a30
K8s 1.25 + More Improvements (#1856)
Adam-D-Lewis Aug 23, 2023
1a0e9d2
adding lifecycle ignore to eks node group (#1905)
sblair-metrostar Aug 23, 2023
9c4b401
nebari init unit tests (#1931)
sblair-metrostar Aug 23, 2023
53d1796
Bug fix - JH singleuser environment getting overwritten (#1933)
kenafoster Aug 23, 2023
77929a4
Allow users to specify the Azure RG to deploy into (#1927)
iameskild Aug 24, 2023
40cfb49
nebari validate unit tests (#1938)
sblair-metrostar Aug 28, 2023
0a0e988
adding openid connect provider to enable irsa feature (#1903)
sblair-metrostar Aug 30, 2023
f89e62e
nebari upgrade CLI tests (#1963)
sblair-metrostar Aug 30, 2023
b7e1b09
Allow users to specify Azure tags
iameskild Aug 30, 2023
300ab06
Add azure tags to terraform state stage
iameskild Aug 30, 2023
eebb188
Move tags
iameskild Aug 31, 2023
c21cd08
Remove tags from azurerm_storage_container
iameskild Aug 31, 2023
f4ab2ac
CI: Add test coverage (#1959)
fangchenli Aug 31, 2023
61ad3b4
Add network_profile, max_pods vars
iameskild Sep 1, 2023
0734fc8
Merge branch 'develop' into add_azure_tags
iameskild Sep 1, 2023
157aae9
nebari cli environment variable handling, support, keycloak, dev test…
sblair-metrostar Sep 4, 2023
017aa88
Merge branch 'develop' into add_azure_tags
iameskild Sep 4, 2023
0c4e246
Consolidate validate_tags function
iameskild Sep 4, 2023
a551589
Revert postfix change, see PR 1930
iameskild Sep 4, 2023
6bac0b0
Update azure cli validate test
iameskild Sep 4, 2023
23132ae
CI: remove empty notebook to fix pre-commit json check (#1976)
fangchenli Sep 4, 2023
9e05fdf
TYP: fix typing error in plugins (#1973)
fangchenli Sep 4, 2023
8b71702
TYP: fix return class type in hookimpl (#1975)
fangchenli Sep 4, 2023
f6d6a1b
Allow users to specify Azure tags (#1967)
iameskild Sep 7, 2023
5ae2c53
[pre-commit.ci] pre-commit autoupdate (#1979)
pre-commit-ci[bot] Sep 11, 2023
f5da3c2
Do not try and add argo envs when disabled (#1926)
iameskild Sep 11, 2023
107e413
Handle region with care, updates to test suite (#1930)
iameskild Sep 11, 2023
1e4ba1c
remove custom auth from config schema (#1994)
sblair-metrostar Sep 11, 2023
7a9126c
CLI: handle removed dns options in deploy command (#1992)
fangchenli Sep 11, 2023
3238856
Add API docs (#1634)
kcpevey Sep 12, 2023
2d0c985
Upgrade images for jupyterhub-ssh, kbatch (#1997)
iameskild Sep 12, 2023
23e1651
Add permissions to generate_cli_docs workflow (#2005)
iameskild Sep 13, 2023
d48b38e
standardize regex and messaging for names (#2003)
kenafoster Sep 14, 2023
aab5f3f
ENH: specify required fields when retrieving available gcp projects (…
fangchenli Sep 14, 2023
a427f87
Modify JupyterHub networkPolicy to match existing policy (#1991)
iameskild Sep 14, 2023
55a5323
Update package dependencies (#1986)
iameskild Sep 14, 2023
1a570d1
CI: Add AWS integration test workflow, clean up (#1977)
iameskild Sep 14, 2023
6132658
BUG: fix unboundlocalerror in integration test (#1999)
fangchenli Sep 14, 2023
c6d8178
Auth0/Github auth-provider config validation fix (#2009)
sblair-metrostar Sep 18, 2023
57be4dc
terraform upgrade to 1.5.7 (#1998)
sblair-metrostar Sep 19, 2023
d58ebb1
cli init repo auto provision fix (#2012)
sblair-metrostar Sep 19, 2023
6d01b04
Add gcp_cleanup, minor changes (#2010)
iameskild Sep 21, 2023
9179295
Fix #2024 (#2025)
dcmcand Sep 22, 2023
b8ce347
Upgrade conda-store to 2023.9.2 (#2028)
iameskild Sep 26, 2023
056b420
Add upgrade steps, instructions for 2023.9.1 (#2029)
iameskild Oct 2, 2023
db1fc51
CI: add gcp integration test (#2049)
fangchenli Oct 9, 2023
8e181bd
CLN: remove flake8 from dependencies (#2044)
fangchenli Oct 9, 2023
da396c2
[pre-commit.ci] pre-commit autoupdate (#2047)
pre-commit-ci[bot] Oct 10, 2023
94b0cdf
fix typo in guided init for Digital Ocean (#2059)
dcmcand Oct 11, 2023
dc7f4de
CI: add do integration (#2060)
fangchenli Oct 13, 2023
d9920c3
TYP: make all subfolders under kubernetes_services/template non-modul…
fangchenli Oct 13, 2023
1686693
TYP: fix most typing errors in provider (#2038)
fangchenli Oct 13, 2023
5474f90
Fix link to documentation on Nebari Deployment home page (#2063)
aktech Oct 13, 2023
7b4e8e0
TST: enable timeout config in playwright notebook test (#1996)
fangchenli Oct 13, 2023
270aad6
DEPS: sync supported python version (#2065)
fangchenli Oct 14, 2023
67e967f
Test support for Python 3.12 (#2046)
aktech Oct 16, 2023
4db8400
BUG: fix validation error related to `provider` #2054 (#2056)
fangchenli Oct 16, 2023
6846643
CI: improve unit test workflow in CI, revert #2046 (#2071)
fangchenli Oct 18, 2023
20bc7d4
TST: enable exact_match config in playwright notebook test (#2027)
fangchenli Oct 18, 2023
ee1b4c9
CI: move conda build test to seperate job (#2073)
fangchenli Oct 18, 2023
452de56
Revert conda-store to v0.4.14, #2028 (#2074)
iameskild Oct 19, 2023
c57d501
ENH/CI: add mypy config, and CI workflow (#2066)
fangchenli Oct 20, 2023
76769e0
Update upgrade for 2023.10.1 (#2080)
kenafoster Oct 20, 2023
376ffba
Update RELEASE notes, minor fixes (#2039)
iameskild Oct 21, 2023
e0fb856
Merge develop
iameskild Oct 24, 2023
a245c70
Clean up main branch, removing lingering directories (#2091)
iameskild Oct 25, 2023
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
  •  
  •  
  •  
6 changes: 5 additions & 1 deletion .github/ISSUE_TEMPLATE/release-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,16 @@ Release captain responsible - <@gh_username>

## Cut the official release

_If there were changes to the following packages, handle their releases before cutting a new release for Nebari_
- [ ] [Cut PyPI release for `nebari-workflow-controller`](https://github.com/nebari-dev/nebari-workflow-controller)
- [ ] [Cut PyPI release for `argo-jupyter-scheduler`](https://github.com/nebari-dev/argo-jupyter-scheduler)

_These steps must be actioned in the order they appear in this checklist._

- [ ] [Tag, build and push docker images](https://github.com/nebari-dev/nebari-docker-images/releases/new)
- [ ] [Update and cut release for `nebari-dask` meta package on Conda-Forge.](https://github.com/conda-forge/nebari-dask-feedstock)
- [ ] [Cut PyPI release via GHA release workflow.](https://github.com/nebari-dev/nebari/releases/new)
- Avoid appending `v` to tag.
- Copy release notes from `RELEASE.md`.
- [ ] Merge release branch into `main`
- [ ] [Merge automated release PR for `nebari` on Conda-Forge.](https://github.com/conda-forge/nebari-feedstock)
- [ ] Merge release branch into `main`
18 changes: 9 additions & 9 deletions .github/ISSUE_TEMPLATE/testing-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ However, the following core services still need to be manually validated (until

At minimum, the following services will need to be tested:

- [ ] [Log into keycloak as root user](https://nebari-docs.netlify.app/how-tos/configuring-keycloak#change-keycloak-root-password)
- [ ] [Add a user](https://nebari-docs.netlify.app/how-tos/configuring-keycloak#adding-a-nebari-user)
- [ ] [Log into conda-store and create](https://nebari-docs.netlify.app/tutorials/creating-new-environments)
- [ ] [Log into keycloak as root user](https://www.nebari.dev/docs/how-tos/configuring-keycloak/#change-keycloak-root-password)
- [ ] [Add a user](https://www.nebari.dev/docs/how-tos/configuring-keycloak/#adding-a-nebari-user)
- [ ] [Log into conda-store and create](https://www.nebari.dev/docs/tutorials/creating-new-environments)
- [ ] a conda environment in a shared namespace and,
- [ ] a conda environment in your personal namespace
- [ ] [Launch dask-gateway cluster, test auto-scaler and](https://nebari-docs.netlify.app/tutorials/using_dask)
- [ ] [Validate that the dask-labextention is working](https://nebari-docs.netlify.app/tutorials/using_dask#step-5---viewing-the-dashboard-inside-of-jupyterlab)
- [ ] [Create a basic CDS Dashboard](https://nebari-docs.netlify.app/tutorials/creating-cds-dashboard)
- [ ] [Open VS-Code extension](https://nebari-docs.netlify.app/tutorials/using-vscode)
- [ ] [Add the Python extension](https://nebari-docs.netlify.app/tutorials/using-vscode#adding-extensions)
- [ ] [Create a `.py` file and run it](https://nebari-docs.netlify.app/tutorials/using-vscode#running-python-code)
- [ ] [Launch dask-gateway cluster, test auto-scaler and](https://www.nebari.dev/docs/tutorials/using_dask)
- [ ] [Validate that the dask-labextention is working](https://www.nebari.dev/docs/tutorials/using_dask/#step-4---understand-dasks-diagnostic-tools)
- [ ] [Confirm that a notebook can be submitted via Jupyter-Scheduler](https://nebari.dev/docs/tutorials/jupyter-scheduler)
- [ ] [Open VS-Code extension](https://www.nebari.dev/docs/how-tos/using-vscode)
- [ ] [Add the Python extension](https://www.nebari.dev/docs/how-tos/using-vscode#adding-extensions)
- [ ] [Create a `.py` file and run it](https://www.nebari.dev/docs/how-tos/using-vscode#running-python-code)
3 changes: 1 addition & 2 deletions .github/actions/publish-from-template/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ runs:
shell: bash
env: ${{ env }}
run:
python .github/actions/publish-from-template/render_template.py ${{
inputs.filename }}
python ${{ github.action_path }}/render_template.py ${{inputs.filename }}

- uses: JasonEtco/create-an-issue@v2
# Only render template and create an issue in case the workflow is a scheduled one
Expand Down
76 changes: 76 additions & 0 deletions .github/workflows/generate_cli_doc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Update API docs

on:
pull_request:
paths:
- "src/_nebari/subcommands/**"
- "src/_nebari/cli.py"
push:
branches:
- main
paths:
- "src/_nebari/subcommands/**"
- "src/_nebari/cli.py"
workflow_dispatch:

jobs:
update_api:
permissions:
contents: write
pull-requests: write
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
working-directory: ./docs-sphinx
steps:
- name: Check out repository 🛎️
uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: "3.10"

- name: Install nebari and docs dependencies
run: |
python -m pip install --upgrade pip
pip install -e "../[docs]"

- name: Generate new API docs
run: |
make html

- name: Copy cli doc
run: |
cp _build/html/cli.html cli.html

- name: Look for changes to generated docs
uses: tj-actions/verify-changed-files@v12
id: verify-changed-files
with:
files: |
docs-sphinx/cli.html

- name: Create Pull Request in code repo
id: create_pull_request
uses: peter-evans/create-pull-request@v4
if: steps.verify-changed-files.outputs.files_changed == 'true' && github.event_name != 'pull_request'
with:
token: ${{ secrets.NEBARI_SENSEI_API_DOCS_PR_OPENER }}
commit-message: Update api docs
committer: GitHub <noreply@github.com>
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
signoff: false
branch: auto_cli_doc_update
delete-branch: true
title: '[AUTO] Update CLI doc'
body: |
Update CLI doc
- Auto-generated by [create-pull-request][1]

[1]: https://github.com/peter-evans/create-pull-request
labels: |
"area: documentation 📖"
draft: false
base: ${{ github.head_ref }}
21 changes: 10 additions & 11 deletions .github/workflows/kubernetes_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,11 @@ on:
paths:
- ".github/workflows/kubernetes_test.yaml"
- "tests/**"
- "tests_deployment/**"
- "tests_e2e/**"
- "scripts/**"
- "src/**"
- "pyproject.toml"
- "pytest.ini"
- ".cirun.yml"
push:
branches:
- main
Expand All @@ -19,12 +18,11 @@ on:
paths:
- ".github/workflows/kubernetes_test.yaml"
- "tests/**"
- "tests_deployment/**"
- "tests_e2e/**"
- "scripts/**"
- "src/**"
- "pyproject.toml"
- "pytest.ini"
- ".cirun.yml"
workflow_call:
inputs:
pr_number:
Expand Down Expand Up @@ -148,14 +146,14 @@ jobs:
env:
CYPRESS_BASE_URL: https://github-actions.nebari.dev/
with:
working-directory: tests_e2e
working-directory: tests/tests_e2e

- name: Playwright Tests
env:
KEYCLOAK_USERNAME: ${{ env.CYPRESS_EXAMPLE_USER_NAME }}
KEYCLOAK_PASSWORD: ${{ env.CYPRESS_EXAMPLE_USER_PASSWORD }}
NEBARI_FULL_URL: https://github-actions.nebari.dev/
working-directory: tests_e2e/playwright
working-directory: tests/tests_e2e/playwright
run: |
# create environment file
envsubst < .env.tpl > .env
Expand All @@ -168,17 +166,18 @@ jobs:
with:
name: e2e-cypress
path: |
./tests_e2e/cypress/screenshots/
./tests_e2e/cypress/videos/
./tests_e2e/playwright/videos/
./tests/tests_e2e/cypress/screenshots/
./tests/tests_e2e/cypress/videos/
./tests/tests_e2e/playwright/videos/

- name: Deployment Pytests
run: |
export KEYCLOAK_USERNAME=${CYPRESS_EXAMPLE_USER_NAME}
export KEYCLOAK_PASSWORD=${CYPRESS_EXAMPLE_USER_PASSWORD}
pytest tests_deployment/ -v -s
pytest tests/tests_deployment/ -v -s

- name: JupyterHub Notebook Tests
timeout-minutes: 2
# run jhub-client after pytest since jhubctl can cleanup
# the running server
run: |
Expand All @@ -190,7 +189,7 @@ jobs:
--validate --no-verify-ssl \
--kernel python3 \
--stop-server \
--notebook tests_deployment/assets/notebook/simple.ipynb \
--notebook tests/tests_deployment/assets/notebook/simple.ipynb \

### CLEANUP AFTER TESTS
- name: Cleanup nebari deployment
Expand Down
21 changes: 10 additions & 11 deletions .github/workflows/test-provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,11 @@ on:
paths:
- ".github/workflows/kubernetes_test.yaml"
- "tests/**"
- "tests_deployment/**"
- "tests_e2e/**"
- "scripts/**"
- "src/**"
- "pyproject.toml"
- "pytest.ini"
- ".cirun.yml"
push:
branches:
- main
Expand All @@ -19,12 +18,11 @@ on:
paths:
- ".github/workflows/kubernetes_test.yaml"
- "tests/**"
- "tests_deployment/**"
- "tests_e2e/**"
- "scripts/**"
- "src/**"
- "pyproject.toml"
- "pytest.ini"
- ".cirun.yml"
workflow_call:
inputs:
pr_number:
Expand Down Expand Up @@ -148,14 +146,14 @@ jobs:
env:
CYPRESS_BASE_URL: https://github-actions.nebari.dev/
with:
working-directory: tests_e2e
working-directory: tests/tests_e2e

- name: Playwright Tests
env:
KEYCLOAK_USERNAME: ${{ env.CYPRESS_EXAMPLE_USER_NAME }}
KEYCLOAK_PASSWORD: ${{ env.CYPRESS_EXAMPLE_USER_PASSWORD }}
NEBARI_FULL_URL: https://github-actions.nebari.dev/
working-directory: tests_e2e/playwright
working-directory: tests/tests_e2e/playwright
run: |
# create environment file
envsubst < .env.tpl > .env
Expand All @@ -168,17 +166,18 @@ jobs:
with:
name: e2e-cypress
path: |
./tests_e2e/cypress/screenshots/
./tests_e2e/cypress/videos/
./tests_e2e/playwright/videos/
./tests/tests_e2e/cypress/screenshots/
./tests/tests_e2e/cypress/videos/
./tests/tests_e2e/playwright/videos/

- name: Deployment Pytests
run: |
export KEYCLOAK_USERNAME=${CYPRESS_EXAMPLE_USER_NAME}
export KEYCLOAK_PASSWORD=${CYPRESS_EXAMPLE_USER_PASSWORD}
pytest tests_deployment/ -v -s
pytest tests/tests_deployment/ -v -s

- name: JupyterHub Notebook Tests
timeout-minutes: 2
# run jhub-client after pytest since jhubctl can cleanup
# the running server
run: |
Expand All @@ -190,7 +189,7 @@ jobs:
--validate --no-verify-ssl \
--kernel python3 \
--stop-server \
--notebook tests_deployment/assets/notebook/simple.ipynb \
--notebook tests/tests_deployment/assets/notebook/simple.ipynb \

### CLEANUP AFTER TESTS
- name: Cleanup nebari deployment
Expand Down
24 changes: 19 additions & 5 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ jobs:
test-general:
name: "Pytest"
runs-on: ubuntu-latest
defaults:
run:
shell: bash -el {0}
strategy:
matrix:
python-version:
Expand All @@ -38,22 +41,33 @@ jobs:
- "3.10"
- "3.11"
fail-fast: false
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}-${{ matrix.python-version }}
cancel-in-progress: true
steps:
- name: "Checkout Infrastructure"
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup miniconda
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
channel-priority: strict
channels: conda-forge
channels: conda-forge,defaults
activate-environment: nebari-dev

- name: Install Nebari
run: |
pip install .[dev]
conda install --quiet --yes conda-build
python --version
pip install -e .[dev]

- name: Test Nebari
run: |
pytest --version
pytest tests/tests_unit -vvv
pytest --cov=src --cov-report=xml --cov-config=pyproject.toml tests/tests_unit

- name: Report Coverage
run: |
coverage report -m
Loading
Loading