Lars Gohr
2022-10-11 21:04:30 +02:00
parent 851b4055f7
commit 93655185f2
2 changed files with 36 additions and 0 deletions

View File

@@ -2,6 +2,7 @@
setup(){
export PATH="/usr/local/sbin:/usr/local/mock:/usr/sbin:/usr/bin:/sbin:/bin"
export GITHUB_ENV="/tmp/githubOutput"
cat /dev/null >| mockArgs
cat /dev/null >| mockStdin
@@ -18,6 +19,7 @@ setup(){
}
teardown() {
rm -f "${GITHUB_ENV}"
unset INPUT_TAG_NAMES
unset INPUT_SNAPSHOT
unset INPUT_DOCKERFILE
@@ -35,6 +37,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::latest"
expectGitHubEnvContains "tag=latest"
expectMockCalledContains "/usr/local/mock/docker login -u USERNAME --password-stdin
/usr/local/mock/docker build -t my/repository:latest .
@@ -49,6 +52,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::latest"
expectGitHubEnvContains "tag=latest"
expectMockCalledContains "/usr/local/mock/docker login -u USERNAME --password-stdin
/usr/local/mock/docker build -t my/repository:latest .
@@ -63,6 +67,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::myBranch"
expectGitHubEnvContains "tag=myBranch"
expectMockCalledContains "/usr/local/mock/docker build -t my/repository:myBranch .
/usr/local/mock/docker push my/repository:myBranch"
@@ -74,6 +79,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::myBranch-withDash"
expectGitHubEnvContains "tag=myBranch-withDash"
expectMockCalledContains "/usr/local/mock/docker build -t my/repository:myBranch-withDash .
/usr/local/mock/docker push my/repository:myBranch-withDash"
@@ -85,6 +91,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::latest"
expectGitHubEnvContains "tag=latest"
expectMockCalledContains "/usr/local/mock/docker login -u USERNAME --password-stdin
/usr/local/mock/docker build -t my/repository:latest .
@@ -100,6 +107,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::myRelease"
expectGitHubEnvContains "tag=myRelease"
expectMockCalledContains "/usr/local/mock/docker build -t my/repository:myRelease .
/usr/local/mock/docker push my/repository:myRelease"
@@ -112,6 +120,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::latest"
expectGitHubEnvContains "tag=latest"
expectMockCalledContains "/usr/local/mock/docker build -t my/repository:latest .
/usr/local/mock/docker push my/repository:latest"
@@ -124,6 +133,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::1.2.3"
expectGitHubEnvContains "tag=1.2.3"
expectMockCalledContains "/usr/local/mock/docker login -u USERNAME --password-stdin
/usr/local/mock/docker build -t my/repository:1.2.3 -t my/repository:1.2 -t my/repository:1 .
@@ -141,6 +151,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::12.345.5678"
expectGitHubEnvContains "tag=12.345.5678"
expectMockCalledContains "/usr/local/mock/docker login -u USERNAME --password-stdin
/usr/local/mock/docker build -t my/repository:12.345.5678 -t my/repository:12.345 -t my/repository:12 .
@@ -164,6 +175,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::1.1.1-${SUFFIX}"
expectGitHubEnvContains "tag=1.1.1-${SUFFIX}"
expectMockCalledContains "/usr/local/mock/docker login -u USERNAME --password-stdin
/usr/local/mock/docker build -t my/repository:1.1.1-${SUFFIX} .
@@ -180,6 +192,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::1.2.34"
expectGitHubEnvContains "tag=1.2.34"
expectMockCalledContains "/usr/local/mock/docker login -u USERNAME --password-stdin
/usr/local/mock/docker build -t my/repository:1.2.34 -t my/repository:1.2 -t my/repository:1 .
@@ -197,6 +210,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::latest"
expectGitHubEnvContains "tag=latest"
expectMockCalledContains "/usr/local/mock/docker build -t my/repository:latest .
/usr/local/mock/docker push my/repository:latest"
@@ -209,6 +223,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::latest"
expectGitHubEnvContains "tag=latest"
expectMockCalledContains "/usr/local/mock/docker build -t my/repository:latest .
/usr/local/mock/docker push my/repository:latest"
@@ -220,6 +235,7 @@ teardown() {
run /entrypoint.sh export GITHUB_REF='refs/heads/master'
expectStdOutContains "::set-output name=tag::latest"
expectGitHubEnvContains "tag=latest"
expectMockCalledContains "/usr/local/mock/docker build -f MyDockerFileName -t my/repository:latest .
/usr/local/mock/docker push my/repository:latest"
@@ -239,6 +255,7 @@ teardown() {
expectStdOutContains "
::set-output name=snapshot-tag::19700101010112169e
::set-output name=tag::latest"
expectGitHubEnvContains "snapshot-tag=19700101010112169etag=latest"
expectMockCalledContains "/usr/local/mock/date +%Y%m%d%H%M%S
/usr/local/mock/docker build -t my/repository:latest -t my/repository:19700101010112169e .
@@ -259,6 +276,7 @@ teardown() {
expectStdOutContains "
::set-output name=tag::latest"
expectGitHubEnvContains "tag=latest"
expectMockCalledContains "/usr/local/mock/docker build -t my/repository:latest .
/usr/local/mock/docker push my/repository:latest"
@@ -409,6 +427,7 @@ teardown() {
expectStdOutContains "
::set-output name=tag::12169ed809255604e557a82617264e9c373faca7"
expectGitHubEnvContains "tag=12169ed809255604e557a82617264e9c373faca7"
expectMockCalledContains "/usr/local/mock/docker build -t my/repository:12169ed809255604e557a82617264e9c373faca7 .
/usr/local/mock/docker push my/repository:12169ed809255604e557a82617264e9c373faca7"
@@ -421,6 +440,7 @@ teardown() {
expectStdOutContains "
::set-output name=tag::custom-tag"
expectGitHubEnvContains "tag=custom-tag"
expectMockCalledContains "/usr/local/mock/docker build -t my/repository:custom-tag .
/usr/local/mock/docker push my/repository:custom-tag"
@@ -435,6 +455,7 @@ teardown() {
::add-mask::MY_FIRST
::add-mask::MY_SECOND
::set-output name=tag::latest"
expectGitHubEnvContains "tag=latest"
expectMockCalledContains "/usr/local/mock/docker build --build-arg MY_FIRST --build-arg MY_SECOND -t my/repository:latest ."
}
@@ -447,6 +468,7 @@ teardown() {
expectStdOutContains "
::add-mask::MY_ONLY
::set-output name=tag::latest"
expectGitHubEnvContains "tag=latest"
expectMockCalledContains "/usr/local/mock/docker build --build-arg MY_ONLY -t my/repository:latest ."
}
@@ -528,6 +550,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=digest::my/repository@sha256:53b76152042486bc741fe59f130bfe683b883060c8284271a2586342f35dcd0e"
expectGitHubEnvContains "digest=my/repository@sha256:53b76152042486bc741fe59f130bfe683b883060c8284271a2586342f35dcd0e"
expectMockCalledContains "/usr/local/mock/docker push my/repository:latest
/usr/local/mock/docker inspect --format={{index .RepoDigests 0}} my/repository:latest"
@@ -639,6 +662,7 @@ teardown() {
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::latest"
expectGitHubEnvContains "tag=latest"
expectMockCalledContains "/usr/local/mock/docker login -u USERNAME --password-stdin
/usr/local/mock/docker build -t my/repository:latest .
@@ -692,6 +716,7 @@ EOT
run /entrypoint.sh
expectStdOutContains "::set-output name=tag::latest::set-output name=digest::sha256:aa2c7631cc1bbf588192ec7e55b428ad92fe63834200303f28e93444d7fc114a"
expectGitHubEnvContains "tag=latestdigest=sha256:aa2c7631cc1bbf588192ec7e55b428ad92fe63834200303f28e93444d7fc114a"
expectMockCalledContains "/usr/local/mock/docker login -u USERNAME --password-stdin
/usr/local/mock/docker buildx build --push --metadata-file metadata.json --platform linux/amd64,linux/arm64 -t my/repository:latest .
@@ -715,6 +740,14 @@ expectStdOutContains() {
echo "${got}" | grep "${expected}"
}
expectGitHubEnvContains() {
local expected=$(echo "${1}" | tr -d '\n')
local got=$(cat "${GITHUB_ENV}" | tr -d '\n')
echo "Expected: |${expected}|
Got: |${got}|"
echo "${got}" | grep "${expected}"
}
expectMockCalledIs() {
local expected=$(echo "${1}" | tr -d '\n')
local got=$(cat mockArgs | tr -d '\n')