mirror of
https://github.com/anchore/syft.git
synced 2025-11-17 08:23:15 +01:00
* add check for app update; fix ETUI error handling * validate user args * add goreleaser support * replace cgo dependencies (go-rpm) with go equivalents * add acceptance tests against build snapshot * add brew tap + acceptance test pipeline * add mac acceptance tests * fix compare makefile * fix mac acceptance tests * add release pipeline with wait checks * add token to release step * rm dir presenters int test * enforce dpkg to be non interactive Co-authored-by: Alfredo Deza <adeza@anchore.com> * pin brew formulae * pin skopeo to formulae url * only run acceptance tests Co-authored-by: Alfredo Deza <adeza@anchore.com>
43 lines
1.1 KiB
Bash
Executable File
43 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eux
|
|
|
|
DISTDIR=$1
|
|
ACC_DIR=$2
|
|
TEST_IMAGE=$3
|
|
|
|
TEST_IMAGE_TAR=/tmp/image.tar
|
|
TEST_TYPE=mac
|
|
WORK_DIR=`mktemp -d -t "imgbom-acceptance-test-${TEST_TYPE}-XXXXXX"`
|
|
REPORT=${WORK_DIR}/acceptance-${TEST_TYPE}-${TEST_IMAGE}.json
|
|
GOLDEN_REPORT=${ACC_DIR}/test-fixtures/acceptance-${TEST_IMAGE}.json
|
|
|
|
# check if tmp dir was created
|
|
if [[ ! "${WORK_DIR}" || ! -d "${WORK_DIR}" ]]; then
|
|
echo "Could not create temp dir"
|
|
exit 1
|
|
fi
|
|
|
|
function cleanup {
|
|
rm -rf "${WORK_DIR}"
|
|
}
|
|
|
|
trap cleanup EXIT
|
|
|
|
# install skopeo (pinned to 1.1.0)
|
|
skopeo --version || brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/75e8d7a40af77b48cc91f4bdb7d669f891a6de60/Formula/skopeo.rb
|
|
|
|
# fetch test image
|
|
skopeo --override-os linux copy docker://docker.io/${TEST_IMAGE} docker-archive:${TEST_IMAGE_TAR}
|
|
ls -alh ${TEST_IMAGE_TAR}
|
|
|
|
# run imgbom
|
|
chmod 755 ${DISTDIR}/imgbom_darwin_amd64/imgbom
|
|
${DISTDIR}/imgbom_darwin_amd64/imgbom version -v
|
|
${DISTDIR}/imgbom_darwin_amd64/imgbom docker-archive://${TEST_IMAGE_TAR} -vv -o json > ${REPORT}
|
|
cat ${REPORT}
|
|
|
|
# compare the results to a known good output
|
|
${ACC_DIR}/compare.py \
|
|
${GOLDEN_REPORT} \
|
|
${REPORT}
|