mirror of
https://github.com/jupyter/docker-stacks.git
synced 2025-10-15 05:52:57 +00:00
Refactor wiki hooks for Actions
This commit is contained in:
@@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Tag the latest build with the short git sha as well as version of key runtimes
|
||||
# and packages.
|
||||
GIT_SHA_TAG=${SOURCE_COMMIT:0:12}
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:$GIT_SHA_TAG"
|
||||
PY_VERSION_TAG="python-$(docker run --rm ${IMAGE_NAME} python --version 2>&1 | awk '{print $2}')"
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:$PY_VERSION_TAG"
|
||||
R_VERSION_TAG="r-$(docker run --rm -a STDOUT ${IMAGE_NAME} R --version | sed -n 1p | awk '{print $3}')"
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:${R_VERSION_TAG%%\r}"
|
||||
JULIA_VERSION_TAG="julia-$(docker run --rm -a STDOUT ${IMAGE_NAME} julia --version | awk '{print $3}')"
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:${JULIA_VERSION_TAG%%\r}"
|
||||
NB_VERSION_TAG="notebook-$(docker run --rm -a STDOUT ${IMAGE_NAME} jupyter-notebook --version | tr -d '\r')"
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:${NB_VERSION_TAG%% }"
|
||||
LAB_VERSION_TAG="lab-$(docker run --rm -a STDOUT ${IMAGE_NAME} jupyter-lab --version | tr -d '\r')"
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:${LAB_VERSION_TAG%%\r}"
|
||||
HUB_VERSION_TAG="hub-$(docker run --rm -a STDOUT ${IMAGE_NAME} jupyterhub --version | tr -d '\r')"
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:${HUB_VERSION_TAG%%\r}"
|
@@ -1,2 +0,0 @@
|
||||
INDEX_ROW="|\`${BUILD_TIMESTAMP}\`|\`jupyter/${IMAGE_SHORT_NAME}:${GIT_SHA_TAG}\`<br />\`jupyter/${IMAGE_SHORT_NAME}:${PY_VERSION_TAG}\`<br />\`jupyter/${IMAGE_SHORT_NAME}:${JULIA_VERSION_TAG}\`<br />\`jupyter/${IMAGE_SHORT_NAME}:${R_VERSION_TAG}\`<br />\`jupyter/${IMAGE_SHORT_NAME}:${NB_VERSION_TAG}\`<br />\`jupyter/${IMAGE_SHORT_NAME}:${LAB_VERSION_TAG}\`<br />\`jupyter/${IMAGE_SHORT_NAME}:${HUB_VERSION_TAG}\`|[Git diff](https://github.com/jupyter/docker-stacks/commit/${SOURCE_COMMIT})<br />[Dockerfile](https://github.com/jupyter/docker-stacks/blob/${SOURCE_COMMIT}/${IMAGE_SHORT_NAME}/Dockerfile)<br />[Build manifest](./${IMAGE_SHORT_NAME}-${GIT_SHA_TAG})|"
|
||||
sed "/|-|/a ${INDEX_ROW}" -i "$INDEX_FILE"
|
@@ -1,51 +0,0 @@
|
||||
cat << EOF > "$MANIFEST_FILE"
|
||||
* Build datetime: ${BUILD_TIMESTAMP}
|
||||
* DockerHub build code: ${BUILD_CODE}
|
||||
* Docker image: ${DOCKER_REPO}:${GIT_SHA_TAG}
|
||||
* Docker image size: $(docker images ${IMAGE_NAME} --format "{{.Size}}")
|
||||
* Git commit SHA: [${SOURCE_COMMIT}](https://github.com/jupyter/docker-stacks/commit/${SOURCE_COMMIT})
|
||||
* Git commit message:
|
||||
\`\`\`
|
||||
${COMMIT_MSG}
|
||||
\`\`\`
|
||||
|
||||
## Julia Packages
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} julia -E 'using InteractiveUtils; versioninfo()')
|
||||
\`\`\`
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} julia -E 'import Pkg; Pkg.status()')
|
||||
\`\`\`
|
||||
|
||||
## Python Packages
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} python --version)
|
||||
\`\`\`
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} conda info)
|
||||
\`\`\`
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} conda list)
|
||||
\`\`\`
|
||||
|
||||
## R Packages
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} R --version)
|
||||
\`\`\`
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} R --silent -e 'installed.packages(.Library)[, c(1,3)]')
|
||||
\`\`\`
|
||||
|
||||
## Apt Packages
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} apt list --installed)
|
||||
\`\`\`
|
||||
EOF
|
@@ -1,55 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Apply and push all tags
|
||||
source hooks/apply_tags
|
||||
docker push $DOCKER_REPO
|
||||
|
||||
# Tag the latest build with the short git sha. Push the tag in addition
|
||||
# to the "latest" tag already pushed.
|
||||
GIT_SHA_TAG=${SOURCE_COMMIT:0:12}
|
||||
docker tag $IMAGE_NAME $DOCKER_REPO:$GIT_SHA_TAG
|
||||
docker push $DOCKER_REPO:$GIT_SHA_TAG
|
||||
|
||||
# Create a working directory.
|
||||
BUILD_TIMESTAMP=$(date -u +%FT%TZ)
|
||||
WORKDIR=$(mktemp -d)
|
||||
GIT_URI="git@github.com:jupyter/docker-stacks.wiki.git"
|
||||
GIT_SANDBOX="${WORKDIR}/docker-stacks.wiki"
|
||||
IMAGE_SHORT_NAME=$(basename $DOCKER_REPO)
|
||||
MANIFEST_FILE="${GIT_SANDBOX}/manifests/${IMAGE_SHORT_NAME}-${GIT_SHA_TAG}.md"
|
||||
INDEX_FILE="${GIT_SANDBOX}/Home.md"
|
||||
|
||||
# Configure git so it can push back to GitHub.
|
||||
eval $(ssh-agent -s)
|
||||
ssh-add <(base64 -d <(echo "$DEPLOY_KEY"))
|
||||
ssh-add -l
|
||||
git config --global user.email "jupyter@googlegroups.com"
|
||||
git config --global user.name "Jupyter Docker Stacks"
|
||||
|
||||
# Glone the GitHub project wiki.
|
||||
pushd "$WORKDIR"
|
||||
git clone "$GIT_URI"
|
||||
popd
|
||||
|
||||
# Render the build manifest template.
|
||||
mkdir -p $(dirname "$MANIFEST_FILE")
|
||||
source hooks/manifest.tmpl
|
||||
source hooks/index.tmpl
|
||||
|
||||
# Push the wiki update back to GitHub.
|
||||
pushd "$GIT_SANDBOX"
|
||||
git add .
|
||||
git commit -m "DOC: Build ${MANIFEST_FILE}"
|
||||
git push -u origin master
|
||||
popd
|
||||
|
||||
# Shutdown the ssh agent for good measure.
|
||||
ssh-agent -k
|
||||
|
||||
# Invoke all downstream build triggers.
|
||||
set +e
|
||||
for url in $(echo $NEXT_BUILD_TRIGGERS | sed "s/,/ /g")
|
||||
do
|
||||
curl -X POST $url
|
||||
done
|
78
datascience-notebook/hooks/run_hook
Executable file
78
datascience-notebook/hooks/run_hook
Executable file
@@ -0,0 +1,78 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Apply tags
|
||||
GIT_SHA_TAG=${GITHUB_SHA:0:12}
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:$GIT_SHA_TAG"
|
||||
PY_VERSION_TAG="python-$(docker run --rm ${IMAGE_NAME} python --version 2>&1 | awk '{print $2}')"
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:$PY_VERSION_TAG"
|
||||
R_VERSION_TAG="r-$(docker run --rm -a STDOUT ${IMAGE_NAME} R --version | sed -n 1p | awk '{print $3}')"
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:${R_VERSION_TAG%%\r}"
|
||||
JULIA_VERSION_TAG="julia-$(docker run --rm -a STDOUT ${IMAGE_NAME} julia --version | awk '{print $3}')"
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:${JULIA_VERSION_TAG%%\r}"
|
||||
NB_VERSION_TAG="notebook-$(docker run --rm -a STDOUT ${IMAGE_NAME} jupyter-notebook --version | tr -d '\r')"
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:${NB_VERSION_TAG%% }"
|
||||
LAB_VERSION_TAG="lab-$(docker run --rm -a STDOUT ${IMAGE_NAME} jupyter-lab --version | tr -d '\r')"
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:${LAB_VERSION_TAG%%\r}"
|
||||
HUB_VERSION_TAG="hub-$(docker run --rm -a STDOUT ${IMAGE_NAME} jupyterhub --version | tr -d '\r')"
|
||||
docker tag $IMAGE_NAME "$DOCKER_REPO:${HUB_VERSION_TAG%%\r}"
|
||||
|
||||
|
||||
# Update index
|
||||
INDEX_ROW="|\`${BUILD_TIMESTAMP}\`|\`jupyter/${IMAGE_SHORT_NAME}:${GIT_SHA_TAG}\`<br />\`jupyter/${IMAGE_SHORT_NAME}:${PY_VERSION_TAG}\`<br />\`jupyter/${IMAGE_SHORT_NAME}:${JULIA_VERSION_TAG}\`<br />\`jupyter/${IMAGE_SHORT_NAME}:${R_VERSION_TAG}\`<br />\`jupyter/${IMAGE_SHORT_NAME}:${NB_VERSION_TAG}\`<br />\`jupyter/${IMAGE_SHORT_NAME}:${LAB_VERSION_TAG}\`<br />\`jupyter/${IMAGE_SHORT_NAME}:${HUB_VERSION_TAG}\`|[Git diff](https://github.com/jupyter/docker-stacks/commit/${SOURCE_COMMIT})<br />[Dockerfile](https://github.com/jupyter/docker-stacks/blob/${SOURCE_COMMIT}/${IMAGE_SHORT_NAME}/Dockerfile)<br />[Build manifest](./${IMAGE_SHORT_NAME}-${GIT_SHA_TAG})|"
|
||||
sed "/|-|/a ${INDEX_ROW}" -i "${WIKI_PATH}/Home.md"
|
||||
|
||||
# Build manifest
|
||||
MANIFEST_FILE="${WIKI_PATH}/manifests/${IMAGE_SHORT_NAME}-${GIT_SHA_TAG}.md"
|
||||
mkdir -p $(dirname "$MANIFEST_FILE")
|
||||
|
||||
cat << EOF > "$MANIFEST_FILE"
|
||||
* Build datetime: ${BUILD_TIMESTAMP}
|
||||
* Docker image: ${DOCKER_REPO}:${GIT_SHA_TAG}
|
||||
* Docker image size: $(docker images ${IMAGE_NAME} --format "{{.Size}}")
|
||||
* Git commit SHA: [${GITHUB_SHA}](https://github.com/jupyter/docker-stacks/commit/${GITHUB_SHA})
|
||||
* Git commit message:
|
||||
\`\`\`
|
||||
${COMMIT_MSG}
|
||||
\`\`\`
|
||||
|
||||
## Julia Packages
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} julia -E 'using InteractiveUtils; versioninfo()')
|
||||
\`\`\`
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} julia -E 'import Pkg; Pkg.status()')
|
||||
\`\`\`
|
||||
|
||||
## Python Packages
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} python --version)
|
||||
\`\`\`
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} conda info)
|
||||
\`\`\`
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} conda list)
|
||||
\`\`\`
|
||||
|
||||
## R Packages
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} R --version)
|
||||
\`\`\`
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} R --silent -e 'installed.packages(.Library)[, c(1,3)]')
|
||||
\`\`\`
|
||||
|
||||
## Apt Packages
|
||||
|
||||
\`\`\`
|
||||
$(docker run --rm ${IMAGE_NAME} apt list --installed)
|
||||
\`\`\`
|
||||
EOF
|
Reference in New Issue
Block a user