|
|
|
@@ -1,8 +1,6 @@
|
|
|
|
|
name: Docker
|
|
|
|
|
name: Build all sequentially to test builds
|
|
|
|
|
|
|
|
|
|
on:
|
|
|
|
|
schedule:
|
|
|
|
|
- cron: "0 4 * * *" # everyday at 4 am
|
|
|
|
|
push:
|
|
|
|
|
branches:
|
|
|
|
|
- '*' # matches every branch that doesn't contain a '/'
|
|
|
|
@@ -17,23 +15,114 @@ on:
|
|
|
|
|
pull_request:
|
|
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
build:
|
|
|
|
|
base:
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
steps:
|
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
- name: Update apt
|
|
|
|
|
run: sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
|
|
|
|
|
- name: Install make
|
|
|
|
|
run: sudo apt install make docker-compose -y
|
|
|
|
|
- name: Set up QEMU
|
|
|
|
|
uses: docker/setup-qemu-action@v1
|
|
|
|
|
- name: Set up Docker Buildx
|
|
|
|
|
uses: docker/setup-buildx-action@v1
|
|
|
|
|
- name: build base
|
|
|
|
|
run: make buildbase
|
|
|
|
|
- name: build xorg
|
|
|
|
|
run: make buildxorg
|
|
|
|
|
- name: build vnc
|
|
|
|
|
run: make buildvnc
|
|
|
|
|
- name: build parabola
|
|
|
|
|
run: make buildparabola
|
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
|
- uses: docker/setup-buildx-action@v2
|
|
|
|
|
|
|
|
|
|
- name: Build and export
|
|
|
|
|
uses: docker/build-push-action@v3
|
|
|
|
|
with:
|
|
|
|
|
context: base
|
|
|
|
|
tags: marcpartensky/arch:base
|
|
|
|
|
outputs: type=docker,dest=/tmp/base.tar
|
|
|
|
|
|
|
|
|
|
- name: Upload artifact
|
|
|
|
|
uses: actions/upload-artifact@v3
|
|
|
|
|
with:
|
|
|
|
|
name: base
|
|
|
|
|
path: /tmp/base.tar
|
|
|
|
|
|
|
|
|
|
xorg:
|
|
|
|
|
needs: base
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
steps:
|
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
|
- uses: docker/setup-buildx-action@v2
|
|
|
|
|
|
|
|
|
|
- name: Download artifact
|
|
|
|
|
uses: actions/download-artifact@v3
|
|
|
|
|
with:
|
|
|
|
|
name: base
|
|
|
|
|
path: /tmp
|
|
|
|
|
|
|
|
|
|
- name: Load image
|
|
|
|
|
run: |
|
|
|
|
|
docker load --input /tmp/base.tar
|
|
|
|
|
docker image ls -a
|
|
|
|
|
|
|
|
|
|
- name: Build and export
|
|
|
|
|
uses: docker/build-push-action@v3
|
|
|
|
|
with:
|
|
|
|
|
context: xorg
|
|
|
|
|
tags: marcpartensky/arch:xorg
|
|
|
|
|
outputs: type=docker,dest=/tmp/xorg.tar
|
|
|
|
|
|
|
|
|
|
- name: Upload artifact
|
|
|
|
|
uses: actions/upload-artifact@v3
|
|
|
|
|
with:
|
|
|
|
|
name: xorg
|
|
|
|
|
path: /tmp/xorg.tar
|
|
|
|
|
|
|
|
|
|
vnc:
|
|
|
|
|
needs: xorg
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
steps:
|
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
|
- uses: docker/setup-buildx-action@v2
|
|
|
|
|
|
|
|
|
|
- name: Download artifact
|
|
|
|
|
uses: actions/download-artifact@v3
|
|
|
|
|
with:
|
|
|
|
|
name: xorg
|
|
|
|
|
path: /tmp
|
|
|
|
|
|
|
|
|
|
- name: Load image
|
|
|
|
|
run: |
|
|
|
|
|
docker load --input /tmp/xorg.tar
|
|
|
|
|
docker image ls -a
|
|
|
|
|
|
|
|
|
|
- name: Build and export
|
|
|
|
|
uses: docker/build-push-action@v3
|
|
|
|
|
with:
|
|
|
|
|
context: vnc
|
|
|
|
|
tags: marcpartensky/arch:vnc
|
|
|
|
|
outputs: type=docker,dest=/tmp/vnc.tar
|
|
|
|
|
|
|
|
|
|
- name: Upload artifact
|
|
|
|
|
uses: actions/upload-artifact@v3
|
|
|
|
|
with:
|
|
|
|
|
name: vnc
|
|
|
|
|
path: /tmp/vnc.tar
|
|
|
|
|
|
|
|
|
|
parabola:
|
|
|
|
|
needs: xorg
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
steps:
|
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
|
- uses: docker/setup-buildx-action@v2
|
|
|
|
|
|
|
|
|
|
- name: Download artifact
|
|
|
|
|
uses: actions/download-artifact@v3
|
|
|
|
|
with:
|
|
|
|
|
name: xorg
|
|
|
|
|
path: /tmp
|
|
|
|
|
|
|
|
|
|
- name: Load image
|
|
|
|
|
run: |
|
|
|
|
|
docker load --input /tmp/xorg.tar
|
|
|
|
|
docker image ls -a
|
|
|
|
|
|
|
|
|
|
- name: Build and export
|
|
|
|
|
uses: docker/build-push-action@v3
|
|
|
|
|
with:
|
|
|
|
|
context: parabola
|
|
|
|
|
tags: marcpartensky/arch:parabola
|
|
|
|
|
outputs: type=docker,dest=/tmp/parabola.tar
|
|
|
|
|
|
|
|
|
|
- name: Upload artifact
|
|
|
|
|
uses: actions/upload-artifact@v3
|
|
|
|
|
with:
|
|
|
|
|
name: parabola
|
|
|
|
|
path: /tmp/parabola.tar
|
|
|
|
|