Skip to content

cleanup: Simplify arion-pkgs.nix, remove use of flakes. #120

cleanup: Simplify arion-pkgs.nix, remove use of flakes.

cleanup: Simplify arion-pkgs.nix, remove use of flakes. #120

Workflow file for this run

---
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
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' }}