Skip to content

Commit c09c11b

Browse files
committed
Docker
1 parent ce7c3b3 commit c09c11b

File tree

2 files changed

+100
-0
lines changed

2 files changed

+100
-0
lines changed

.github/workflows/docker.yml

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Deploy Docker
2+
3+
on:
4+
# Runs on pushes targeting the default branch
5+
push:
6+
branches: ["main"]
7+
8+
# Allows you to run this workflow manually from the Actions tab
9+
workflow_dispatch:
10+
inputs:
11+
roswell_version:
12+
type: string
13+
default: master
14+
sbcl_version:
15+
type: string
16+
default: 2.4.11
17+
ocicl_version:
18+
type: string
19+
default: main
20+
21+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
22+
permissions:
23+
contents: read
24+
pages: write
25+
id-token: write
26+
27+
concurrency:
28+
group: docker
29+
cancel-in-progress: false
30+
31+
jobs:
32+
docker:
33+
runs-on: ubuntu-latest
34+
steps:
35+
- name: Check out repo
36+
uses: actions/checkout@v4
37+
38+
- name: Login to Docker Hub
39+
uses: docker/login-action@v3
40+
with:
41+
username: ${{ vars.DOCKERHUB_USERNAME }}
42+
password: ${{ secrets.DOCKERHUB_TOKEN }}
43+
44+
- name: Set up Docker Buildx
45+
uses: docker/setup-buildx-action@v3
46+
47+
- name: Build and push
48+
uses: docker/build-push-action@v6
49+
with:
50+
push: true
51+
context: docker
52+
build-args:
53+
- ROSWELL_VERSION=${{ inputs.roswell_version }}
54+
- SBCL_VERSION=${{ inputs.sbcl_version }}
55+
- OCICL_VERSION=${{ inputs.ocicl_version }}
56+
tags: djhaskin987/roswell-ocicl:${{ inputs.roswell_version }}-${{ inputs.sbcl_version }}-${{ ocicl_version }}

Dockerfile

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
FROM fedora:latest
2+
3+
RUN dnf install -y gcc \
4+
g++ \
5+
rlwrap \
6+
automake \
7+
sbcl \
8+
libcurl-devel \
9+
zlib-devel \
10+
texlive-amsfonts \
11+
texlive-mdwtools \
12+
pandoc \
13+
texlive-collection-fontsextra \
14+
jq \
15+
texlive-latex && \
16+
dnf clean all
17+
18+
RUN useradd builder
19+
USER builder
20+
WORKDIR /home/builder
21+
22+
RUN git clone -b release https://github.com/roswell/roswell.git && \
23+
mkdir -p ~/.local && \
24+
cd roswell && \
25+
sh bootstrap && \
26+
./configure --prefix=~/.local && \
27+
make && \
28+
make install && \
29+
cd ..
30+
31+
ENV PATH=/home/builder/.local/bin:/usr/local/bin:/usr/bin:/bin
32+
33+
RUN ros install sbcl-bin
34+
35+
RUN git clone https://github.com/ocicl/ocicl && \
36+
cd ocicl && \
37+
sbcl --load setup.lisp && \
38+
chmod a+x ocicl && \
39+
mv ocicl ~/.local/bin
40+
41+
COPY docker/init.lisp /home/builder/.roswell/init.lisp
42+
43+
ENTRYPOINT "/home/builder/.local/bin/ros"
44+
CMD ["run"]

0 commit comments

Comments
 (0)