Merge pull request #378 from helxplatform/radx-v1 #51
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Workflow responsible for the | |
# development release processes. | |
# | |
name: Build-Push-Dev-Image | |
on: | |
push: | |
branches: | |
- develop | |
paths-ignore: | |
- README.md | |
- .old_cicd/* | |
- .github/* | |
- .github/workflows/* | |
- LICENSE | |
- .gitignore | |
- .dockerignore | |
- .githooks | |
# Do not build another image on a pull request. | |
# Any push to develop will trigger a new build however. | |
pull_request: | |
branches-ignore: | |
- '*' | |
jobs: | |
build-push-dev-image: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.head_ref }} | |
# fetch-depth: 0 means, get all branches and commits | |
fetch-depth: 0 | |
- name: Set short git commit SHA | |
id: vars | |
run: | | |
echo "short_sha=$(git rev-parse --short ${{ github.sha }})" >> $GITHUB_OUTPUT | |
# https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ | |
- name: Confirm git commit SHA output | |
run: echo ${{ steps.vars.outputs.short_sha }} | |
# Docker Buildx is important to caching in the Build And Push Container | |
# step | |
# https://github.com/marketplace/actions/build-and-push-docker-images | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
driver-opts: | | |
network=host | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
logout: true | |
- name: Login to Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: containers.renci.org | |
username: ${{ secrets.CONTAINERHUB_USERNAME }} | |
password: ${{ secrets.CONTAINERHUB_TOKEN }} | |
logout: true | |
# Notes on Cache: | |
# https://docs.docker.com/build/ci/github-actions/examples/#inline-cache | |
- name: Build Push Container | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
push: true | |
# Push to renci-registry and dockerhub here. | |
# cache comes from dockerhub. | |
tags: | | |
${{ github.repository }}:develop | |
${{ github.repository }}:${{ steps.vars.outputs.short_sha }} | |
containers.renci.org/${{ github.repository }}:develop | |
containers.renci.org/${{ github.repository }}:${{ steps.vars.outputs.short_sha }} | |
cache-from: type=registry,ref=${{ github.repository }}:buildcache-dev | |
cache-to: type=registry,ref=${{ github.repository }}:buildcache-dev,mode=max |