diff --git a/.forgejo/workflows/build-servo-container.yml b/.forgejo/workflows/build-servo-container.yml new file mode 100644 index 0000000..852d6da --- /dev/null +++ b/.forgejo/workflows/build-servo-container.yml @@ -0,0 +1,33 @@ +name: Build Servo Image +on: + schedule: + - cron: "0 1 * * *" + push: + paths: + - 'Containerfile.servo' + - '.forgejo/workflows/render-servo.yml' +jobs: + build: + runs-on: vancouver + steps: + - name: Checkout code + uses: actions/checkout@v3.5.3 + with: + ref: main + - name: Login to Registry + uses: https://github.com/docker/login-action@v3 + with: + registry: git.gmem.ca/arch + username: arch + password: ${{ secrets.REGISTRY_TOKEN }} + - name: Set up Docker Buildx + id: buildx + uses: https://github.com/docker/setup-buildx-action@v3 + with: + endpoint: "unix:///var/run/docker.sock" + driver-opts: network=host + buildkitd-config-inline: | + [dns] + nameservers=["1.1.1.1", "1.0.0.1" ] + - name: Docker Build + run: docker build . -f dockerfiles/Dockerfile.servo -t git.gmem.ca/arch/servo:latest -t git.gmem.ca/arch/servo:$(date -I) --push --progress=plain --builder=${{ steps.buildx.outputs.name }} diff --git a/Containerfile.servo b/Containerfile.servo new file mode 100644 index 0000000..ef54330 --- /dev/null +++ b/Containerfile.servo @@ -0,0 +1,15 @@ +FROM docker.io/debian:bookworm-slim + +RUN apt update && apt upgrade && \ + apt install -y curl libunwind8 libfontconfig1 libx11-6 libwayland-client0 \ + mesa-utils libgl1-mesa-glx xkb-data libxkbcommon-x11-0 && \ + apt-get clean autoclean && \ + apt-get autoremove --yes && \ + rm -rf /var/lib/{apt,dpkg,cache,log}/ + +RUN curl -LO https://download.servo.org/nightly/linux/servo-latest.tar.gz && \ + tar -xvf servo-latest.tar.gz && \ + mv servo /opt && ln -s /opt/servo/servo /usr/local/bin && \ + rm servo-latest.tar.gz + +ENTRYPOINT ["/usr/local/bin/servo"]