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

py311 update, completely refactored all images #84

Merged
merged 153 commits into from
Aug 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
74b399f
Begin scipy-ml rewrite
dafeliton Nov 6, 2023
00d1f8f
Test adding tabulate
dafeliton Nov 16, 2023
aa34a69
Testing keras individually
dafeliton Nov 16, 2023
8ce14ce
Testing opencv/pycoco
dafeliton Nov 16, 2023
7a678eb
Test if opencv is causing problems
dafeliton Nov 17, 2023
3f7ab05
Test pycocotools
dafeliton Nov 17, 2023
5fdd164
Test scapy + nltk
dafeliton Nov 17, 2023
259071e
Test pillow+pyqt
dafeliton Nov 17, 2023
a753b71
Fix mapping for pyqt+pillow, test pillow
dafeliton Nov 17, 2023
2f7087f
Fix pillow mapping
dafeliton Nov 17, 2023
be27d2f
datascience, nltk_data (again)
dafeliton Nov 17, 2023
5c3f1f9
nltk_data + python3.8 + mamba weirdness
dafeliton Nov 17, 2023
1c737b4
Retest nltk, datascience not functional currently
dafeliton Nov 22, 2023
f9435b5
Try to install cudnn deb, update to 12.2 + 8.9.6.50
dafeliton Nov 22, 2023
f2ca079
use cuda 11
dafeliton Dec 21, 2023
dfb9b58
Update main.yml
RockfordMankiniUCSD Jan 25, 2024
6f31b1e
Update README.md
RockfordMankiniUCSD Jan 30, 2024
c1e08ad
Update main.yml
RockfordMankiniUCSD Jan 30, 2024
69a5ad1
Update Dockerfile
RockfordMankiniUCSD Jan 30, 2024
b61e259
Update main.yml
RockfordMankiniUCSD Jan 30, 2024
46a8429
Update main.yml
RockfordMankiniUCSD Jan 30, 2024
cc7ae87
Update main.yml
RockfordMankiniUCSD Jan 30, 2024
0c2c0c4
Update main.yml
RockfordMankiniUCSD Jan 30, 2024
91c6ae9
Update main.yml
RockfordMankiniUCSD Jan 30, 2024
225a519
Update main.yml
RockfordMankiniUCSD Jan 30, 2024
2421181
Update main.yml
RockfordMankiniUCSD Jan 30, 2024
2feb69b
Update main.yml
RockfordMankiniUCSD Jan 31, 2024
4960858
Update main.yml
RockfordMankiniUCSD Jan 31, 2024
75c1c50
Update main.yml
RockfordMankiniUCSD Jan 31, 2024
0e02cf8
Update Dockerfile
RockfordMankiniUCSD Jan 31, 2024
7e9555f
Update test_rstudio_ui.py
RockfordMankiniUCSD Jan 31, 2024
0d0d06f
Revert cuda changes, pin torch
dafeliton Feb 13, 2024
b8b020c
Attempt to fix nvidia drivers
dafeliton Feb 21, 2024
e50ef73
temp disable selenium (need to use yum instead of apt)
dafeliton Feb 21, 2024
d06ec99
Rewrite selenium script, scipy test build
dafeliton Feb 21, 2024
f4a1bd9
selenium 2
dafeliton Feb 21, 2024
3580b22
Selenium 3
dafeliton Feb 21, 2024
e0bec1d
Re-add libdevice fix
dafeliton Feb 21, 2024
a9597b0
install pytorch using mamba?
dafeliton Feb 21, 2024
0d28193
typo
dafeliton Feb 21, 2024
a37f126
Revert pytorch, too many issues w/conda deps
dafeliton Feb 21, 2024
8ae8db8
Cleanup scipy
dafeliton Feb 21, 2024
1260193
Downgrade protobuf, it gets downgraded anyway
dafeliton Feb 21, 2024
19143b7
remove redundant mamba call + cleanup
dafeliton Feb 26, 2024
82a9c80
Bump everything
dafeliton Feb 27, 2024
d78e0b4
Switch datascience to jupyter/scipy, as now their datascience include…
dafeliton Feb 27, 2024
d61178a
Ignore jupyterlab-rise/git
dafeliton Feb 28, 2024
493cffa
git rise ignore
dafeliton Feb 28, 2024
f06f331
Use datascience as base instead of scipy
dafeliton Feb 28, 2024
cc64655
ignore jupyter-pluto-proxy
dafeliton Feb 29, 2024
f0d93fc
add missing R packages (why were they removed??)
dafeliton Feb 29, 2024
9931241
Begin datascience cleanup
dafeliton Feb 29, 2024
caabcd1
fix DT mapping
dafeliton Feb 29, 2024
46e701b
Suppress startup message on tidyverse, reports conflicts as errors
dafeliton Feb 29, 2024
0a04b1f
Username debug msgs changed
dafeliton Feb 29, 2024
5f97e9a
Fix chown_home and test_python
dafeliton Feb 29, 2024
72f70fc
Attempt to enable jupyter_lab
dafeliton Feb 29, 2024
1c2a7b0
Really fix test_start_notebook
dafeliton Feb 29, 2024
343c81b
More fixing test_start_container.py
dafeliton Feb 29, 2024
f82761c
actual fix for test_start_containter
dafeliton Feb 29, 2024
753717a
Attempt to define ip to 0.0.0.0 to fix conn refused
dafeliton Feb 29, 2024
fcff840
Check tests
dafeliton Feb 29, 2024
846aa98
Test delay
dafeliton Feb 29, 2024
21c02a0
Test using lab instead
dafeliton Feb 29, 2024
8b091bb
Switch back to notebook endpoint, print logs
dafeliton Feb 29, 2024
dd1b774
test logs
dafeliton Mar 1, 2024
28799d7
Let tests pass
dafeliton Mar 1, 2024
0538fc3
temp fix test_start_notebook
dafeliton Mar 3, 2024
3f76d6b
Bump everything
dafeliton Mar 3, 2024
59a11d7
temp test jupyterhub 4.0.2
dafeliton Mar 3, 2024
824b782
Bump scipy to cu12, fix cu11/cu12 conflicts
dafeliton Mar 3, 2024
f3a3fa9
investigate cuda-toolkit, cleanup
dafeliton Mar 3, 2024
04b87c5
Attempt to fix tensorrt as well, locations changed with 8.6+
dafeliton Mar 3, 2024
e15b07b
Comment out CUDA 11, downgrade tensorflow, attempt to fix tensorrt
dafeliton Mar 4, 2024
da9c653
Bump tensorflow to fix typing-extensions, fix tensorrt, add strace
dafeliton Mar 4, 2024
e51f49c
Do not copy libs on every datahub pod boot
dafeliton Mar 4, 2024
7da8347
Update tensorflow workflow_tests
dafeliton Mar 5, 2024
8786d53
Cleanup all dockerfiles
dafeliton Mar 5, 2024
bdf3066
Switch back to notebook endpoint, print logs
dafeliton Mar 5, 2024
d051e2c
Trigger full rebuild
dafeliton Mar 5, 2024
334c9b5
remote nltk_data pkg with pip in datasci nb
dafeliton Mar 5, 2024
f4bc01d
Test detect failure, bump spec.yml
dafeliton Mar 5, 2024
35868af
more docker build debugging
dafeliton Mar 5, 2024
2d02d25
Test error catching
dafeliton Mar 5, 2024
eeaa74d
Test error catching
dafeliton Mar 5, 2024
5194e0f
Test error catching
dafeliton Mar 5, 2024
85e748c
regex error search
dafeliton Mar 5, 2024
9cb46fe
typo
dafeliton Mar 5, 2024
04f5378
test pip errors
dafeliton Mar 5, 2024
c26e938
dict for error patterns
dafeliton Mar 5, 2024
7853139
test mamba/conda errors
dafeliton Mar 5, 2024
3483add
fix env typo
dafeliton Mar 5, 2024
3c0c9f0
add mamba/conda error detection
dafeliton Mar 6, 2024
b31e22a
test COPY
dafeliton Mar 6, 2024
14270c0
test copy 2
dafeliton Mar 6, 2024
40f1cb2
add docker error handling, try full build
dafeliton Mar 6, 2024
7b5a75b
add carot (typo)
dafeliton Mar 6, 2024
a5caaa5
test new error detection
dafeliton Mar 6, 2024
7885849
test new error detection
dafeliton Mar 6, 2024
04c1b55
temp downgrade spec for error testing
dafeliton Mar 6, 2024
7eb5570
error testing
dafeliton Mar 6, 2024
9d94810
error testing 2
dafeliton Mar 6, 2024
741ee98
Full rebuild as 2024.3
dafeliton Mar 6, 2024
1b451a9
Fix rstudio? Trigger scipy
dafeliton Mar 6, 2024
1ff6cbe
Bump RStudio to jammy image (need to test later)
dafeliton Mar 6, 2024
17d1553
final scipy + rstudio trigger
dafeliton Mar 6, 2024
d68a0f5
Test bad apt call
dafeliton Mar 6, 2024
fcdaf7f
Downgrade rstudio
dafeliton Mar 6, 2024
825053d
coerce change
dafeliton Mar 6, 2024
8c8218f
rstudio logging
dafeliton Mar 6, 2024
d9bb79b
rstudio rebuild 2
dafeliton Mar 6, 2024
d8212c9
Update Dockerfile
RockfordMankiniUCSD Mar 6, 2024
6279069
Update Dockerfile
RockfordMankiniUCSD Mar 6, 2024
933b0a7
back to rstudio basics
dafeliton Mar 13, 2024
de6c878
Add umap, temp rstudio fix
dafeliton Mar 17, 2024
cdd2307
Move over as much as we can to mamba
dafeliton Mar 25, 2024
dc9e975
fix typo
dafeliton Mar 25, 2024
094edfb
Fix common test failures for datasci
dafeliton Mar 25, 2024
ebcc322
Fix spec.yml
dafeliton Mar 25, 2024
f6f0c09
fix packages test for datasci p2
dafeliton Mar 25, 2024
73e599c
Merge pull request #85 from ucsd-ets/mamba-scipy-ml-fixup
dafeliton Mar 27, 2024
abc9760
Add more workflow tests
dafeliton Mar 28, 2024
430f1a3
Merge pull request #86 from ucsd-ets/mamba-scipy-ml-fixup
dafeliton Mar 28, 2024
d982dc2
Bump jupyter* deps before test on monday
dafeliton Apr 20, 2024
7299744
fix deps
dafeliton Apr 20, 2024
02cc88a
Attempt to cleanup rstudio
dafeliton Apr 20, 2024
db18018
attempt to force HOME set in RStudio via jupyter-rsession-proxy
dafeliton Apr 21, 2024
e4cfdce
general cleanup, revert fork
dafeliton Apr 21, 2024
95d58a7
Rebump deps before rstudio fix
dafeliton Jul 15, 2024
cab32b8
actual bump
dafeliton Jul 15, 2024
6a62103
3.11.8, we dont want jhub 5.0.0 for now
dafeliton Jul 15, 2024
76125c6
nbgrader bump
dafeliton Jul 15, 2024
395f9bd
nbgrader 0.9.1 revert
dafeliton Jul 15, 2024
6366ae5
nbgrader 0.9.3, fix validate button
dafeliton Jul 15, 2024
be8fd42
server config upload
dafeliton Jul 16, 2024
769707f
Remove collab
dafeliton Jul 16, 2024
58c0872
Update main.yml
RockfordMankiniUCSD Jul 17, 2024
659f8b2
Update Dockerfile
RockfordMankiniUCSD Jul 17, 2024
b7549eb
remove iframe config fix
dafeliton Jul 19, 2024
34b5154
typo
dafeliton Jul 19, 2024
edbe1ca
Remove temp fix for /home/jovyan for rstudio
dafeliton Jul 22, 2024
7358056
test 2024 rstudio just in case
dafeliton Jul 22, 2024
edaae3c
add config fix
dafeliton Jul 23, 2024
73fc53d
Merge pull request #88 from ucsd-ets/no-config
dafeliton Jul 23, 2024
b431dbe
statsmodels + jupyterlab bump
dafeliton Jul 23, 2024
130bc60
move some workflow_tests to datasci
dafeliton Jul 23, 2024
b3b4e77
docker typo
dafeliton Jul 23, 2024
376d93c
rename test dir
dafeliton Jul 24, 2024
b0c78f6
Disable extension manager
dafeliton Aug 5, 2024
eff435f
Retry three times on UnixHTTPConnectionPool readtimeout error
dafeliton Aug 5, 2024
1c5d270
better logic
dafeliton Aug 5, 2024
21cf921
trigger full rebuild
dafeliton Aug 5, 2024
0202298
Merge branch 'main' into scipy-ml-fixup
dafeliton Aug 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 51 additions & 24 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,33 @@ on:
workflow_dispatch:

