Skip to content

Schedule (master branch) #119

Schedule (master branch)

Schedule (master branch) #119

name: Schedule (master branch)
on:
schedule:
- cron: '00 6 * * 4'
jobs:
build:
name: Build
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- docker-image-name: "dockershelf/debian:buster"
docker-image-extra-tags: "dockershelf/debian:oldstable"
debian-suite: "oldstable"
- docker-image-name: "dockershelf/debian:bullseye"
docker-image-extra-tags: "dockershelf/debian:stable"
debian-suite: "stable"
- docker-image-name: "dockershelf/debian:bookworm"
docker-image-extra-tags: "dockershelf/debian:testing"
debian-suite: "testing"
- docker-image-name: "dockershelf/debian:sid"
docker-image-extra-tags: "dockershelf/debian:unstable"
debian-suite: "unstable"
- docker-image-name: "dockershelf/latex:basic"
- docker-image-name: "dockershelf/latex:full"
- docker-image-name: "dockershelf/python:3.7-bullseye"
docker-image-extra-tags: "dockershelf/python:3.7-stable"
- docker-image-name: "dockershelf/python:3.7-sid"
docker-image-extra-tags: "dockershelf/python:3.7-unstable dockershelf/python:3.7"
- docker-image-name: "dockershelf/python:3.10-bullseye"
docker-image-extra-tags: "dockershelf/python:3.10-stable"
- docker-image-name: "dockershelf/python:3.10-sid"
docker-image-extra-tags: "dockershelf/python:3.10-unstable dockershelf/python:3.10"
- docker-image-name: "dockershelf/python:3.11-bullseye"
docker-image-extra-tags: "dockershelf/python:3.11-stable"
- docker-image-name: "dockershelf/python:3.11-sid"
docker-image-extra-tags: "dockershelf/python:3.11-unstable dockershelf/python:3.11"
- docker-image-name: "dockershelf/python:3.12-bullseye"
docker-image-extra-tags: "dockershelf/python:3.12-stable"
- docker-image-name: "dockershelf/python:3.12-sid"
docker-image-extra-tags: "dockershelf/python:3.12-unstable dockershelf/python:3.12"
- docker-image-name: "dockershelf/node:12-bullseye"
docker-image-extra-tags: "dockershelf/node:12-stable"
- docker-image-name: "dockershelf/node:12-sid"
docker-image-extra-tags: "dockershelf/node:12-unstable dockershelf/node:12"
- docker-image-name: "dockershelf/node:14-bullseye"
docker-image-extra-tags: "dockershelf/node:14-stable"
- docker-image-name: "dockershelf/node:14-sid"
docker-image-extra-tags: "dockershelf/node:14-unstable dockershelf/node:14"
- docker-image-name: "dockershelf/node:16-bullseye"
docker-image-extra-tags: "dockershelf/node:16-stable"
- docker-image-name: "dockershelf/node:16-sid"
docker-image-extra-tags: "dockershelf/node:16-unstable dockershelf/node:16"
- docker-image-name: "dockershelf/node:18-bullseye"
docker-image-extra-tags: "dockershelf/node:18-stable"
- docker-image-name: "dockershelf/node:18-sid"
docker-image-extra-tags: "dockershelf/node:18-unstable dockershelf/node:18"
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
ref: master
fetch-depth: 0
- name: Installing dependencies
run: |
sudo apt-get update
sudo apt-get install debootstrap
sudo gem install docker-api serverspec
- name: Building docker image
env:
DOCKER_IMAGE_NAME: ${{ matrix.docker-image-name }}
DEBIAN_SUITE: ${{ matrix.debian-suite }}
run: |
bash build-image.sh "${DOCKER_IMAGE_NAME}" "${DEBIAN_SUITE}"
- name: Testing docker image
env:
DOCKER_IMAGE_NAME: ${{ matrix.docker-image-name }}
DOCKER_IMAGE_EXTRA_TAGS: ${{ matrix.docker-image-extra-tags }}
run: |
bash test-image.sh "${DOCKER_IMAGE_NAME}" "${DOCKER_IMAGE_EXTRA_TAGS}"
- name: Pushing docker image
env:
DOCKER_IMAGE_NAME: ${{ matrix.docker-image-name }}
DOCKER_IMAGE_EXTRA_TAGS: ${{ matrix.docker-image-extra-tags }}
DH_USERNAME: ${{ secrets.DH_USERNAME }}
DH_PASSWORD: ${{ secrets.DH_PASSWORD }}
run: |
bash push-image.sh ${DOCKER_IMAGE_NAME} ${DH_USERNAME} ${DH_PASSWORD}
if [ -n "${DOCKER_IMAGE_EXTRA_TAGS}" ]; then
for EXTRA_TAG in ${DOCKER_IMAGE_EXTRA_TAGS}; do
docker tag ${DOCKER_IMAGE_NAME} ${EXTRA_TAG}
bash push-image.sh ${EXTRA_TAG} ${DH_USERNAME} ${DH_PASSWORD}
done
fi