Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 831f271

Browse files
committed
Update docker
1 parent 3555a00 commit 831f271

File tree

2 files changed

+51
-91
lines changed

2 files changed

+51
-91
lines changed

‎.github/workflows/docker.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Publish Docker image
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches: [main]
7+
schedule:
8+
- cron: '0 0 * * 1'
9+
10+
jobs:
11+
push_to_registry:
12+
name: Push Docker image
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Set up Docker Buildx
16+
uses: docker/setup-buildx-action@v3
17+
- name: Log in to Docker Hub
18+
uses: docker/login-action@v3
19+
with:
20+
registry: ghcr.io
21+
username: ${{ github.actor }}
22+
password: ${{ secrets.GITHUB_TOKEN }}
23+
- name: Extract metadata (tags, labels) for Docker
24+
id: meta
25+
uses: docker/metadata-action@v5
26+
with:
27+
images: ghcr.io/yitzchak/common-lisp-jupyter
28+
tags: |
29+
type=raw,value=latest
30+
- name: Build and push Docker image
31+
uses: docker/build-push-action@v5
32+
with:
33+
push: true
34+
tags: ${{ steps.meta.outputs.tags }}
35+
labels: ${{ steps.meta.outputs.labels }}

‎Dockerfile

Lines changed: 16 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,101 +1,26 @@
1-
FROM ubuntu:focal
1+
FROM ghcr.io/yitzchak/archlinux-cl:latest
22

3-
SHELL ["/bin/bash", "-c"]
3+
RUN sudo pacman -Syu --noconfirm jupyterlab jupyter-console jupyterlab-widgets
44

5-
ARG NB_USER=jovyan
6-
ARG NB_UID=1000
5+
COPY . /home/root/quicklisp/local-projects/common-lisp-jupyter
76

