Skip to content
Open
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
22 changes: 22 additions & 0 deletions .github/workflows/hadolint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: hadolint

"on":
pull_request:
branches:
- develop

jobs:
hadolint:
name: hadolint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Run hadolint (R images)
uses: hadolint/hadolint-action@v3.3.0
with:
dockerfile: images/labkey/*/Dockerfile
recursive: true
failure-threshold: 'warning'
ignore: 'DL3008' # Don't worry about pinning versions
16 changes: 16 additions & 0 deletions .github/workflows/shellcheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: 'Run Shellcheck'

"on":
- pull_request

jobs:
shellcheck:
name: Shellcheck
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Run ShellCheck
uses: ludeeus/action-shellcheck@2.0.0
26 changes: 26 additions & 0 deletions .github/workflows/validate_pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
# Workflow to validate Pull Request branches
name: PR Validation

# Trigger on PR creation
"on":
pull_request:
types:
- opened
- reopened
- ready_for_review

jobs:
validate_pr:
if: github.event.pull_request.head.repo.owner.login == 'LabKey'
runs-on: ubuntu-latest

steps:
- name: Validate PR Branches
uses: LabKey/gitHubActions/validate-pr@develop
with:
pr_base: ${{ github.event.pull_request.base.ref }}
pr_head: ${{ github.event.pull_request.head.ref }}
pr_number: ${{ github.event.pull_request.number }}
pr_title: ${{ github.event.pull_request.title }}
github_token: ${{ secrets.GITHUB_TOKEN }}
16 changes: 16 additions & 0 deletions .github/workflows/yamllint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: 'Yamllint GitHub Actions'

"on":
- pull_request

jobs:
yamllint:
name: 'Yamllint'
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v6

- name: yaml-lint
uses: ibiqlik/action-yamllint@v3
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.claude/
17 changes: 8 additions & 9 deletions images/labkey/r/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@ ARG VERSION=18.04
FROM ubuntu:${VERSION}

RUN apt-get update && \
apt-get install -y --no-install-recommends apt-transport-https apt-utils software-properties-common

RUN apt-get install -y --no-install-recommends build-essential dos2unix libopenblas-dev libssl-dev libxml2-dev nano pandoc procps xvfb x11-common

# NOTE much faster to use apt to install prebuilt packages than using "install.packages()"
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y \
apt-get install -y --no-install-recommends apt-transport-https apt-utils software-properties-common && \
apt-get install -y --no-install-recommends build-essential dos2unix libopenblas-dev libssl-dev libxml2-dev nano pandoc procps xvfb x11-common && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
r-base \
r-cran-bitops \
r-cran-cairo \
Expand All @@ -28,12 +25,14 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y \
r-cran-markdown \
r-cran-scales \
r-cran-stringr \
r-cran-tidyr
r-cran-tidyr && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

COPY install.R /tmp/
RUN R --vanilla -f /tmp/install.R
RUN R --vanilla -f /tmp/install.R

RUN ln -fs /usr/share/zoneinfo/America/Los_Angeles/etc/localtime && \
RUN ln -fs /usr/share/zoneinfo/America/Los_Angeles /etc/localtime && \
dpkg-reconfigure --frontend noninteractive tzdata

RUN R --version
2 changes: 1 addition & 1 deletion images/labkey/rsandbox/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ FROM rocker/r-ver:${VERSION}

RUN apt-get update && \
apt-get install -y --no-install-recommends apt-transport-https apt-utils software-properties-common && \
apt-get install -y --no-install-recommends build-essential dos2unix libopenblas-dev libxml2-dev nano pandoc procps xvfb x11-common && \
apt-get install -y --no-install-recommends build-essential dos2unix libopenblas-dev libxml2-dev nano pandoc procps xvfb x11-common libuv1-dev && \
apt-get install -y --no-install-recommends sudo && \
apt-get install -y --no-install-recommends \
curl libcurl4-openssl-dev \
Expand Down
4 changes: 3 additions & 1 deletion images/labkey/rstudio-base/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
ARG VERSION=4.0.5
FROM rocker/rstudio:${VERSION}

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

RUN apt-get update && \
apt-get install -y --no-install-recommends apt-utils && \
apt-get install -y --no-install-recommends dos2unix nano procps libxml2-dev xvfb zlib1g-dev && \
apt-get install -y --no-install-recommends dos2unix nano procps libxml2-dev xvfb zlib1g-dev libuv1-dev && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

Expand All @@ -23,4 +25,4 @@

COPY cleanupSessionFiles.sh /
RUN dos2unix /cleanupSessionFiles.sh
RUN chmod 755 /cleanupSessionFiles.sh

Check failure on line 28 in images/labkey/rstudio-base/Dockerfile

View workflow job for this annotation

GitHub Actions / hadolint

DL3059 info: Multiple consecutive `RUN` instructions. Consider consolidation.
Loading