feat: Add an alpine/s390x qemu container. #124
Workflow file for this run
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
--- | |
name: docker | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
jobs: | |
# freebsd: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Set up Docker Buildx | |
# uses: docker/setup-buildx-action@v2 | |
# - name: Login to DockerHub | |
# uses: docker/login-action@v2 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# - name: Build and push | |
# uses: docker/build-push-action@v4 | |
# with: | |
# context: "{{defaultContext}}:freebsd" | |
# push: true | |
# tags: toxchat/freebsd:latest | |
# cache-from: type=registry,ref=toxchat/freebsd:latest | |
# cache-to: type=inline | |
alpine-s390x: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
if: ${{ github.event_name == 'push' }} | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v4 | |
with: | |
context: "{{defaultContext}}:alpine-s390x" | |
tags: toxchat/alpine-s390x:latest | |
cache-from: type=registry,ref=toxchat/alpine-s390x:latest | |
cache-to: type=inline | |
push: ${{ github.event_name == 'push' }} | |
nacl: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
if: ${{ github.event_name == 'push' }} | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v4 | |
with: | |
context: "{{defaultContext}}:nacl" | |
tags: toxchat/nacl:latest | |
cache-from: type=registry,ref=toxchat/nacl:latest | |
cache-to: type=inline | |
push: ${{ github.event_name == 'push' }} | |
################################################## | |
# | |
# :: Haskell dev base images (better caching) | |
# | |
################################################## | |
haskell: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
if: ${{ github.event_name == 'push' }} | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v4 | |
with: | |
context: "{{defaultContext}}:haskell" | |
tags: toxchat/haskell:latest | |
cache-from: type=registry,ref=toxchat/haskell:latest | |
cache-to: type=inline | |
push: ${{ github.event_name == 'push' }} | |
################################################## | |
# | |
# :: Frama-C static analyser | |
# | |
################################################## | |
frama-c: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
if: ${{ github.event_name == 'push' }} | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v4 | |
with: | |
context: "{{defaultContext}}:frama-c" | |
tags: toxchat/frama-c:latest | |
cache-from: type=registry,ref=toxchat/frama-c:latest | |
cache-to: type=inline | |
push: ${{ github.event_name == 'push' }} | |
################################################## | |
# | |
# :: Flutter dev base images (better caching) | |
# | |
################################################## | |
flutter-web: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
if: ${{ github.event_name == 'push' }} | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v4 | |
with: | |
context: "{{defaultContext}}:flutter/web" | |
tags: toxchat/flutter-web:latest | |
cache-from: type=registry,ref=toxchat/flutter-web:latest | |
cache-to: type=inline | |
push: ${{ github.event_name == 'push' }} | |
################################################## | |
# | |
# :: Bazel docker-sandbox and buildfarm images | |
# | |
################################################## | |
bazel-cache: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
if: ${{ github.event_name == 'push' }} | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v4 | |
with: | |
context: "{{defaultContext}}:buildfarm/cache" | |
tags: toxchat/bazel-cache:latest | |
cache-from: type=registry,ref=toxchat/bazel-cache:latest | |
cache-to: type=inline | |
push: ${{ github.event_name == 'push' }} | |
bazel: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
if: ${{ github.event_name == 'push' }} | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Build image | |
run: cd buildfarm/bazel && ./build.sh | |
- name: Build and push | |
uses: docker/build-push-action@v4 | |
with: | |
context: "buildfarm/bazel" | |
tags: toxchat/bazel:latest | |
cache-from: type=registry,ref=toxchat/bazel:latest | |
cache-to: type=inline | |
push: ${{ github.event_name == 'push' }} | |
# buildfarm-base: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Set up Docker Buildx | |
# uses: docker/setup-buildx-action@v2 | |
# - name: Login to DockerHub | |
# uses: docker/login-action@v2 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# - name: Build and push | |
# uses: docker/build-push-action@v4 | |
# with: | |
# context: "{{defaultContext}}:buildfarm/base" | |
# push: true | |
# tags: toxchat/buildfarm-base:latest | |
# cache-from: type=registry,ref=toxchat/buildfarm-base:latest | |
# cache-to: type=inline | |
# buildfarm-server: | |
# runs-on: ubuntu-latest | |
# needs: [buildfarm-base] | |
# steps: | |
# - name: Set up Docker Buildx | |
# uses: docker/setup-buildx-action@v2 | |
# - name: Login to DockerHub | |
# uses: docker/login-action@v2 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# - name: Build and push | |
# uses: docker/build-push-action@v4 | |
# with: | |
# context: "{{defaultContext}}:buildfarm/server" | |
# push: true | |
# tags: toxchat/buildfarm-server:latest | |
# cache-from: type=registry,ref=toxchat/buildfarm-server:latest | |
# cache-to: type=inline | |
# buildfarm-worker: | |
# runs-on: ubuntu-latest | |
# needs: [buildfarm-base, builder] | |
# steps: | |
# - name: Set up Docker Buildx | |
# uses: docker/setup-buildx-action@v2 | |
# - name: Login to DockerHub | |
# uses: docker/login-action@v2 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# - name: Build and push | |
# uses: docker/build-push-action@v4 | |
# with: | |
# context: "{{defaultContext}}:buildfarm/worker" | |
# push: true | |
# tags: toxchat/buildfarm-worker:latest | |
# cache-from: type=registry,ref=toxchat/buildfarm-worker:latest | |
# cache-to: type=inline | |
################################################## | |
# | |
# :: Kythe code indexing | |
# | |
################################################## | |
# kythe-release: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Set up Docker Buildx | |
# uses: docker/setup-buildx-action@v2 | |
# - name: Login to DockerHub | |
# uses: docker/login-action@v2 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# - name: Build and push | |
# uses: docker/build-push-action@v4 | |
# with: | |
# context: "{{defaultContext}}:kythe/release" | |
# push: true | |
# tags: toxchat/kythe-release:latest | |
# cache-from: type=registry,ref=toxchat/kythe-release:latest | |
# cache-to: type=inline | |
# kythe-webui: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Set up Docker Buildx | |
# uses: docker/setup-buildx-action@v2 | |
# - name: Login to DockerHub | |
# uses: docker/login-action@v2 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# - name: Build and push | |
# uses: docker/build-push-action@v4 | |
# with: | |
# context: "{{defaultContext}}:kythe/webui" | |
# push: true | |
# tags: toxchat/kythe-webui:latest | |
# cache-from: type=registry,ref=toxchat/kythe-webui:latest | |
# cache-to: type=inline | |
# kythe-buildenv: | |
# runs-on: ubuntu-latest | |
# needs: [bazel, kythe-release] | |
# steps: | |
# - name: Set up Docker Buildx | |
# uses: docker/setup-buildx-action@v2 | |
# - name: Login to DockerHub | |
# uses: docker/login-action@v2 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# - name: Build and push | |
# uses: docker/build-push-action@v4 | |
# with: | |
# context: "{{defaultContext}}:kythe/buildenv" | |
# push: true | |
# tags: toxchat/kythe-buildenv:latest | |
# cache-from: type=registry,ref=toxchat/kythe-buildenv:latest | |
# cache-to: type=inline | |
# kythe-tables: | |
# runs-on: ubuntu-latest | |
# needs: [kythe-buildenv] | |
# steps: | |
# - name: Set up Docker Buildx | |
# uses: docker/setup-buildx-action@v2 | |
# - name: Login to DockerHub | |
# uses: docker/login-action@v2 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# - name: Build and push | |
# uses: docker/build-push-action@v4 | |
# with: | |
# context: "{{defaultContext}}:kythe/tables" | |
# push: true | |
# tags: toxchat/kythe-tables:latest | |
# cache-from: type=registry,ref=toxchat/kythe-tables:latest | |
# cache-to: type=inline | |
# kythe-serving: | |
# runs-on: ubuntu-latest | |
# needs: [kythe-release, kythe-tables, kythe-webui] | |
# steps: | |
# - name: Set up Docker Buildx | |
# uses: docker/setup-buildx-action@v2 | |
# - name: Login to DockerHub | |
# uses: docker/login-action@v2 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# - name: Build and push | |
# uses: docker/build-push-action@v4 | |
# with: | |
# context: "{{defaultContext}}:kythe/serving" | |
# push: true | |
# tags: toxchat/kythe-serving:latest | |
# cache-from: type=registry,ref=toxchat/kythe-serving:latest | |
# cache-to: type=inline | |
################################################## | |
# | |
# :: GHC for Android | |
# | |
################################################## | |
ghc-base: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
if: ${{ github.event_name == 'push' }} | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Generate configs | |
run: cd ghc && ./configure | |
- name: Build and push | |
uses: docker/build-push-action@v4 | |
with: | |
context: "ghc/base" | |
tags: toktoknet/ghc:8.10.7 | |
cache-from: type=registry,ref=toktoknet/ghc:8.10.7 | |
cache-to: type=inline | |
push: ${{ github.event_name == 'push' }} | |
ghc-android-aarch64: | |
runs-on: ubuntu-latest | |
needs: [ghc-base] | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
if: ${{ github.event_name == 'push' }} | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Generate configs | |
run: cd ghc-android && ./configure | |
- name: Build and push | |
uses: docker/build-push-action@v4 | |
with: | |
context: "ghc-android/aarch64" | |
tags: toktoknet/ghc-android:8.10.7.aarch64 | |
cache-from: type=registry,ref=toktoknet/ghc-android:8.10.7.aarch64 | |
cache-to: type=inline | |
push: ${{ github.event_name == 'push' }} | |
ghc-android-arm: | |
runs-on: ubuntu-latest | |
needs: [ghc-base] | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
if: ${{ github.event_name == 'push' }} | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Generate configs | |
run: cd ghc-android && ./configure | |
- name: Build and push | |
uses: docker/build-push-action@v4 | |
with: | |
context: "ghc-android/arm" | |
tags: toktoknet/ghc-android:8.10.7.arm | |
cache-from: type=registry,ref=toktoknet/ghc-android:8.10.7.arm | |
cache-to: type=inline | |
push: ${{ github.event_name == 'push' }} | |
ghc-android-i686: | |
runs-on: ubuntu-latest | |
# basic.c:356:16: error: inline assembly requires more registers than available | |
if: false | |
needs: [ghc-base] | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
if: ${{ github.event_name == 'push' }} | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Generate configs | |
run: cd ghc-android && ./configure | |
- name: Build and push | |
uses: docker/build-push-action@v4 | |
with: | |
context: "ghc-android/i686" | |
tags: toktoknet/ghc-android:8.10.7.i686 | |
cache-from: type=registry,ref=toktoknet/ghc-android:8.10.7.i686 | |
cache-to: type=inline | |
push: ${{ github.event_name == 'push' }} | |
ghc-android-x86_64: | |
runs-on: ubuntu-latest | |
# basic.c:315:16: error: inline assembly requires more registers than available | |
if: false | |
needs: [ghc-base] | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
if: ${{ github.event_name == 'push' }} | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Generate configs | |
run: cd ghc-android && ./configure | |
- name: Build and push | |
uses: docker/build-push-action@v4 | |
with: | |
context: "ghc-android/x86_64" | |
tags: toktoknet/ghc-android:8.10.7.x86_64 | |
cache-from: type=registry,ref=toktoknet/ghc-android:8.10.7.x86_64 | |
cache-to: type=inline | |
push: ${{ github.event_name == 'push' }} |