repair go

This commit is contained in:
ben0i0d 2024-10-18 18:17:25 +08:00
parent 40d202e7ca
commit 87cd47009e
2 changed files with 41 additions and 20 deletions

View File

@ -178,6 +178,18 @@ jobs:
context: Program/fortran
tags: eoelab.org:1027/${{ gitea.repository }}:fortran
GO:
runs-on: runner
needs: Base
steps:
- name: checkout code
uses: https://eoelab.org:1027/actions/checkout@v4
- name: go build
uses: https://eoelab.org:1027/actions/build-push-action@v6
with:
context: Program/go
tags: eoelab.org:1027/${{ gitea.repository }}:go
HASKELL:
runs-on: runner
needs: Base
@ -373,7 +385,7 @@ jobs:
Push:
runs-on: runner
needs: [KOTLIN] # MATLAB_MCM, MAPLE, MMA
needs: [GO] # MATLAB_MCM, MAPLE, MMA
steps:
- name: login gitea_registry
uses: https://eoelab.org:1027/actions/login-action@v3

View File

@ -1,23 +1,32 @@
FROM eoelab.org:1027/ben0i0d/jupyter:py-c
FROM eoelab.org:1027/ben0i0d/jupyter:py-c AS builder
USER root
# Install system dependencies
RUN mkdir -p /opt/go && \
apt-get update && apt-get install -yq --no-install-recommends golang gcc libc6-dev && \
apt-get clean && rm -rf /var/lib/apt/lists/* && \
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct && \
go env -w GOPATH=/opt/go && \
go install github.com/gopherdata/gophernotes@v0.7.5 && \
mkdir -p /opt/conda/share/jupyter/kernels/gophernotes && \
cd /opt/conda/share/jupyter/kernels/gophernotes && \
cp "$(go env GOPATH)"/pkg/mod/github.com/gopherdata/gophernotes@v0.7.5/kernel/* "." && \
chmod +w ./kernel.json && \
# in case copied kernel.json has no write permission
sed "s|gophernotes|$(go env GOPATH)/bin/gophernotes|" < kernel.json.in > kernel.json && \
fix-permissions /opt/go && \
fix-permissions "${CONDA_DIR}" && \
fix-permissions "/home/${NB_USER}"
WORKDIR /opt
RUN apt-get update --yes && apt-get install --yes --no-install-recommends git && apt-get clean && rm -rf /var/lib/apt/lists/* && \
git clone --depth 1 https://eoelab.org:1027/mirrors/gophernotes.git
FROM eoelab.org:1027/ben0i0d/jupyter:py-c
COPY --chown="${NB_UID}:${NB_GID}" --from=builder /opt/gophernotes /opt/gophernotes
USER root
# Install system dependencies
RUN apt-get update && apt-get install --yes --no-install-recommends golang gcc libc6-dev && \
apt-get clean && rm -rf /var/lib/apt/lists/* && \
mkdir -p /opt/go && chown -R "${NB_UID}:${NB_GID}" /opt/go
USER $NB_USER
RUN go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct && \
go env -w GOPATH=/opt/go && \
cd /opt/gophernotes && go install && \
mkdir -p /opt/base/share/jupyter/kernels/gophernotes && cp kernel/* /opt/base/share/jupyter/kernels/gophernotes && \
# in case copied kernel.json has no write permission
cd /opt/base/share/jupyter/kernels/gophernotes/ && chmod +w kernel.json && \
sed "s|gophernotes|$(go env GOPATH)/bin/gophernotes|" < kernel.json.in > kernel.json