Skip to content
This repository was archived by the owner on Jan 11, 2023. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
version: 2
jobs:
test:
working_directory: /go/src/github.com/Azure/acs-engine
docker:
- image: microsoft/acs-engine:latest
steps:
- setup_remote_docker:
reusable: true
- checkout
- run:
name: Build current image
command: |
TAG="0.1.${CIRCLE_BUILD_NUM}"
docker build -t microsoft/acs-engine:$TAG .
- run:
name: Run style and unit tests
command: docker run --rm microsoft/acs-engine:$TAG make test-style build test
- run:
name: Generate test coverage results
command: make bootstrap build coverage
command: docker run --rm microsoft/acs-engine:$TAG make build coverage
e2e:
working_directory: /go/src/github.com/Azure/acs-engine
docker:
- image: microsoft/acs-engine:latest
steps:
- setup_remote_docker:
reusable: true
- checkout
- run:
name: Build current image
command: |
TAG="0.1.${CIRCLE_BUILD_NUM}"
docker build -t microsoft/acs-engine:$TAG .
- run:
name: e2e tests
command: |
TAG="0.1.${CIRCLE_BUILD_NUM}"
cat > ./env.list <<END
BUILD_NUMBER=${CIRCLE_BUILD_NUM}
RESOURCE_GROUP_PREFIX=y
SKIP_METRICS=y

SERVICE_PRINCIPAL_CLIENT_ID=${SERVICE_PRINCIPAL_CLIENT_ID}
SERVICE_PRINCIPAL_CLIENT_SECRET=${SERVICE_PRINCIPAL_CLIENT_SECRET}
TENANT_ID=${TENANT_ID}
SUBSCRIPTION_ID=${SUBSCRIPTION_ID}
CLUSTER_SERVICE_PRINCIPAL_CLIENT_ID=${CLUSTER_SERVICE_PRINCIPAL_CLIENT_ID}
CLUSTER_SERVICE_PRINCIPAL_CLIENT_SECRET=${CLUSTER_SERVICE_PRINCIPAL_CLIENT_SECRET}
CERT_KEYVAULT_ID=${CERT_KEYVAULT_ID}
CERT_SECRET_URL=${CERT_SECRET_URL}
COVERALLS_TOKEN=${COVERALLS_TOKEN}

STAGE_TIMEOUT_MIN=30
NUM_OF_RETRIES=2
TEST_CONFIG=test/acse-conf/acse-pr.json
END
docker run --rm --env-file ./env.list microsoft/acs-engine:$TAG make build test-e2e

workflows:
version: 2
build_and_test:
jobs:
- test
- e2e-hold:
type: approval
requires:
- test
- e2e:
requires:
- e2e-hold
5 changes: 4 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,7 @@
./acs-engine.exe
./_output
./.git
./test/acs-engine-test/acs-engine-test
./test/acs-engine-test/acs-engine-test
## autogenerated
./pkg/i18n/translations.go
./pkg/acsengine/templates.go
9 changes: 6 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@ RUN git clone https://github.com/akesterson/cmdarg.git /tmp/cmdarg \
RUN git clone https://github.com/akesterson/shunit.git /tmp/shunit \
&& cd /tmp/shunit && make install && rm -rf /tmp/shunit

# Used by some CI jobs
ADD ./test/bootstrap/checkout-pr.sh /tmp/checkout-pr.sh

WORKDIR /gopath/src/github.com/Azure/acs-engine

# Cache vendor layer where possible
ADD Makefile versioning.mk glide.yaml glide.lock /gopath/src/github.com/Azure/acs-engine/
RUN make bootstrap

ADD . /gopath/src/github.com/Azure/acs-engine
6 changes: 5 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,17 @@ checksum:
clean:
@rm -rf $(BINDIR) ./_dist

test: test_fmt
test: test-style
go test -v $(GOFILES)

.PHONY: test-style
test-style:
@scripts/validate-go.sh

.PHONY: test-e2e
test-e2e:
@test/e2e.sh

HAS_GLIDE := $(shell command -v glide;)
HAS_GOX := $(shell command -v gox;)
HAS_GIT := $(shell command -v git;)
Expand Down
2 changes: 0 additions & 2 deletions test/acs-engine-test.sh → test/e2e.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,4 @@ ROOT="${DIR}/.."
[[ ! -z "${CLUSTER_SERVICE_PRINCIPAL_CLIENT_SECRET:-}" ]] || (echo "Must specify CLUSTER_SERVICE_PRINCIPAL_CLIENT_SECRET" && exit -1)
[[ ! -z "${STAGE_TIMEOUT_MIN:-}" ]] || (echo "Must specify STAGE_TIMEOUT_MIN" && exit -1)

make -C "${ROOT}" ci

${ROOT}/test/acs-engine-test/acs-engine-test -c ${TEST_CONFIG:-${ROOT}/test/acs-engine-test/acs-engine-test.json} -d ${ROOT}