8-
ENV CCL_VERSION "1.12.1-1"
9-
ENV LLVM_VERSION "13.r5140.g972b6a3a3471-1"
10-
ENV CLASP_VERSION "0.4.2.r4473.g7ba57bd76-1"
11-
ENV DEBIAN_FRONTEND=noninteractive
12-
ENV USER ${NB_USER}
13-
ENV HOME /home/${NB_USER}
14-
ENV PATH "${HOME}/.local/bin:${HOME}/miniconda/bin/:${PATH}"
15-
16-
RUN dpkg --add-architecture i386 && \
17-
apt-get update && \
18-
apt-get dist-upgrade -y && \
19-
apt-get install -y wget curl jq gpg git ssh sudo nano gettext locales sbcl \
20-
ecl libzmq3-dev libzmq3-dev:i386 lsb-release && \
21-
echo 'en_US.UTF-8 UTF-8' >/etc/locale.gen && \
22-
sudo locale-gen
23-
24-
RUN wget https://github.com/yitzchak/mpr/releases/download/ccl_${CCL_VERSION}/ccl_${CCL_VERSION}_amd64_ubuntu_focal.deb && \
25-
wget https://github.com/yitzchak/mpr/releases/download/llvm13_${LLVM_VERSION}/llvm13_${LLVM_VERSION}_amd64_ubuntu_focal.deb && \
26-
wget https://github.com/yitzchak/mpr/releases/download/clasp-cl-git_${CLASP_VERSION}/clasp-cl-git_${CLASP_VERSION}_amd64_ubuntu_focal.deb && \
27-
apt-get install -y ./ccl_${CCL_VERSION}_amd64_ubuntu_focal.deb \
28-
./llvm13_${LLVM_VERSION}_amd64_ubuntu_focal.deb \
29-
./clasp-cl-git_${CLASP_VERSION}_amd64_ubuntu_focal.deb && \
30-
rm ccl_${CCL_VERSION}_amd64_ubuntu_focal.deb \
31-
llvm13_${LLVM_VERSION}_amd64_ubuntu_focal.deb \
32-
clasp-cl-git_${CLASP_VERSION}_amd64_ubuntu_focal.deb
33-
34-
RUN useradd --create-home --shell=/bin/false --uid=${NB_UID} ${NB_USER} && \
35-
usermod -aG sudo $NB_USER && \
36-
passwd -d $NB_USER
37-
38-
WORKDIR ${HOME}
39-
40-
USER ${NB_USER}
41-
42-
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh && \
43-
bash Miniconda3-py39_4.9.2-Linux-x86_64.sh -b -p $HOME/miniconda && \
44-
./miniconda/bin/conda init && \
45-
rm Miniconda3-py39_4.9.2-Linux-x86_64.sh
46-
47-
RUN conda install -c conda-forge nodejs jupyterlab jupyter_console
48-
49-
RUN jupyter serverextension enable --user --py jupyterlab; \
50-
jupyter labextension install @jupyter-widgets/jupyterlab-manager \
51-
jupyterlab-edit-magic cytoscape-clj kekule-clj resizable-box-clj \
52-
ngl-clj jupyterlab-debugger-restarts; \
53-
jupyter nbextension enable --user --py widgetsnbextension; \
54-
jupyter lab build; \
55-
curl -kLO https://beta.quicklisp.org/quicklisp.lisp; \
56-
sbcl --non-interactive --load quicklisp.lisp \
57-
--eval "(quicklisp-quickstart:install)" \
58-
--eval "(ql-util:without-prompting (ql:add-to-init-file))"; \
59-
ccl --load quicklisp/setup.lisp \
60-
--eval "(ql-util:without-prompting (ql:add-to-init-file))" \
61-
--eval "(uiop:quit)"; \
62-
iclasp-boehmprecise --non-interactive --load quicklisp/setup.lisp \
63-
--eval "(ql-util:without-prompting (ql:add-to-init-file))"; \
64-
ecl --load quicklisp/setup.lisp \
65-
--eval "(ql-util:without-prompting (ql:add-to-init-file))" \
66-
--eval "(uiop:quit)"
67-
68-
USER root
69-
COPY . ${HOME}/quicklisp/local-projects/common-lisp-jupyter
70-
RUN chown -R ${NB_UID} quicklisp/local-projects/common-lisp-jupyter && \
71-
chgrp -R ${NB_USER} quicklisp/local-projects/common-lisp-jupyter
72-
73-
USER ${NB_USER}
74-
RUN git clone https://github.com/yitzchak/shasht.git ~/quicklisp/local-projects/shasht; \
75-
git clone https://github.com/yitzchak/cytoscape-clj.git ~/quicklisp/local-projects/cytoscape-clj; \
76-
mv ~/quicklisp/local-projects/common-lisp-jupyter/examples ~/lab; \
77-
mv ~/quicklisp/local-projects/cytoscape-clj/examples ~/lab/cytoscape-clj; \
78-
git clone https://github.com/yitzchak/kekule-clj.git ~/quicklisp/local-projects/kekule-clj; \
79-
mv ~/quicklisp/local-projects/kekule-clj/examples ~/lab/kekule-clj; \
7+
RUN git clone https://github.com/yitzchak/delta-vega.git ~/quicklisp/local-projects/delta-vega; \
808
git clone https://github.com/yitzchak/resizable-box-clj.git ~/quicklisp/local-projects/resizable-box-clj; \
819
git clone https://github.com/yitzchak/ngl-clj.git ~/quicklisp/local-projects/ngl-clj; \
82-
mv ~/quicklisp/local-projects/ngl-clj/examples ~/lab/ngl-clj; \
8310
sbcl --non-interactive \
84-
--eval "(ql:quickload '(:common-lisp-jupyter :cytoscape-clj :kekule-clj :resizable-box-clj :ngl-clj))" \
85-
--eval "(clj:install :use-implementation t)"; \
11+
--eval "(ql:quickload '(:common-lisp-jupyter :cytoscape-clj :kekule-clj :resizable-box-clj :ngl-clj :delta-vega))" \
12+
--eval "(clj:install :implementation t)"; \
13+
abcl --batch \
14+
--eval "(ql:quickload '(:common-lisp-jupyter :cytoscape-clj :kekule-clj :resizable-box-clj :ngl-clj :delta-vega))" \
15+
--eval "(clj:install :implementation t)"; \
8616
ccl \
87-
--eval "(ql:quickload '(:common-lisp-jupyter :cytoscape-clj :kekule-clj :resizable-box-clj :ngl-clj))" \
88-
--eval "(clj:install :use-implementation t)" \
17+
--eval "(ql:quickload '(:common-lisp-jupyter :cytoscape-clj :kekule-clj :resizable-box-clj :ngl-clj :delta-vega))" \
18+
--eval "(clj:install :implementation t)"; \
8919
--eval "(uiop:quit)"; \
90-
iclasp-boehmprecise --non-interactive \
91-
--eval "(ql:quickload :common-lisp-jupyter)" \
92-
--eval "(clj:install :use-implementation t)"; \
93-
iclasp-boehmprecise --non-interactive \
94-
--eval "(ql:quickload '(:cytoscape-clj :kekule-clj :resizable-box-clj :ngl-clj))"; \
20+
clasp --non-interactive \
21+
--eval "(ql:quickload '(:common-lisp-jupyter :cytoscape-clj :kekule-clj :resizable-box-clj :ngl-clj :delta-vega))" \
22+
--eval "(clj:install :implementation t)"; \
9523
ecl \
96-
--eval "(ql:quickload '(:common-lisp-jupyter :cytoscape-clj :kekule-clj :resizable-box-clj :ngl-clj))" \
97-
--eval "(clj:install :use-implementation t)" \
24+
--eval "(ql:quickload '(:common-lisp-jupyter :cytoscape-clj :kekule-clj :resizable-box-clj :ngl-clj :delta-vega))" \
25+
--eval "(clj:install :implementation t)"; \
9826
--eval "(uiop:quit)"
99-
100-
WORKDIR ${HOME}/lab
101-

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /