Skip to content

Commit

Permalink
Merge branch 'main' into jupyter_docker
Browse files Browse the repository at this point in the history
  • Loading branch information
cansavvy authored Jan 8, 2025
2 parents 95be7df + d40d536 commit 6f68aa7
Show file tree
Hide file tree
Showing 15 changed files with 544 additions and 276 deletions.
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
34 changes: 34 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<!-- From https://axolo.co/blog/p/part-3-github-pull-request-template-->

# Description

<!-- Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change. -->

Fixes # (issue)

## Type of change

<!-- Please delete options that are not relevant. -->

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update

# How Has This Been Tested?

<!-- Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration -->

- [ ] Test A
- [ ] Test B

# Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
59 changes: 59 additions & 0 deletions .github/workflows/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Candace Savonen Apr 2025
name: 'Build Docker Image'
description: 'Build and push from a dockerfile in the repository'
inputs:
directory:
description: "What's the file path to this Dockerfile's folder in this repo"
required: true
type: string
tag:
description: 'What is this called on Dockerhub? e.g. jhudsl/base_ottr'
required: true
type: string
dockerhubpush:
description: 'Should this be pushed to Dockerhub?'
required: false
default: 'false'
type: string
token:
description: 'A GitHub Personal Access Token'
required: false
dockerhub_username:
description: 'A Dockerhub username that has access to this image'
required: false
dockerhub_token:
description: 'A Dockerhub token that has persmissions to push to this image'
required: false

outputs:
success:
value: ${{ steps.push.outcome }}

runs:
using: "composite"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ inputs.token }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to Docker Hub
if: ${{ inputs.dockerhubpush != 'false' }}
uses: docker/login-action@v3
with:
username: ${{ inputs.dockerhub_username }}
password: ${{ inputs.dockerhub_token }}

- name: Build
id: push
uses: docker/build-push-action@v6
with:
push: ${{ inputs.dockerhubpush }}
context: ${{ inputs.directory }}
file: ${{ inputs.directory }}/Dockerfile
platforms: linux/amd64
tags: ${{ inputs.tag }}
74 changes: 0 additions & 74 deletions .github/workflows/docker-test.yml

This file was deleted.

125 changes: 29 additions & 96 deletions .github/workflows/merge.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Candace Savonen May 2022
# Candace Savonen Jan 2025

name: Pull Request

Expand All @@ -8,111 +8,44 @@ on:

jobs:

dockerfiles-changed:
name: Detect changed Dockerfiles
dockerfile-check:
name: Detect changed Dockerfile - ${{ matrix.config.dir }}
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
config:
- {dir: base_ottr, name: 'jhudsl/base_ottr'}
- {dir: bioconductor, name: 'jhudsl/ottr_bioconductor'}
- {dir: ottrpal, name: 'jhudsl/ottrpal'}
- {dir: ottr_anvil_poll, name: 'jhudsl/anvil-poll-2024'}
- {dir: ottr_datatables, name: 'jhudsl/ottr_datatables'}
- {dir: ottr_website, name: 'jhudsl/ottr_website'}
- {dir: ottr_jupyter, name: 'jhudsl/ottr_jupyter'}
# NEW IMAGES HERE: #
####### - {dir: directory_path, name: 'name its called on dockerhub'}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Get specific changed files
id: base_ottr
uses: tj-actions/[email protected]
with:
files: base_ottr/*

- name: Get specific changed files
id: ottrpal
id: image_name
uses: tj-actions/[email protected]
with:
files: ottrpal/*
files: ${{ matrix.config.dir }}/*

- name: Get specific changed files
id: bioconductor
uses: tj-actions/[email protected]
with:
files: bioconductor/*

- name: Get specific changed files
id: python
uses: tj-actions/[email protected]
with:
files: python/*
- run: echo ${{steps.image_name.outputs.any_changed}}

- name: Get specific changed files
id: jupyter
uses: tj-actions/[email protected]
- name: Docker build
if: ${{ steps.image_name.outputs.any_changed == 'true'}}
uses: ./.github/workflows/
with:
files: jupyter/*

- run: |
echo ${{steps.base_ottr.outputs.any_changed}}
echo ${{steps.ottrpal.outputs.any_changed}}
echo ${{steps.bioconductor.outputs.any_changed}}
echo ${{steps.python.outputs.any_changed}}
echo ${{steps.jupyter.outputs.any_changed}}
outputs:
base_ottr_changed: ${{steps.base_ottr.outputs.any_changed}}
ottrpal_changed: ${{steps.ottrpal.outputs.any_changed}}
bioconductor_changed: ${{steps.bioconductor.outputs.any_changed}}
python_changed: ${{steps.python.outputs.any_changed}}
quarto_changed: ${{steps.jupyter.outputs.any_changed}}

build-base:
name: Build base ottr image
needs: dockerfiles-changed
if: ${{needs.dockerfiles-changed.outputs.base_ottr_changed == 'true'}}
uses: ./.github/workflows/docker-test.yml
with:
directory: base_ottr
tag: jhudsl/course_template
dockerhubpush: true
secrets:
GH_PAT: ${{ secrets.GH_PAT }}
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}

build-ottrpal:
name: Build ottrpal image
needs: dockerfiles-changed
if: ${{needs.dockerfiles-changed.outputs.ottrpal_changed == 'true'}}
uses: ./.github/workflows/docker-test.yml
with:
directory: ottrpal
tag: jhudsl/ottrpal
dockerhubpush: true
secrets:
GH_PAT: ${{ secrets.GH_PAT }}
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}

build-bioconductor:
name: Build bioconductor image
needs: dockerfiles-changed
if: ${{needs.dockerfiles-changed.outputs.bioconductor_changed == 'true'}}
uses: ./.github/workflows/docker-test.yml
with:
directory: bioconductor
tag: jhudsl/ottr_bioconductor
dockerhubpush: true
secrets:
GH_PAT: ${{ secrets.GH_PAT }}
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}

build-jupyter:
name: Build quarto image
needs: dockerfiles-changed
if: ${{needs.dockerfiles-changed.outputs.jupyter_changed == 'true'}}
uses: ./.github/workflows/docker-test.yml
with:
directory: ottr_jupyter
tag: jhudsl/ottr_jupyter
dockerhubpush: true
secrets:
GH_PAT: ${{ secrets.GH_PAT }}
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
directory: ${{ matrix.config.dir }}
tag: ${{ matrix.config.name }}
dockerhubpush: false
token: ${{ secrets.GH_PAT }}
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub_token: ${{ secrets.DOCKERHUB_TOKEN }}
Loading

0 comments on commit 6f68aa7

Please sign in to comment.