Skip to content

Commit

Permalink
Merge pull request #101 from brown-ccv/chore/add-neur1630-2024
Browse files Browse the repository at this point in the history
Chore/add neur1630 2024
  • Loading branch information
anna-murphy authored Aug 12, 2024
2 parents beb895c + 2eb3587 commit 2b338b4
Show file tree
Hide file tree
Showing 9 changed files with 241 additions and 2 deletions.
56 changes: 56 additions & 0 deletions .github/workflows/neur1630-fall-tag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: tag-image-neur1630
on: [workflow_dispatch]

env:
CLASS: neur1630
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/neur1630

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/neur1630/julia_env gs://jupyterhub-environment-files/fall-2024/neur1630/past/${GITHUB_SHA}/julia
gsutil cp -r requirements/classes/neur1630/julia_env gs://jupyterhub-environment-files/fall-2024/neur1630/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/neur1630/past/${GITHUB_SHA}/conda
gsutil cp -r requirements/out gs://jupyterhub-environment-files/fall-2024/neur1630/latest/conda
54 changes: 54 additions & 0 deletions .github/workflows/neur1630.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: build-image-neur1630
on:
push:
paths:
- 'requirements/classes/neur1630/**'
- 'Dockerfile'
- 'docker-compose.yml'
- 'scripts/**'
- '.github/workflows/neur1630.yml'
workflow_dispatch:

env:
CLASS: neur1630
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/neur1630

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##*/}
2 changes: 1 addition & 1 deletion dev/templates/class_tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
gsutil cp -r requirements/classes/${CLASS}/julia_env gs://jupyterhub-environment-files/${SEASON}-${YEAR}/${CLASS}/latest/julia
- name: Configure Docker
run: gcloud auth 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
Expand Down
2 changes: 1 addition & 1 deletion dev/templates/class_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
sudo --preserve-env=CLASS docker compose up julia_build
- name: Configure Docker
run: gcloud auth configure-docker
run: gcloud auth configure-docker ${{ env.REGION }}-docker.pkg.dev --quiet

- name: Build JH Image
run: |
Expand Down
16 changes: 16 additions & 0 deletions requirements/classes/neur1630/condarc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# 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
- bioconda

# 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/neur1630/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/neur1630/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:

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

scanpy
harmonypy
rpy2
nwbwidgets
pynapple
pybiomart
pyranges
gseapy
86 changes: 86 additions & 0 deletions requirements/classes/neur1630/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# add class-specific packages here:

ipywidgets
zarr
requests
aiohttp
louvain
anndata
umap-learn
loompy
scrublet
bioconductor-scran
anndata2ri
fastcluster
tqdm
pynwb
dandi

# 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

0 comments on commit 2b338b4

Please sign in to comment.