Use the new set output (#171)

This commit is contained in:
Serge K
2022-11-04 20:28:02 +07:00
committed by GitHub
parent 149e3debd8
commit 742a180fa4
2 changed files with 30 additions and 30 deletions

View File

@@ -67,14 +67,14 @@ main() {
fi fi
echo "::set-output name=tag::${FIRST_TAG}" echo "::set-output name=tag::${FIRST_TAG}"
echo "tag=${FIRST_TAG}" >> "$GITHUB_ENV" echo "tag=${FIRST_TAG}" >> "$GITHUB_OUTPUT"
if uses "${INPUT_PLATFORMS}"; then if uses "${INPUT_PLATFORMS}"; then
DIGEST=$(jq -r '."containerimage.digest"' metadata.json) DIGEST=$(jq -r '."containerimage.digest"' metadata.json)
else else
DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' ${DOCKERNAME}) DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' ${DOCKERNAME})
fi fi
echo "::set-output name=digest::${DIGEST}" echo "::set-output name=digest::${DIGEST}"
echo "digest=${DIGEST}" >> "$GITHUB_ENV" echo "digest=${DIGEST}" >> "$GITHUB_OUTPUT"
docker logout docker logout
} }
@@ -185,7 +185,7 @@ useSnapshot() {
local SNAPSHOT_TAG="${TIMESTAMP}${SHORT_SHA}" local SNAPSHOT_TAG="${TIMESTAMP}${SHORT_SHA}"
TAGS="${TAGS} ${SNAPSHOT_TAG}" TAGS="${TAGS} ${SNAPSHOT_TAG}"
echo "::set-output name=snapshot-tag::${SNAPSHOT_TAG}" echo "::set-output name=snapshot-tag::${SNAPSHOT_TAG}"
echo "snapshot-tag=${SNAPSHOT_TAG}" >> "$GITHUB_ENV" echo "snapshot-tag=${SNAPSHOT_TAG}" >> "$GITHUB_OUTPUT"
} }
build() { build() {

View File

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