Skip to content

docker

docker #498

Workflow file for this run

---
name: docker
# Run on push and once a week to keep the images from bitrotting and to
# identify issues while no commits are being pushed.
on:
push:
branches: [master]
schedule:
- cron: "52 2 * * 0"
jobs:
docker-haskell:
runs-on: ubuntu-latest
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
file: tools/built/src/Dockerfile.haskell
tags: toxchat/toktok-stack:haskell
cache-from: type=registry,ref=toxchat/toktok-stack:haskell
cache-to: type=inline
push: true
docker-third_party:
runs-on: ubuntu-latest
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
file: tools/built/src/Dockerfile.third_party
tags: toxchat/toktok-stack:latest-third_party
cache-from: type=registry,ref=toxchat/toktok-stack:latest-third_party
cache-to: type=inline
push: true
docker:
runs-on: ubuntu-latest
needs: [docker-third_party]
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
file: tools/built/src/Dockerfile
tags: toxchat/toktok-stack:latest
cache-from: type=registry,ref=toxchat/toktok-stack:latest
cache-to: type=inline
push: true
docker-fastbuild:
runs-on: ubuntu-latest
needs: [docker]
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
file: tools/built/src/Dockerfile.fastbuild
tags: toxchat/toktok-stack:latest-fastbuild
cache-from: type=registry,ref=toxchat/toktok-stack:latest-fastbuild
cache-to: type=inline
push: true
docker-dev:
runs-on: ubuntu-latest
needs: [docker-fastbuild]
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
file: tools/built/src/Dockerfile.dev
tags: toxchat/toktok-stack:latest-dev
cache-from: type=registry,ref=toxchat/toktok-stack:latest-dev
cache-to: type=inline
push: true
docker-built:
strategy:
fail-fast: false
matrix:
flavour: [release, debug, asan, msan, tsan, arm64, windows]
runs-on: ubuntu-latest
needs: [docker]
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
file: tools/built/src/Dockerfile.${{ matrix.flavour }}
tags: toxchat/toktok-stack:latest-${{ matrix.flavour }}
cache-from: type=registry,ref=toxchat/toktok-stack:latest-${{ matrix.flavour }}
cache-to: type=inline
push: true