Skip to content

Commit

Permalink
Merge pull request #828 from parente/image-manifests
Browse files Browse the repository at this point in the history
[ci skip] Add package manifest support
  • Loading branch information
parente committed Mar 15, 2019
2 parents 022da74 + 10c58da commit eb149a8
Show file tree
Hide file tree
Showing 16 changed files with 486 additions and 0 deletions.
28 changes: 28 additions & 0 deletions all-spark-notebook/hooks/manifest.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
cat << EOF > "$MANIFEST_FILE"
* Build datetime: $(date -u +%FT%TZ)
* DockerHub build code: ${BUILD_CODE}
* Docker image: ${DOCKER_REPO}:${GIT_SHA_TAG}
* Git commit SHA: [${SOURCE_COMMIT}](https://github.com/jupyter/docker-stacks/commit/${SOURCE_COMMIT})
* Git commit message:
\`\`\`
${COMMIT_MSG}
\`\`\`

## Apache Packages

\`\`\`
$(docker run --rm ${IMAGE_NAME} spark-submit --version)
\`\`\`

## Python Packages

\`\`\`
$(docker run --rm ${IMAGE_NAME} conda list)
\`\`\`

## Apt Packages

\`\`\`
$(docker run --rm ${IMAGE_NAME} apt list --installed)
\`\`\`
EOF
35 changes: 35 additions & 0 deletions all-spark-notebook/hooks/post_push
Original file line number Diff line number Diff line change
@@ -1,12 +1,47 @@
#!/bin/bash
set -e

# 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.
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}-${SOURCE_COMMIT:0:12}.md"

# Configure git so it can push back to GitHub.
eval $(ssh-agent -s)
ssh-add <(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

# 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
Expand Down
22 changes: 22 additions & 0 deletions base-notebook/hooks/manifest.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
cat << EOF > "$MANIFEST_FILE"
* Build datetime: $(date -u +%FT%TZ)
* DockerHub build code: ${BUILD_CODE}
* Docker image: ${DOCKER_REPO}:${GIT_SHA_TAG}
* Git commit SHA: [${SOURCE_COMMIT}](https://github.com/jupyter/docker-stacks/commit/${SOURCE_COMMIT})
* Git commit message:
\`\`\`
${COMMIT_MSG}
\`\`\`

## Python Packages

\`\`\`
$(docker run --rm ${IMAGE_NAME} conda list)
\`\`\`

## Apt Packages

\`\`\`
$(docker run --rm ${IMAGE_NAME} apt list --installed)
\`\`\`
EOF
35 changes: 35 additions & 0 deletions base-notebook/hooks/post_push
Original file line number Diff line number Diff line change
@@ -1,12 +1,47 @@
#!/bin/bash
set -e

# 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.
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}-${SOURCE_COMMIT:0:12}.md"

# Configure git so it can push back to GitHub.
eval $(ssh-agent -s)
ssh-add <(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

# 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
Expand Down
34 changes: 34 additions & 0 deletions datascience-notebook/hooks/manifest.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
cat << EOF > "$MANIFEST_FILE"
* Build datetime: $(date -u +%FT%TZ)
* DockerHub build code: ${BUILD_CODE}
* Docker image: ${DOCKER_REPO}:${GIT_SHA_TAG}
* 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 'import Pkg; Pkg.status()')
\`\`\`

## Python Packages

\`\`\`
$(docker run --rm ${IMAGE_NAME} conda list)
\`\`\`

## R Packages

\`\`\`
$(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
35 changes: 35 additions & 0 deletions datascience-notebook/hooks/post_push
Original file line number Diff line number Diff line change
@@ -1,12 +1,47 @@
#!/bin/bash
set -e

# 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.
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}-${SOURCE_COMMIT:0:12}.md"

# Configure git so it can push back to GitHub.
eval $(ssh-agent -s)
ssh-add <(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

# 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
Expand Down
22 changes: 22 additions & 0 deletions minimal-notebook/hooks/manifest.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
cat << EOF > "$MANIFEST_FILE"
* Build datetime: $(date -u +%FT%TZ)
* DockerHub build code: ${BUILD_CODE}
* Docker image: ${DOCKER_REPO}:${GIT_SHA_TAG}
* Git commit SHA: [${SOURCE_COMMIT}](https://github.com/jupyter/docker-stacks/commit/${SOURCE_COMMIT})
* Git commit message:
\`\`\`
${COMMIT_MSG}
\`\`\`

## Python Packages

\`\`\`
$(docker run --rm ${IMAGE_NAME} conda list)
\`\`\`

## Apt Packages

\`\`\`
$(docker run --rm ${IMAGE_NAME} apt list --installed)
\`\`\`
EOF
35 changes: 35 additions & 0 deletions minimal-notebook/hooks/post_push
Original file line number Diff line number Diff line change
@@ -1,12 +1,47 @@
#!/bin/bash
set -e

# 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.
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}-${SOURCE_COMMIT:0:12}.md"

# Configure git so it can push back to GitHub.
eval $(ssh-agent -s)
ssh-add <(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

# 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
Expand Down
28 changes: 28 additions & 0 deletions pyspark-notebook/hooks/manifest.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
cat << EOF > "$MANIFEST_FILE"
* Build datetime: $(date -u +%FT%TZ)
* DockerHub build code: ${BUILD_CODE}
* Docker image: ${DOCKER_REPO}:${GIT_SHA_TAG}
* Git commit SHA: [${SOURCE_COMMIT}](https://github.com/jupyter/docker-stacks/commit/${SOURCE_COMMIT})
* Git commit message:
\`\`\`
${COMMIT_MSG}
\`\`\`

## Apache Packages

\`\`\`
$(docker run --rm ${IMAGE_NAME} spark-submit --version)
\`\`\`

## Python Packages

\`\`\`
$(docker run --rm ${IMAGE_NAME} conda list)
\`\`\`

## Apt Packages

\`\`\`
$(docker run --rm ${IMAGE_NAME} apt list --installed)
\`\`\`
EOF
35 changes: 35 additions & 0 deletions pyspark-notebook/hooks/post_push
Original file line number Diff line number Diff line change
@@ -1,12 +1,47 @@
#!/bin/bash
set -e

# 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.
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}-${SOURCE_COMMIT:0:12}.md"

# Configure git so it can push back to GitHub.
eval $(ssh-agent -s)
ssh-add <(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

# 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
Expand Down

0 comments on commit eb149a8

Please sign in to comment.