# HG changeset patch # User Richard Westhaver # Date 1718392537 0 # Node ID 98aa8d30816a26ccbb544ee8d156bfb40660a3bf init diff -r 000000000000 -r 98aa8d30816a Containerfile.alpine --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Containerfile.alpine Fri Jun 14 19:15:37 2024 +0000 @@ -0,0 +1,2 @@ +FROM alpine:latest +RUN apk add --no-cache openssh mercurial wireguard-tools liburing libc6-compat coreutils \ No newline at end of file diff -r 000000000000 -r 98aa8d30816a Containerfile.archlinux --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Containerfile.archlinux Fri Jun 14 19:15:37 2024 +0000 @@ -0,0 +1,4 @@ +FROM archlinux:latest +RUN --network=host pacman-key --init +RUN --network=host pacman-key --populate archlinux +RUN --network=host pacman -Syu base-devel less uutils-coreutils openssh mercurial git sqlite btrfs-progs liburing wireguard-tools clang tree-sitter libxcb glibc openssl zstd --noconfirm \ No newline at end of file diff -r 000000000000 -r 98aa8d30816a Containerfile.archriscv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Containerfile.archriscv Fri Jun 14 19:15:37 2024 +0000 @@ -0,0 +1,2 @@ +FROM --platform=linux/riscv64 riscfive/archlinux +RUN pacman -Syu \ No newline at end of file diff -r 000000000000 -r 98aa8d30816a Containerfile.base diff -r 000000000000 -r 98aa8d30816a Containerfile.box --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Containerfile.box Fri Jun 14 19:15:37 2024 +0000 @@ -0,0 +1,52 @@ +FROM localhost/archlinux:latest +RUN --network=host pacman -Sy uutils-coreutils sysstat iotop imagemagick giflib libgccjit libxaw snappy sbcl liburing libxkbcommon --noconfirm +# custom +ARG DEV=dev +ARG DEV_HOME=/home/${DEV} +ARG ID=808 +# stage0 +RUN mkdir -p /usr/share/lisp /usr/local/share/lisp +WORKDIR /usr/local/src +RUN hg clone https://vc.compiler.company/comp/infra +RUN hg clone https://vc.compiler.company/comp/core +WORKDIR infra +ENV CARGO_HOME="/usr/local/share/cargo" +ENV RUSTUP_HOME="/usr/local/share/rustup" +# stage1 +RUN ./bootstrap.sh +ENV PATH="$PATH:/usr/local/share/cargo/bin" +RUN .stash/bin/sk make rustup +RUN rustup update +# dev rustc components +RUN rustup default nightly +RUN rustup component add --toolchain nightly rust-src rust-analyzer rustc-dev llvm-tools-preview +RUN .stash/bin/sk make sbcl +RUN .stash/bin/sk make quicklisp +RUN .stash/bin/sk make sbcl-install +RUN .stash/bin/sk make tree-sitter +RUN .stash/bin/sk make tree-sitter-langs +RUN .stash/bin/sk make emacs-mini +RUN .stash/bin/sk make emacs-install +RUN .stash/bin/sk make rocksdb +RUN .stash/bin/sk make rocksdb-install +#ADD etc/sbclrc /etc/sbclrc +#COPY etc/skel/ /etc/skel/ +#ADD etc/shells /etc/ +RUN useradd --system -s /usr/bin/bash -u ${ID} -k /etc/skel -m ${DEV} +RUN groupadd -g 128 engineer -U ${DEV} +RUN groupadd -g 256 operator -U ${DEV} +# RUN make core-install +WORKDIR /usr/local/src +RUN cp -rf core/lisp /usr/local/share/lisp/core +RUN rm -rf ./* +RUN chown -R ${DEV}:engineer /usr/local/share/ +RUN chown -R ${DEV}:engineer /usr/local/src/ +RUN chown -R ${DEV}:engineer /usr/local/bin/ +RUN chown -R ${DEV}:engineer /usr/local/etc/ +RUN chown -R ${DEV}:engineer /usr/local/man/ +USER ${DEV} +WORKDIR ${DEV_HOME} +RUN hg clone https://vc.compiler.company/comp/infra +RUN hg clone https://vc.compiler.company/comp/core +ENV DEV=${DEV} +ENV DEV_ID=${ID} \ No newline at end of file diff -r 000000000000 -r 98aa8d30816a Containerfile.fedora.arm64v8 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Containerfile.fedora.arm64v8 Fri Jun 14 19:15:37 2024 +0000 @@ -0,0 +1,1 @@ +FROM arm64v8/fedora:latest \ No newline at end of file diff -r 000000000000 -r 98aa8d30816a Containerfile.mail --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Containerfile.mail Fri Jun 14 19:15:37 2024 +0000 @@ -0,0 +1,1 @@ +FROM stalwartlabs/mail-server:latest \ No newline at end of file diff -r 000000000000 -r 98aa8d30816a Containerfile.operator --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Containerfile.operator Fri Jun 14 19:15:37 2024 +0000 @@ -0,0 +1,2 @@ +FROM localhost/box:latest +RUN infra/scripts/wg-gen-keys.sh private.key public.key \ No newline at end of file diff -r 000000000000 -r 98aa8d30816a Containerfile.ubuntu --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Containerfile.ubuntu Fri Jun 14 19:15:37 2024 +0000 @@ -0,0 +1,3 @@ +FROM ubuntu:latest +RUN apt-get update +RUN apt -y install git ssh python3-pip mercurial diff -r 000000000000 -r 98aa8d30816a Containerfile.vc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Containerfile.vc Fri Jun 14 19:15:37 2024 +0000 @@ -0,0 +1,4 @@ +FROM octobus/heptapod:latest +RUN gitlab-ctl upgrade +# TODO: configure instance here, pull from comp/etc +# COPY etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb \ No newline at end of file diff -r 000000000000 -r 98aa8d30816a Containerfile.vc-runner --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Containerfile.vc-runner Fri Jun 14 19:15:37 2024 +0000 @@ -0,0 +1,8 @@ +FROM localhost/worker:latest +USER root +RUN curl -L --output /usr/local/bin/gitlab-runner https://download.heptapod.net/runner/runner/latest/binaries/heptapod-runner-linux-amd64 +ARG RUNNER_TOKEN +RUN chmod +x /usr/local/bin/gitlab-runner +RUN echo ${WORKER_USER} +RUN echo ${WORKER_HOME} +RUN gitlab-runner install --user=${WORKER_USER} --working-directory=${WORKER_HOME} \ No newline at end of file diff -r 000000000000 -r 98aa8d30816a Containerfile.worker --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Containerfile.worker Fri Jun 14 19:15:37 2024 +0000 @@ -0,0 +1,30 @@ +FROM localhost/alpine:latest +# VOLUME /opt/store +# VOLUME /opt/stash +# ADD etc/skel/* /etc/skel/ +ARG ID=908 +ARG WORKER=worker +ARG WORKER_HOME=/home/${WORKER} +# TODO: build sbcl for musl +RUN apk add build-base zstd-dev curl make git linux-headers openssl-dev pkgconf clang m4 tree-sitter sbcl +RUN mkdir /usr/share/lisp +RUN mkdir /usr/local/share/lisp +WORKDIR /usr/local/src +RUN hg clone https://vc.compiler.company/comp/infra +RUN hg clone https://vc.compiler.company/comp/core +WORKDIR infra +RUN scripts/get-sk.sh +ENV CARGO_HOME="/usr/local/share/cargo" +ENV RUSTUP_HOME="/usr/local/share/rustup" +ENV PATH="$PATH:/usr/local/share/cargo/bin:/usr/local/share/lisp/bin" +# RUN sk make sbcl sbcl-install quicklisp rustup tree-sitter-langs rocksdb +RUN make sbcl-install-gencgc +RUN make quicklisp-install +RUN make rocksdb-install +RUN adduser -D -u ${ID} -k /etc/skel ${WORKER} +USER ${WORKER} +WORKDIR ${WORKER_HOME} +ENV WORKER=${WORKER} +ENV WORKER_ID=${ID} +ENV WORKER_HOME=${WORKER_HOME} +ENTRYPOINT ["sh"] \ No newline at end of file