Skip to content
3 changes: 2 additions & 1 deletion .github/workflows/docker-management.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Candace Savonen Oct 2021
# Updated Jan 2025

name: Docker management

Expand Down Expand Up @@ -55,7 +56,7 @@ jobs:
# Login to Dockerhub
- name: Login to DockerHub
if: ${{ github.event.inputs.dockerhubpush != 'false' }}
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
# You will need to set up GitHub secrets with your Docker login info
# for this to work.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run-r-notebook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
steps:
# We need to tell github actions to use the code on the branch we are on
- name: checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
# How deep should it fetch?
fetch-depth: 0
Expand Down
8 changes: 5 additions & 3 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM rocker/tidyverse:4.0.2
FROM rocker/tidyverse:4.4
LABEL maintainer="cansav09@gmail.com"
WORKDIR /rocker-build/

Expand All @@ -9,7 +9,9 @@ RUN apt-get -y --no-install-recommends install \
python3-pip python3-dev

RUN pip3 install \
"pyrefinebio"
"pyrate-limiter==2.7.0" \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the version listed in pyrefinebio

Suggested change
"pyrate-limiter==2.7.0" \
"pyrate-limiter==2.10.0" \

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This unfortunately didn't fix the problem. Tried rebuilding.

Copy link
Copy Markdown
Contributor Author

@cansavvy cansavvy Mar 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And in the docker image pip show pyrate_limiter shows

Name: pyrate-limiter
Version: 2.10.0
Summary: Python Rate-Limiter using Leaky-Bucket Algorithm
Home-page: https://github.com/vutran1710/PyrateLimiter
Author: vutr
Author-email: me@vutr.io
License: MIT
Location: /usr/local/lib/python3.12/dist-packages
Requires: 
Required-by: 

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I look at the one being pulled by your tests, jhudsl/reproducible-r:latest, it still has the newer version:

❯ docker run jhudsl/reproducible-r:latest pip show pyrate_limiter
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
Name: pyrate-limiter
Version: 3.0.0
Summary: Python Rate-Limiter using Leaky-Bucket Algorithm
Home-page: https://github.com/vutran1710/PyrateLimiter
Author: vutr
Author-email: me@vutr.io
License: MIT
Location: /usr/local/lib/python3.12/dist-packages
Requires:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Locally, I can use the following two commands and get a successful run:

❯ docker build -f docker/Dockerfile . -t jhudsl/reproducible-r:test --platform linux/amd64
❯ docker run \
  --mount type=bind,target=/home/rstudio,source=$PWD \
  jhudsl/reproducible-r:test \
  bash run_analysis.sh

Copy link
Copy Markdown
Contributor Author

@cansavvy cansavvy Mar 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lol. Such a stupid reason. I've been using the wrong docker image name. It's jhudsl/reproducible-r NOT jhudsl/reproducible-r-example. 😅

Thanks for the help @jashapiro

redis \
pyrefinebio --break-system-packages

# Commonly used R packages
RUN Rscript -e "install.packages( \
Expand All @@ -19,4 +21,4 @@ RUN Rscript -e "install.packages( \
# Set final workdir for commands
WORKDIR /home/rstudio

ENV USER="rstudio" PASSWORD="rstudio" ROOT="TRUE"
ENV USER="rstudio" ROOT="TRUE"