jobs:
docker-pipeline:
start-runner:
name: Start self-hosted EC2 runner
runs-on: ubuntu-latest
outputs:
label: ${{ steps.start-ec2-runner.outputs.label }}
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }}
steps:
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: Start EC2 runner
id: start-ec2-runner
uses: machulav/ec2-github-runner@v2
with:
mode: start
github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
ec2-image-id: ami-079a0c9425d45e778
ec2-instance-type: t3.2xlarge
subnet-id: subnet-0c4a81ef57cf2ebe3
security-group-id: sg-01cb8c0cb0de3ba00

docker-pipeline:
needs: start-runner # required to start the main job when the runner is ready
runs-on: ${{ needs.start-runner.outputs.label }}
if: >
!contains(github.event.head_commit.message , 'skip ci') &&
!contains(github.event.pull_request.title, 'skip ci')
Expand All @@ -36,11 +61,6 @@ jobs:
with:
fetch-depth: 0

- name: Check Free Space 0
run: |
echo "Free space:"
df -h

- name: Docker/ENV cleanup Cleanup
run: |
docker image prune -a -f
Expand All @@ -51,20 +71,11 @@ jobs:
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"

- name: Check Free Space 1
run: |
echo "Free space:"
df -h

- name: Set up Python 3.8
uses: actions/setup-python@v3
with:
python-version: 3.8

