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

New Class: EEPS 1430 Added #103

Merged
merged 1 commit into from
Nov 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
56 changes: 56 additions & 0 deletions .github/workflows/eeps1430-fall-tag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: tag-image-eeps1430
on: [workflow_dispatch]

env:
CLASS: eeps1430
TARGET: base
SQLITE: false
PYTHON_VERSION: "3.9.17"
PROJECT_ID: jupyterhub-docker-images
REGION: us-east1
GAR_LOCATION: us-east1-docker.pkg.dev/jupyterhub-docker-images/all-classes/eeps1430

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]

- name: Set Up GCloud
uses: google-github-actions/[email protected]
with:
project_id: ${{ secrets.GCP_PROJECT_ID_JH_DOCKER }}
service_account_key: ${{ secrets.GCP_SA_KEY_JH_DOCKER }}
export_default_credentials: true

- name: Create Julia Environment Files
if: env.TARGET == 'r_julia'
run: |
sudo --preserve-env=CLASS docker compose up julia_build

- name: Upload Julia Env Files to Google Storage Bucket
if: env.TARGET == 'r_julia'
run: |
gsutil cp -r requirements/classes/eeps1430/julia_env gs://jupyterhub-environment-files/fall-2024/eeps1430/past/${GITHUB_SHA}/julia
gsutil cp -r requirements/classes/eeps1430/julia_env gs://jupyterhub-environment-files/fall-2024/eeps1430/latest/julia

