Skip to content

Commit eb149a8

Browse files
authored
Merge pull request #828 from parente/image-manifests
[ci skip] Add package manifest support
2 parents 022da74 + 10c58da commit eb149a8

File tree

16 files changed

+486
-0
lines changed

16 files changed

+486
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
cat << EOF > "$MANIFEST_FILE"
2+
* Build datetime: $(date -u +%FT%TZ)
3+
* DockerHub build code: ${BUILD_CODE}
4+
* Docker image: ${DOCKER_REPO}:${GIT_SHA_TAG}
5+
* Git commit SHA: [${SOURCE_COMMIT}](https://github.com/jupyter/docker-stacks/commit/${SOURCE_COMMIT})
6+
* Git commit message:
7+
\`\`\`
8+
${COMMIT_MSG}
9+
\`\`\`
10+
11+
## Apache Packages
12+
13+
\`\`\`
14+
$(docker run --rm ${IMAGE_NAME} spark-submit --version)
15+
\`\`\`
16+
17+
## Python Packages
18+
19+
\`\`\`
20+
$(docker run --rm ${IMAGE_NAME} conda list)
21+
\`\`\`
22+
23+
## Apt Packages
24+
25+
\`\`\`
26+
$(docker run --rm ${IMAGE_NAME} apt list --installed)
27+
\`\`\`
28+
EOF

all-spark-notebook/hooks/post_push

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,47 @@
11
#!/bin/bash
2+
set -e
23

34
# Tag the latest build with the short git sha. Push the tag in addition
45
# to the "latest" tag already pushed.
56
GIT_SHA_TAG=${SOURCE_COMMIT:0:12}
67
docker tag $IMAGE_NAME $DOCKER_REPO:$GIT_SHA_TAG
78
docker push $DOCKER_REPO:$GIT_SHA_TAG
89

10+
# Create a working directory.
11+
WORKDIR=$(mktemp -d)
12+
GIT_URI="[email protected]:jupyter/docker-stacks.wiki.git"
13+
GIT_SANDBOX="${WORKDIR}/docker-stacks.wiki"
14+
IMAGE_SHORT_NAME=$(basename $DOCKER_REPO)
15+
MANIFEST_FILE="${GIT_SANDBOX}/manifests/${IMAGE_SHORT_NAME}-${SOURCE_COMMIT:0:12}.md"
16+
17+
# Configure git so it can push back to GitHub.
18+
eval $(ssh-agent -s)
19+
ssh-add <(echo "$DEPLOY_KEY")
20+
ssh-add -l
21+
git config --global user.email "[email protected]"
22+
git config --global user.name "Jupyter Docker Stacks"
23+
24+
# Glone the GitHub project wiki.
25+
pushd "$WORKDIR"
26+
git clone "$GIT_URI"
27+
popd
28+
29+
# Render the build manifest template.
30+
mkdir -p $(dirname "$MANIFEST_FILE")
31+
source hooks/manifest.tmpl
32+
33+
# Push the wiki update back to GitHub.
34+
pushd "$GIT_SANDBOX"
35+
git add .
36+
git commit -m "DOC: Build ${MANIFEST_FILE}"
37+
git push -u origin master
38+
popd
39+
40+
# Shutdown the ssh agent for good measure.
41+
ssh-agent -k
42+
943
# Invoke all downstream build triggers.
44+
set +e
1045
for url in $(echo $NEXT_BUILD_TRIGGERS | sed "s/,/ /g")
1146
do
1247
curl -X POST $url

base-notebook/hooks/manifest.tmpl

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
cat << EOF > "$MANIFEST_FILE"
2+
* Build datetime: $(date -u +%FT%TZ)
3+
* DockerHub build code: ${BUILD_CODE}
4+
* Docker image: ${DOCKER_REPO}:${GIT_SHA_TAG}
5+
* Git commit SHA: [${SOURCE_COMMIT}](https://github.com/jupyter/docker-stacks/commit/${SOURCE_COMMIT})
6+
* Git commit message:
7+
\`\`\`
8+
${COMMIT_MSG}
9+
\`\`\`
10+
11+
## Python Packages
12+
13+
\`\`\`
14+
$(docker run --rm ${IMAGE_NAME} conda list)
15+
\`\`\`
16+
17+
## Apt Packages
18+
19+
\`\`\`
20+
$(docker run --rm ${IMAGE_NAME} apt list --installed)
21+
\`\`\`
22+
EOF

base-notebook/hooks/post_push

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,47 @@
11
#!/bin/bash
2+
set -e
23

34
# Tag the latest build with the short git sha. Push the tag in addition
45
# to the "latest" tag already pushed.
56
GIT_SHA_TAG=${SOURCE_COMMIT:0:12}
67
docker tag $IMAGE_NAME $DOCKER_REPO:$GIT_SHA_TAG
78
docker push $DOCKER_REPO:$GIT_SHA_TAG
89

10+
# Create a working directory.
11+
WORKDIR=$(mktemp -d)
12+
GIT_URI="[email protected]:jupyter/docker-stacks.wiki.git"
13+
GIT_SANDBOX="${WORKDIR}/docker-stacks.wiki"
14+
IMAGE_SHORT_NAME=$(basename $DOCKER_REPO)
15+
MANIFEST_FILE="${GIT_SANDBOX}/manifests/${IMAGE_SHORT_NAME}-${SOURCE_COMMIT:0:12}.md"
16+
17+
# Configure git so it can push back to GitHub.
18+
eval $(ssh-agent -s)
19+
ssh-add <(echo "$DEPLOY_KEY")
20+
ssh-add -l
21+
git config --global user.email "[email protected]"
22+
git config --global user.name "Jupyter Docker Stacks"
23+
24+
# Glone the GitHub project wiki.
25+
pushd "$WORKDIR"
26+
git clone "$GIT_URI"
27+
popd
28+
29+
# Render the build manifest template.
30+
mkdir -p $(dirname "$MANIFEST_FILE")
31+
source hooks/manifest.tmpl
32+
33+
# Push the wiki update back to GitHub.
34+
pushd "$GIT_SANDBOX"
35+
git add .
36+
git commit -m "DOC: Build ${MANIFEST_FILE}"
37+
git push -u origin master
38+
popd
39+
40+
# Shutdown the ssh agent for good measure.
41+
ssh-agent -k
42+
943
# Invoke all downstream build triggers.
44+
set +e
1045
for url in $(echo $NEXT_BUILD_TRIGGERS | sed "s/,/ /g")
1146
do
1247
curl -X POST $url
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
cat << EOF > "$MANIFEST_FILE"
2+
* Build datetime: $(date -u +%FT%TZ)
3+
* DockerHub build code: ${BUILD_CODE}
4+
* Docker image: ${DOCKER_REPO}:${GIT_SHA_TAG}
5+
* Git commit SHA: [${SOURCE_COMMIT}](https://github.com/jupyter/docker-stacks/commit/${SOURCE_COMMIT})
6+
* Git commit message:
7+
\`\`\`
8+
${COMMIT_MSG}
9+
\`\`\`
10+
11+
## Julia Packages
12+
13+
\`\`\`
14+
$(docker run --rm ${IMAGE_NAME} julia -E 'import Pkg; Pkg.status()')
15+
\`\`\`
16+
17+
## Python Packages
18+
19+
\`\`\`
20+
$(docker run --rm ${IMAGE_NAME} conda list)
21+
\`\`\`
22+
23+
## R Packages
24+
25+
\`\`\`
26+
$(docker run --rm ${IMAGE_NAME} R --silent -e 'installed.packages(.Library)[, c(1,3)]')
27+
\`\`\`
28+
29+
## Apt Packages
30+
31+
\`\`\`
32+
$(docker run --rm ${IMAGE_NAME} apt list --installed)
33+
\`\`\`
34+
EOF

datascience-notebook/hooks/post_push

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,47 @@
11
#!/bin/bash
2+
set -e
23

34
# Tag the latest build with the short git sha. Push the tag in addition
45
# to the "latest" tag already pushed.
56
GIT_SHA_TAG=${SOURCE_COMMIT:0:12}
67
docker tag $IMAGE_NAME $DOCKER_REPO:$GIT_SHA_TAG
78
docker push $DOCKER_REPO:$GIT_SHA_TAG
89

10+
# Create a working directory.
11+
WORKDIR=$(mktemp -d)
12+
GIT_URI="[email protected]:jupyter/docker-stacks.wiki.git"
13+
GIT_SANDBOX="${WORKDIR}/docker-stacks.wiki"
14+
IMAGE_SHORT_NAME=$(basename $DOCKER_REPO)
15+
MANIFEST_FILE="${GIT_SANDBOX}/manifests/${IMAGE_SHORT_NAME}-${SOURCE_COMMIT:0:12}.md"
16+
17+
# Configure git so it can push back to GitHub.
18+
eval $(ssh-agent -s)
19+
ssh-add <(echo "$DEPLOY_KEY")
20+
ssh-add -l
21+
git config --global user.email "[email protected]"
22+
git config --global user.name "Jupyter Docker Stacks"
23+
24+
# Glone the GitHub project wiki.
25+
pushd "$WORKDIR"
26+
git clone "$GIT_URI"
27+
popd
28+
29+
# Render the build manifest template.
30+
mkdir -p $(dirname "$MANIFEST_FILE")
31+
source hooks/manifest.tmpl
32+
33+
# Push the wiki update back to GitHub.
34+
pushd "$GIT_SANDBOX"
35+
git add .
36+
git commit -m "DOC: Build ${MANIFEST_FILE}"
37+
git push -u origin master
38+
popd
39+
40+
# Shutdown the ssh agent for good measure.
41+
ssh-agent -k
42+
943
# Invoke all downstream build triggers.
44+
set +e
1045
for url in $(echo $NEXT_BUILD_TRIGGERS | sed "s/,/ /g")
1146
do
1247
curl -X POST $url

minimal-notebook/hooks/manifest.tmpl

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
cat << EOF > "$MANIFEST_FILE"
2+
* Build datetime: $(date -u +%FT%TZ)
3+
* DockerHub build code: ${BUILD_CODE}
4+
* Docker image: ${DOCKER_REPO}:${GIT_SHA_TAG}
5+
* Git commit SHA: [${SOURCE_COMMIT}](https://github.com/jupyter/docker-stacks/commit/${SOURCE_COMMIT})
6+
* Git commit message:
7+
\`\`\`
8+
${COMMIT_MSG}
9+
\`\`\`
10+
11+
## Python Packages
12+
13+
\`\`\`
14+
$(docker run --rm ${IMAGE_NAME} conda list)
15+
\`\`\`
16+
17+
## Apt Packages
18+
19+
\`\`\`
20+
$(docker run --rm ${IMAGE_NAME} apt list --installed)
21+
\`\`\`
22+
EOF

minimal-notebook/hooks/post_push

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,47 @@
11
#!/bin/bash
2+
set -e
23

34
# Tag the latest build with the short git sha. Push the tag in addition
45
# to the "latest" tag already pushed.
56
GIT_SHA_TAG=${SOURCE_COMMIT:0:12}
67
docker tag $IMAGE_NAME $DOCKER_REPO:$GIT_SHA_TAG
78
docker push $DOCKER_REPO:$GIT_SHA_TAG
89

10+
# Create a working directory.
11+
WORKDIR=$(mktemp -d)
12+
GIT_URI="[email protected]:jupyter/docker-stacks.wiki.git"
13+
GIT_SANDBOX="${WORKDIR}/docker-stacks.wiki"
14+
IMAGE_SHORT_NAME=$(basename $DOCKER_REPO)
15+
MANIFEST_FILE="${GIT_SANDBOX}/manifests/${IMAGE_SHORT_NAME}-${SOURCE_COMMIT:0:12}.md"
16+
17+
# Configure git so it can push back to GitHub.
18+
eval $(ssh-agent -s)
19+
ssh-add <(echo "$DEPLOY_KEY")
20+
ssh-add -l
21+
git config --global user.email "[email protected]"
22+
git config --global user.name "Jupyter Docker Stacks"
23+
24+
# Glone the GitHub project wiki.
25+
pushd "$WORKDIR"
26+
git clone "$GIT_URI"
27+
popd
28+
29+
# Render the build manifest template.
30+
mkdir -p $(dirname "$MANIFEST_FILE")
31+
source hooks/manifest.tmpl
32+
33+
# Push the wiki update back to GitHub.
34+
pushd "$GIT_SANDBOX"
35+
git add .
36+
git commit -m "DOC: Build ${MANIFEST_FILE}"
37+
git push -u origin master
38+
popd
39+
40+
# Shutdown the ssh agent for good measure.
41+
ssh-agent -k
42+
943
# Invoke all downstream build triggers.
44+
set +e
1045
for url in $(echo $NEXT_BUILD_TRIGGERS | sed "s/,/ /g")
1146
do
1247
curl -X POST $url

pyspark-notebook/hooks/manifest.tmpl

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
cat << EOF > "$MANIFEST_FILE"
2+
* Build datetime: $(date -u +%FT%TZ)
3+
* DockerHub build code: ${BUILD_CODE}
4+
* Docker image: ${DOCKER_REPO}:${GIT_SHA_TAG}
5+
* Git commit SHA: [${SOURCE_COMMIT}](https://github.com/jupyter/docker-stacks/commit/${SOURCE_COMMIT})
6+
* Git commit message:
7+
\`\`\`
8+
${COMMIT_MSG}
9+
\`\`\`
10+
11+
## Apache Packages
12+
13+
\`\`\`
14+
$(docker run --rm ${IMAGE_NAME} spark-submit --version)
15+
\`\`\`
16+
17+
## Python Packages
18+
19+
\`\`\`
20+
$(docker run --rm ${IMAGE_NAME} conda list)
21+
\`\`\`
22+
23+
## Apt Packages
24+
25+
\`\`\`
26+
$(docker run --rm ${IMAGE_NAME} apt list --installed)
27+
\`\`\`
28+
EOF

pyspark-notebook/hooks/post_push

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,47 @@
11
#!/bin/bash
2+
set -e
23

34
# Tag the latest build with the short git sha. Push the tag in addition
45
# to the "latest" tag already pushed.
56
GIT_SHA_TAG=${SOURCE_COMMIT:0:12}
67
docker tag $IMAGE_NAME $DOCKER_REPO:$GIT_SHA_TAG
78
docker push $DOCKER_REPO:$GIT_SHA_TAG
89

10+
# Create a working directory.
11+
WORKDIR=$(mktemp -d)
12+
GIT_URI="[email protected]:jupyter/docker-stacks.wiki.git"
13+
GIT_SANDBOX="${WORKDIR}/docker-stacks.wiki"
14+
IMAGE_SHORT_NAME=$(basename $DOCKER_REPO)
15+
MANIFEST_FILE="${GIT_SANDBOX}/manifests/${IMAGE_SHORT_NAME}-${SOURCE_COMMIT:0:12}.md"
16+
17+
# Configure git so it can push back to GitHub.
18+
eval $(ssh-agent -s)
19+
ssh-add <(echo "$DEPLOY_KEY")
20+
ssh-add -l
21+
git config --global user.email "[email protected]"
22+
git config --global user.name "Jupyter Docker Stacks"
23+
24+
# Glone the GitHub project wiki.
25+
pushd "$WORKDIR"
26+
git clone "$GIT_URI"
27+
popd
28+
29+
# Render the build manifest template.
30+
mkdir -p $(dirname "$MANIFEST_FILE")
31+
source hooks/manifest.tmpl
32+
33+
# Push the wiki update back to GitHub.
34+
pushd "$GIT_SANDBOX"
35+
git add .
36+
git commit -m "DOC: Build ${MANIFEST_FILE}"
37+
git push -u origin master
38+
popd
39+
40+
# Shutdown the ssh agent for good measure.
41+
ssh-agent -k
42+
943
# Invoke all downstream build triggers.
44+
set +e
1045
for url in $(echo $NEXT_BUILD_TRIGGERS | sed "s/,/ /g")
1146
do
1247
curl -X POST $url

0 commit comments

Comments
 (0)