- name: Install pip dependencies
run: |
python -m pip install --upgrade pip
pip install -r scripts/requirements.txt
sudo dnf -y install python-pip
sudo dnf remove python3-requests -y
python3 -m pip install -r scripts/requirements.txt

- name: Install selenium dependecies for r studio
run: |
Expand Down Expand Up @@ -99,11 +110,6 @@ jobs:
with:
repository: ${{github.repository}}.wiki
path: wiki

- name: Check Free Space 2
run: |
echo "Free space:"
df -h

- name: Build stack
env:
Expand All @@ -116,7 +122,7 @@ jobs:
run: |
python3 scripts/main.py

- name: Check Free Space 3
- name: Check Free Space
run: |
echo "Free space:"
df -h
Expand All @@ -143,3 +149,24 @@ jobs:
artifacts
logs
manifests
stop-runner:
name: Stop self-hosted EC2 runner
needs:
- start-runner # required to get output from the start-runner job
- docker-pipeline # required to wait when the main job is done
runs-on: ubuntu-latest
if: ${{ always() }} # required to stop the runner even if the error happened in the previous jobs
steps:
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: Stop EC2 runner
uses: machulav/ec2-github-runner@v2
with:
mode: stop
github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
label: ${{ needs.start-runner.outputs.label }}
ec2-instance-id: ${{ needs.start-runner.outputs.ec2-instance-id }}
2 changes: 1 addition & 1 deletion Documentation/actions.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# DataHub Docker Stack: GitHub Actions