- name: Configure Docker
run: gcloud auth configure-docker ${{ env.REGION }}-docker.pkg.dev --quiet
- name: Build JH Image
run: |
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker compose up jh_image
docker tag ${{ env.CLASS }}:latest ${{ env.GAR_LOCATION }}:latest
docker tag ${{ env.CLASS }}:latest ${{ env.GAR_LOCATION }}:${GITHUB_REF##*/}
docker tag ${{ env.CLASS }}:latest ${{ env.GAR_LOCATION }}:${GITHUB_SHA}
docker tag ${{ env.CLASS }}:latest ${{ env.GAR_LOCATION }}:fall-2024
- name: Push JH Image
run: |
docker push ${{ env.GAR_LOCATION }}:latest
docker push ${{ env.GAR_LOCATION }}:${GITHUB_REF##*/}
docker push ${{ env.GAR_LOCATION }}:${GITHUB_SHA}
docker push ${{ env.GAR_LOCATION }}:fall-2024

- name: Upload Conda Env Files to Google Storage Bucket
run: |
gsutil cp -r requirements/out gs://jupyterhub-environment-files/fall-2024/eeps1430/past/${GITHUB_SHA}/conda
gsutil cp -r requirements/out gs://jupyterhub-environment-files/fall-2024/eeps1430/latest/conda
54 changes: 54 additions & 0 deletions .github/workflows/eeps1430.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: build-image-eeps1430
on:
push:
paths:
- 'requirements/classes/eeps1430/**'
- 'Dockerfile'
- 'docker-compose.yml'
- 'scripts/**'
- '.github/workflows/eeps1430.yml'
workflow_dispatch:

env:
CLASS: eeps1430
TARGET: base
SQLITE: false
PYTHON_VERSION: "3.9.17"
PROJECT_ID: jupyterhub-docker-images
REGION: us-east1
GAR_LOCATION: us-east1-docker.pkg.dev/jupyterhub-docker-images/all-classes/eeps1430

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]

- name: Set Up GCloud
uses: google-github-actions/[email protected]
with:
project_id: ${{ secrets.GCP_PROJECT_ID_JH_DOCKER }}
service_account_key: ${{ secrets.GCP_SA_KEY_JH_DOCKER }}
export_default_credentials: true

- name: Create Julia Environment Files
if: env.TARGET == 'r_julia'
run: |
sudo --preserve-env=CLASS docker compose up julia_build

- name: Configure Docker
run: gcloud auth configure-docker ${{ env.REGION }}-docker.pkg.dev --quiet

- name: Build JH Image
run: |
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker compose up jh_image

- name: Tag JH Image
run: |
docker tag ${{ env.CLASS }}:latest ${{ env.GAR_LOCATION }}:${GITHUB_REF##*/}
docker tag ${{ env.CLASS }}:latest ${{ env.GAR_LOCATION }}:latest

- name: Push JH Image
run: |
docker push ${{ env.GAR_LOCATION }}:latest
docker push ${{ env.GAR_LOCATION }}:${GITHUB_REF##*/}
15 changes: 15 additions & 0 deletions requirements/classes/eeps1430/condarc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# channel locations. These override conda defaults, i.e., conda will
# search *only* the channels listed here, in the order given.
# Use "defaults" to automatically include all default channels.
# Non-url channels will be interpreted as Anaconda.org usernames
# (this can be changed by modifying the channel_alias key; see below).
# The default is just 'defaults'.
channels:
- conda-forge

# Show channel URLs when displaying what is going to be downloaded
# and in 'conda list'. The default is False.
show_channel_urls: True

# For more information about this file see:
# https://conda.io/docs/user-guide/configuration/use-condarc.html
12 changes: 12 additions & 0 deletions requirements/classes/eeps1430/packages.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Use this script to install packages via CRAN, for example:

# NOTE: Code below shows how you install R packages from CRAN and Bioconductor. For CRAN packages, you can use
# the standard install.packages() function; for Bioconductor packages, however, you
# must first install BiocManager and then use that for installs.

# install.packages("BiocManager", dependencies=TRUE, repos='http://cran.rstudio.com/')
# install.packages(c("ggplot2", "pheatmap", "RColorBrewer", "PoiClaClu",
# "patchwork", "tidyr", "GGally"), dependencies=TRUE,
# repos='http://cran.rstudio.com/')
# BiocManager::install(c("airway", "DESeq2", "vsn", "biomaRt",
# "AnnotationHub", "SummarizedExperiment"))
5 changes: 5 additions & 0 deletions requirements/classes/eeps1430/requirements.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
const julia_packages = [
"IJulia", # DO NOT REMOVE
# add class specific classes here:

]
2 changes: 2 additions & 0 deletions requirements/classes/eeps1430/requirements.pip.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# add class-specific classes here:

74 changes: 74 additions & 0 deletions requirements/classes/eeps1430/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# add class-specific packages here:
netCDF4
metpy
cartopy
iris

# these are the scipy base packages ( YOU PROBABLY DON'T WANT TO REMOVE THESE )
dask
pandas
numexpr
matplotlib
scipy
seaborn
scikit-learn
scikit-image
sympy
cython
patsy
statsmodels
cloudpickle
dill
numba
bokeh
sqlalchemy
hdf5
vincent
beautifulsoup4
protobuf
xlrd
bottleneck
pytables

# these are the base r packages in the r-notebook image ( YOU PROBABLY WANT THESE IF YOUR TARGET IN DOCKER IS r_lang OR r_julia )
# https://stat.ethz.ch/R-manual/R-devel/library/base/html/00Index.html
r-base=4.2.*
# https://github.com/topepo/caret/releases/tag/v6.0-93
r-caret=6.*
# https://cran.r-project.org/web/packages/crayon/index.html
r-crayon=1.*
# https://cran.r-project.org/web/packages/devtools/index.html
r-devtools=2.*
# https://cran.r-project.org/web/packages/forecast/index.html
r-forecast=8.*
# https://cran.r-project.org/web/packages/hexbin/index.html
r-hexbin=1.*
# https://cran.r-project.org/web/packages/htmltools/index.html
r-htmltools=0.*
# https://cran.r-project.org/web/packages/htmlwidgets/index.html
r-htmlwidgets=1.*
# https://github.com/IRkernel/IRkernel/releases/tag/1.3.2
r-irkernel=1.*
# https://cran.r-project.org/web/packages/nycflights13/index.html
r-nycflights13=1.*
# https://cran.r-project.org/web/packages/randomForest/index.html
r-randomforest=4.*
# https://cran.r-project.org/web/packages/RCurl/index.html
r-rcurl=1.98*
# https://cran.r-project.org/web/packages/rmarkdown/index.html
r-rmarkdown=2.*
# https://cran.r-project.org/web/packages/odbc/index.html
r-rodbc=1.*
# https://cran.r-project.org/web/packages/RSQLite/index.html
r-rsqlite=2.*
# https://cran.r-project.org/web/packages/shiny/index.html
r-shiny=1.*
# https://cran.r-project.org/web/packages/tidyverse/index.html
r-tidyverse
unixodbc=2.*
# https://cran.r-project.org/web/packages/tidymodels/index.html
r-tidymodels=1.*

# required for environment and plugins ( DO NOT REMOVE THESE!!! )
ipython
ipykernel
Loading