summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml15
-rw-r--r--Dockerfile14
-rw-r--r--Dockerfile.tools9
-rwxr-xr-xbin/docker-build5
-rwxr-xr-xbin/docker-test7
-rwxr-xr-xbin/test2
-rw-r--r--spec/support/shared.rb3
7 files changed, 22 insertions, 33 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 026b6ac..f7d8bcf 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,7 +4,6 @@ variables:
DOCKER_DRIVER: overlay2
MAJOR: 1
TMP_IMAGE: $CI_REGISTRY_IMAGE/tmp:$CI_COMMIT_SHA
- TOOLS_IMAGE: $CI_REGISTRY_IMAGE/tools:$CI_COMMIT_BRANCH
include:
- template: Container-Scanning.gitlab-ci.yml
@@ -21,25 +20,13 @@ stages:
- tag
- release
-tools:
- image: docker:stable
- stage: .pre
- variables:
- script:
- - docker info
- - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- - docker pull $TOOLS_IMAGE || true
- - docker build -t $TOOLS_IMAGE -f Dockerfile.tools .
- - docker image inspect $TOOLS_IMAGE --format='{{.Size}}'
- - docker push $TOOLS_IMAGE
-
build commit:
image: docker:stable
stage: build
script:
- docker info
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- - docker build --build-arg TOOLS_IMAGE=$TOOLS_IMAGE -t $TMP_IMAGE .
+ - docker build -t $TMP_IMAGE .
- docker image inspect $TMP_IMAGE --format='{{.Size}}'
- docker push $TMP_IMAGE
diff --git a/Dockerfile b/Dockerfile
index 80bc7bc..ce53878 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,3 @@
-ARG TOOLS_IMAGE=registry.gitlab.com/gitlab-org/security-products/license-management/tools:master
-
FROM debian:stable-slim AS gem-builder
ENV LM_HOME=/opt/license-management
WORKDIR $LM_HOME
@@ -13,7 +11,17 @@ RUN apt-get update -q \
&& apt-get install -y --no-install-recommends ruby \
&& gem build *.gemspec
-FROM ${TOOLS_IMAGE}
+FROM debian:stable-slim as tools-builder
+ENV ASDF_DATA_DIR="/opt/asdf"
+ENV PATH="${ASDF_DATA_DIR}/shims:${ASDF_DATA_DIR}/bin:${PATH}"
+ENV TERM="xterm"
+ENV HOME=/root
+WORKDIR $HOME
+COPY config /root
+COPY config/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc
+RUN bash /root/install.sh
+
+FROM tools-builder
ENV LM_HOME=/opt/license-management
COPY --from=gem-builder /opt/license-management/*.gem $LM_HOME/
COPY run.sh /
diff --git a/Dockerfile.tools b/Dockerfile.tools
deleted file mode 100644
index f877b43..0000000
--- a/Dockerfile.tools
+++ /dev/null
@@ -1,9 +0,0 @@
-FROM debian:stable-slim
-ENV ASDF_DATA_DIR="/opt/asdf"
-ENV PATH="${ASDF_DATA_DIR}/shims:${ASDF_DATA_DIR}/bin:${PATH}"
-ENV TERM="xterm"
-ENV HOME=/root
-WORKDIR $HOME
-COPY config /root
-COPY config/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc
-RUN bash /root/install.sh
diff --git a/bin/docker-build b/bin/docker-build
index 8b07e0e..39a9160 100755
--- a/bin/docker-build
+++ b/bin/docker-build
@@ -6,10 +6,7 @@ cd "$(dirname "$0")/.."
if command -v docker; then
IMAGE_NAME=${IMAGE_NAME:-$(basename "$PWD"):latest}
- TOOLS_IMAGE=${TOOLS_IMAGE:-$(basename "$PWD")/tools:master}
-
- docker build -t "$TOOLS_IMAGE" -f Dockerfile.tools --pull .
- docker build --build-arg TOOLS_IMAGE="$TOOLS_IMAGE" -t "$IMAGE_NAME" .
+ docker build -t "$IMAGE_NAME" .
else
echo "Install docker: https://docs.docker.com/engine/installation/"
exit 1
diff --git a/bin/docker-test b/bin/docker-test
index 75bfc39..b1965a3 100755
--- a/bin/docker-test
+++ b/bin/docker-test
@@ -9,7 +9,12 @@ PROJECT_PATH="$1"
if [ -z "$LM_HOME" ]; then
export IMAGE_NAME=${IMAGE_NAME:-$(basename "$PWD"):latest}
- docker run --rm --env LICENSE_FINDER_CLI_OPTS --volume "$PROJECT_PATH":/code "$IMAGE_NAME" analyze /code
+ docker run --rm \
+ --env LICENSE_FINDER_CLI_OPTS \
+ --env LM_PYTHON_VERSION \
+ --env LM_REPORT_VERSION \
+ --volume "$PROJECT_PATH":/code \
+ "$IMAGE_NAME" analyze /code
else
/run.sh analyze "$PROJECT_PATH"
fi
diff --git a/bin/test b/bin/test
index 70f8581..b94afd3 100755
--- a/bin/test
+++ b/bin/test
@@ -4,4 +4,4 @@ set -e
cd "$(dirname "$0")/.."
-bundle exec rspec
+bundle exec rspec "$@"
diff --git a/spec/support/shared.rb b/spec/support/shared.rb
index d2cc183..9bfd690 100644
--- a/spec/support/shared.rb
+++ b/spec/support/shared.rb
@@ -7,7 +7,8 @@ RSpec.shared_examples "each report version" do |language, package_manager, branc
runner.clone(url, branch: branch)
report = runner.scan(env: { 'LM_REPORT_VERSION' => version })
- expect(report).to eq(JSON.parse(fixture_file_content("expected/#{language}/#{package_manager}/v#{version}.json")))
+ expected = JSON.parse(fixture_file_content("expected/#{language}/#{package_manager}/v#{version}.json"), symbolize_names: true)
+ expect(report).to eq(expected)
expect(report).to match_schema(version: version)
end
end