The images used to be built and pushed to [our organization at DockerHub](https://hub.docker.com/orgs/ucsdets/members) through GitHub Actions, but are now published as packages within this repo instead. We also use GitHub Actions for testing and pushing our stable images to production. [You may also check out scripts.md](/Documentation/scripts.md) for a more indepth look at the Python code underlying these actions.
The images used to be built and pushed to [our organization at DockerHub](https://hub.docker.com/orgs/ucsdets/members) through GitHub Actions, but are now published as packages within this repo instead. We also use GitHub Actions for testing and pushing our stable images to production. [You may also check out scripts.md](/Documentation/scripts.md) for a more in-depth look at the Python code underlying these actions.

We have four actions that we use to develop, test, and deploy our Docker Stack.

Expand Down
8 changes: 7 additions & 1 deletion Documentation/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,11 @@ to run the pipeline. For testing, we use pytest.
│   │   ├── Dockerfile # image definition for docker
│   │   ├── scripts # .sh & .py scripts used for container setup
│   │   │   └── ...
│   │   ├── workflow_tests
│   │   ├── test_matplotlib.py
│   │   ├── test_nltk.py
│   │   ├── test_pandas.py
│   │   └── test_statsmodels.py
│   │   └── test # image acceptance tests
│   │      ├── data
│   │      │   └── test-notebook.ipynb
Expand All @@ -77,16 +82,17 @@ to run the pipeline. For testing, we use pytest.
│   │   ├── activate.sh
│   │   ├── cudatoolkit_env_vars.sh
│   │   ├── cudnn_env_vars.sh
│   │   ├── run_jupyter.sh
│   │   ├── manual_tests
│   │   │   ├── pytorch_mtest.ipynb
│   │   │   └── tensorflow_mtest.ipynb
│   │   ├── run_jupyter.sh
│   │   ├── test
│   │   │   ├── __init__.py
│   │   │   ├── data
│   │   │   │   └── test_tf.ipynb
│   │   │   └── test_tf.py
│   │   └── workflow_tests
│   │   ├── test_keras.py
│   │   ├── test_pytorch.py
│   │   └── test_tf.py
│   ├── spec.yml # image definition metadata (for all images)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# DataHub Docker Stack: Home Page

## Overview
## Overview

This Github repository builds and maintains the [standard suite of Docker containers](https://support.ucsd.edu/services?id=kb_article_view&sysparm_article=KB0032173&sys_kb_id=e61b198e1b74781048e9cae5604bcbe0) supported by UC San Diego Educational Technology Services.

Expand Down
Loading
Loading