Docker Image CI #443
This file contains hidden or 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
name: Docker Image CI | |
on: | |
push: | |
paths-ignore: | |
- 'cibuildwheel/**' | |
- '.github/workflows/image_cibuildwheel.yml' | |
branches: | |
- master | |
schedule: | |
- cron: "0 0 14,28 * *" | |
jobs: | |
build: | |
strategy: | |
matrix: | |
ubuntu_release: ["22.04", "22.10"] | |
rpy2_version: ["master", "RELEASE_3_5_6"] | |
env: | |
RPY2_VERSION: master | |
LATEST_UBUNTU: "22.10" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build base image | |
run: | | |
docker build base \ | |
--tag rpy2/base-ubuntu:v"${{ matrix.rpy2_version }}"-"${{ matrix.ubuntu_release }}" \ | |
--build-arg RPY2_VERSION="${{ matrix.rpy2_version }}" \ | |
--build-arg UBUNTU_RELEASE="${{ matrix.ubuntu_release }}" | |
- name: Push base image | |
env: | |
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} | |
DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} | |
run: | | |
echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin | |
IMAGE_TAG=rpy2/base-ubuntu:"${{ matrix.rpy2_version }}"-"${{ matrix.ubuntu_release }}" | |
docker tag "${IMAGE_TAG}" "${IMAGE_TAG}" | |
docker push "${IMAGE_TAG}" | |
if [ "${{ matrix.ubuntu_release }}" == "${LATEST_UBUNTU}" ]; then | |
docker tag "${IMAGE_TAG}" rpy2/base-ubuntu:latest | |
docker push rpy2/base-ubuntu:latest | |
fi | |
- name: Build jupyter image | |
run: | | |
docker build jupyter \ | |
--tag rpy2/jupyter-ubuntu:v"${{ matrix.rpy2_version }}"-"${{ matrix.ubuntu_release }}" \ | |
--build-arg RPY2_VERSION="${{ matrix.rpy2_version }}" \ | |
--build-arg UBUNTU_RELEASE="${{ matrix.ubuntu_release }}" | |
- name: Push jupyter image | |
env: | |
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} | |
DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} | |
run: | | |
echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin | |
IMAGE_TAG=rpy2/jupyter-ubuntu:v"${{ matrix.rpy2_version }}"-"${{ matrix.ubuntu_release }}" | |
docker tag "${IMAGE_TAG}" "${IMAGE_TAG}" | |
docker push "${IMAGE_TAG}" | |
if [ "${{ matrix.ubuntu_release }}" == "${LATEST_UBUNTU}" ]; then | |
docker tag "${IMAGE_TAG}" rpy2/jupyter-ubuntu:latest | |
docker push rpy2/jupyter-ubuntu:latest | |
fi | |
- name: Build jupyter_ds image | |
run: | | |
docker build jupyter_ds \ | |
--tag rpy2/jupyter_ds-ubuntu:v"${{ matrix.rpy2_version }}"-"${{ matrix.ubuntu_release }}" \ | |
--build-arg RPY2_VERSION="${{ matrix.rpy2_version }}" \ | |
--build-arg UBUNTU_RELEASE="${{ matrix.ubuntu_release }}" | |
- name: Push jupyter_ds image | |
env: | |
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} | |
DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} | |
run: | | |
echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin | |
IMAGE_TAG=rpy2/jupyter_ds-ubuntu:v"${{ matrix.rpy2_version }}"-"${{ matrix.ubuntu_release }}" | |
docker tag "${IMAGE_TAG}" "${IMAGE_TAG}" | |
docker push "${IMAGE_TAG}" | |
if [ "${{ matrix.ubuntu_release }}" == "${LATEST_UBUNTU}" ]; then | |
docker tag "${IMAGE_TAG}" rpy2/jupyter_ds-ubuntu:latest | |
docker push rpy2/jupyter_ds-ubuntu:latest | |
fi | |