mirror of
https://github.com/elgohr/Publish-Docker-Github-Action.git
synced 2026-03-12 18:07:12 -04:00
✨ Support building multi-platform images
This commit is contained in:
20
test.bats
20
test.bats
@@ -6,6 +6,7 @@ setup(){
|
||||
|
||||
declare -A -p MOCK_RETURNS=(
|
||||
['/usr/local/bin/docker']=""
|
||||
['sudo']=""
|
||||
) > mockReturns
|
||||
|
||||
export GITHUB_REF='refs/heads/master'
|
||||
@@ -20,6 +21,7 @@ teardown() {
|
||||
unset INPUT_DOCKERFILE
|
||||
unset INPUT_REGISTRY
|
||||
unset INPUT_CACHE
|
||||
unset INPUT_PLATFORMS
|
||||
unset GITHUB_SHA
|
||||
unset INPUT_PULL_REQUESTS
|
||||
unset MOCK_ERROR_CONDITION
|
||||
@@ -654,6 +656,24 @@ teardown() {
|
||||
/usr/local/bin/docker logout"
|
||||
}
|
||||
|
||||
@test "it supports building multiple platforms" {
|
||||
export GITHUB_REF='refs/heads/main'
|
||||
export INPUT_PLATFORMS='linux/amd64,linux/arm64'
|
||||
|
||||
run /entrypoint.sh
|
||||
|
||||
expectStdOutContains "::set-output name=tag::latest"
|
||||
|
||||
expectMockCalledContains "/usr/bin/sudo dd status=none of=/etc/docker/daemon.json
|
||||
/usr/bin/sudo service docker restart
|
||||
/usr/local/bin/docker login -u USERNAME --password-stdin
|
||||
/usr/local/bin/docker buildx build --platform linux/amd64,linux/arm64 -t my/repository:latest .
|
||||
/usr/local/bin/docker push my/repository:latest
|
||||
/usr/local/bin/docker inspect --format={{index .RepoDigests 0}} my/repository:latest
|
||||
/usr/local/bin/docker logout"
|
||||
expectMockArgs '/usr/bin/sudo {"experimental": true}'
|
||||
}
|
||||
|
||||
expectStdOutIs() {
|
||||
local expected=$(echo "${1}" | tr -d '\n')
|
||||
local got=$(echo "${output}" | tr -d '\n')
|
||||
|
||||
Reference in New Issue
Block a user