Skip to content

Commit

Permalink
Move to drone 0.5 (vmware#5043)
Browse files Browse the repository at this point in the history
* Move to drone 0.5

Changes

- Dockerfile.test changed to reduce number of layers and overall size
- All drone yml files changed to work with drone 0.5 (except nightly)
- local-integration-test.sh changed to work with new drone0.5 cli
  which does not accept the yaml from stdin, we now create a temp
  file and run the tests and then delete the temp file
- Corresponding change in internal repo to add/update secrets to
  drone server (will push once this is merged)

Fixes vmware#3890 vmware#4268
  • Loading branch information
jakedsouza authored May 9, 2017
1 parent f08a969 commit 4ccafed
Show file tree
Hide file tree
Showing 14 changed files with 241 additions and 216 deletions.
53 changes: 29 additions & 24 deletions .drone.local.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,40 @@
---
clone:
path: github.com/vmware/vic
tags: true
workspace:
base: /go
path: src/github.com/vmware/vic

build:
integration-test:
image: $${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.29}
pipeline:
clone:
image: plugins/git
tags: true
# dont clone submodules
recursive: false

vic-integration-test-on-pr:
image: ${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.30}
pull: true
environment:
BIN: bin
GOPATH: /drone
GOPATH: /go
SHELL: /bin/bash
VIC_ESX_TEST_URL: $$VIC_ESX_TEST_URL
VIC_ESX_TEST_URL: ${VIC_ESX_TEST_URL}
LOG_TEMP_DIR: install-logs
DRONE_SERVER: $$DRONE_SERVER
GITHUB_AUTOMATION_API_KEY: $$GITHUB_AUTOMATION_API_KEY
DRONE_TOKEN: $$DRONE_TOKEN
TEST_URL_ARRAY: $$TEST_URL_ARRAY
TEST_USERNAME: $$TEST_USERNAME
TEST_PASSWORD: $$TEST_PASSWORD
TEST_DATASTORE: $$TEST_DATASTORE
TEST_TIMEOUT: $$TEST_TIMEOUT
DRONE_SERVER: ${DRONE_SERVER}
GITHUB_AUTOMATION_API_KEY: ${GITHUB_AUTOMATION_API_KEY}
DRONE_TOKEN: ${DRONE_TOKEN}
TEST_URL_ARRAY: ${TEST_URL_ARRAY}
TEST_USERNAME: ${TEST_USERNAME}
TEST_PASSWORD: ${TEST_PASSWORD}
TEST_DATASTORE: ${TEST_DATASTORE}
TEST_TIMEOUT: ${TEST_TIMEOUT}
GOVC_INSECURE: true
GOVC_USERNAME: $$TEST_USERNAME
GOVC_PASSWORD: $$TEST_PASSWORD
GOVC_RESOURCE_POOL: $$TEST_RESOURCE
GOVC_DATASTORE: $$TEST_DATASTORE
GS_PROJECT_ID: $$GS_PROJECT_ID
GS_CLIENT_EMAIL: $$GS_CLIENT_EMAIL
GS_PRIVATE_KEY: $$GS_PRIVATE_KEY
DOMAIN: $$DOMAIN
GOVC_USERNAME: ${TEST_USERNAME}
GOVC_PASSWORD: ${TEST_PASSWORD}
GOVC_DATASTORE: ${TEST_DATASTORE}
GS_PROJECT_ID: ${GS_PROJECT_ID}
GS_CLIENT_EMAIL: ${GS_CLIENT_EMAIL}
GS_PRIVATE_KEY: ${GS_PRIVATE_KEY}
DOMAIN: ${DOMAIN}
commands:
- tests/integration-test.sh
#- pybot tests/test-cases/Group1-Docker-Commands/1-13-Docker-Version.robot
2 changes: 1 addition & 1 deletion .drone.nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ clone:

build:
integration-test:
image: $${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.29}
image: $${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.30}
pull: true
environment:
BIN: vic
Expand Down
2 changes: 1 addition & 1 deletion .drone.ova.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ clone:

build:
unified-ova:
image: $${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.29}
image: $${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.30}
pull: true
environment:
BIN: bin
Expand Down
154 changes: 76 additions & 78 deletions .drone.yml
Original file line number Diff line number Diff line change
@@ -1,44 +1,45 @@
# After any change to this file you MUST regenerate and checkin
# a .drone.sec even if no secrets were changed. The secrets file is tied
# to a specific .drone.yml so artifacts will not be uploaded to (OR DOWNLOADED
# FROM) GCP in following builds without an updated .drone.sec
#
# When you are ready to submit a pull request, you must regenerate .drone.sec for the vmware/vic repo:
#
# $ drone -s https://ci.vmware.run -t ${DRONE_TOKEN} secure --in "secrets.yml" --out ".drone.sec" --repo vmware/vic --yaml ".drone.yml"
#
# After any change to this file you MUST re-sign and checkin the .drone.yml.sig
# When you are ready to submit a pull request, you must regenerate .drone.yml.sig for the vmware/vic repo:
# $ drone sign -s https://ci.vcna.io -t ${DRONE_TOKEN} vmware/vic
# The secrets file is in our local git repo. Ask mhagen for access.

---
clone:
path: github.com/vmware/vic
tags: true
workspace:
base: /go
path: src/github.com/vmware/vic

pipeline:
clone:
image: plugins/git
tags: true
# dont clone submodules
recursive: false

build:
prevent-concurrent-builds:
image: $${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.29}
wait-for-build:
image: ${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.30}
pull: true
environment:
BIN: bin
GOPATH: /drone
GOPATH: /go
SHELL: /bin/bash
TEST_URL_ARRAY: $$TEST_URL_ARRAY
DRONE_SERVER: $$DRONE_SERVER
DRONE_TOKEN: $$DRONE_TOKEN
TEST_URL_ARRAY: ${TEST_URL_ARRAY}
DRONE_SERVER: ${DRONE_SERVER}
DRONE_TOKEN: ${DRONE_TOKEN}
commands:
- tests/wait_until_previous_builds_complete.sh

vic:
image: $${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.29}
vic-engine:
image: ${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.30}
pull: true
environment:
BIN: bin
GOPATH: /drone
GOPATH: /go
SHELL: /bin/bash
TEST_URL_ARRAY: $$TEST_URL_ARRAY
TEST_USERNAME: $$TEST_USERNAME
TEST_PASSWORD: $$TEST_PASSWORD
BUILD_NUMBER: $$BUILD_NUMBER
COMMIT: $$COMMIT
TEST_URL_ARRAY: ${TEST_URL_ARRAY}
TEST_USERNAME: ${TEST_USERNAME}
TEST_PASSWORD: ${TEST_PASSWORD}
BUILD_NUMBER: ${DRONE_BUILD_NUMBER}
COMMIT: ${DRONE_COMMIT}
commands:
- make mark
- make -j3 all
Expand All @@ -50,46 +51,44 @@ build:
- export VIC_ESX_URL_ARRAY="`tests/get_test_url.sh`"
- make -j3 test
- make sincemark
when:
status: success

integration-test-on-pr:
image: $${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.29}
vic-integration-test-on-pr:
image: ${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.30}
pull: true
privileged: true
environment:
BIN: bin
GOPATH: /drone
GOPATH: /go
SHELL: /bin/bash
LOG_TEMP_DIR: install-logs
GITHUB_AUTOMATION_API_KEY: $$GITHUB_AUTOMATION_API_KEY
DRONE_SERVER: $$DRONE_SERVER
DRONE_TOKEN: $$DRONE_TOKEN
TEST_URL_ARRAY: $$TEST_URL_ARRAY
TEST_USERNAME: $$TEST_USERNAME
TEST_PASSWORD: $$TEST_PASSWORD
TEST_DATASTORE: $$TEST_DATASTORE
TEST_TIMEOUT: $$TEST_TIMEOUT
REPORTING_SERVER_URL: $$REPORTING_SERVER_URL
WINDOWS_URL: $$WINDOWS_URL
WINDOWS_USERNAME: $$WINDOWS_USERNAME
WINDOWS_PASSWORD: $$WINDOWS_PASSWORD
GITHUB_AUTOMATION_API_KEY: ${GITHUB_AUTOMATION_API_KEY}
DRONE_SERVER: ${DRONE_SERVER}
DRONE_TOKEN: ${DRONE_TOKEN}
TEST_URL_ARRAY: ${TEST_URL_ARRAY}
TEST_USERNAME: ${TEST_USERNAME}
TEST_PASSWORD: ${TEST_PASSWORD}
TEST_DATASTORE: ${TEST_DATASTORE}
TEST_TIMEOUT: ${TEST_TIMEOUT}
REPORTING_SERVER_URL: ${REPORTING_SERVER_URL}
GOVC_INSECURE: true
GOVC_USERNAME: $$TEST_USERNAME
GOVC_PASSWORD: $$TEST_PASSWORD
GOVC_RESOURCE_POOL: $$TEST_RESOURCE
GOVC_DATASTORE: $$TEST_DATASTORE
GS_PROJECT_ID: $$GS_PROJECT_ID
GS_CLIENT_EMAIL: $$GS_CLIENT_EMAIL
GS_PRIVATE_KEY: $$GS_PRIVATE_KEY
DOMAIN: $$CI_DOMAIN
GOVC_USERNAME: ${TEST_USERNAME}
GOVC_PASSWORD: ${TEST_PASSWORD}
GOVC_DATASTORE: ${TEST_DATASTORE}
GS_PROJECT_ID: ${GS_PROJECT_ID}
GS_CLIENT_EMAIL: ${GS_CLIENT_EMAIL}
GS_PRIVATE_KEY: ${GS_PRIVATE_KEY}
DOMAIN: ${CI_DOMAIN}
commands:
- make mark
- tests/integration-test.sh
- make sincemark
when:
success: true
status: success

vicui:
image: $${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.29}
vic-ui:
image: ${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.30}
pull: true
environment:
BIN: bin
Expand All @@ -98,15 +97,15 @@ build:
- make vic-ui-plugins
- make sincemark
when:
success: true
status: success

bundle:
image: golang:1.8
pull: true
environment:
BIN: bin
BIN_TEMP_DIR: bin/vic
GOPATH: /drone
GOPATH: /go
SHELL: /bin/bash
commands:
- make mark
Expand All @@ -131,25 +130,22 @@ build:
repo: vmware/vic
event: [ push, tag ]
branch: [ master, releases/*, refs/tags/* ]
success: true
status: success

notify:
slack:
webhook_url: $$SLACK_URL
channel: mwilliamson-staff
notify-slack:
image: plugins/slack
webhook: ${SLACK_URL}
username: drone
template: >
build https://ci.vmware.run/vmware/vic/{{ build.number }} finished with a {{ build.status }} status, find the logs here: https://console.cloud.google.com/m/cloudstorage/b/vic-ci-logs/o/integration_logs_{{ build.number }}_{{ build.commit }}.zip?authuser=1
build https://ci.vcna.io/vmware/vic/{{ build.number }} finished with a {{ build.status }} status, find the logs here: https://console.cloud.google.com/m/cloudstorage/b/vic-ci-logs/o/integration_logs_{{ build.number }}_{{ build.commit }}.zip?authuser=1
when:
repo: vmware/vic
event: [ push, tag ]
branch: [ master, releases/*, refs/tags/* ]
failure: true
status: failure

publish:
gcs:
auth_key: >
$$SERVICE_ACCOUNT_KEY
publish-gcs-builds:
image: maplain/drone-gcs:latest
pull: true
source: bundle
target: vic-engine-builds
acl:
Expand All @@ -159,10 +155,11 @@ publish:
repo: vmware/vic
event: [ push ]
branch: [ master, releases/* ]
success: true
gcs:
auth_key: >
$$SERVICE_ACCOUNT_KEY
status: success

publish-gcs-releases:
image: maplain/drone-gcs:latest
pull: true
source: bundle
target: vic-engine-releases
acl:
Expand All @@ -172,13 +169,14 @@ publish:
repo: vmware/vic
event: [ push, tag ]
branch: [ refs/tags/* ]
success: true
coverage:
status: success

report-coverage:
image: plugins/coverage
server: https://coverage.vmware.run
token: $$GITHUB_AUTOMATION_API_KEY
include: /drone/src/github.com/vmware/vic/.cover/cover.out
token: ${GITHUB_AUTOMATION_API_KEY}
pattern: .cover/cover.out
when:
repo: vmware/vic
event: [ push, tag ]
branch: [ master, releases/*, refs/tags/* ]
success: true
repo: vmware/vic
status: success
1 change: 1 addition & 0 deletions .drone.yml.sig
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
eyJhbGciOiJIUzI1NiJ9.IyBBZnRlciBhbnkgY2hhbmdlIHRvIHRoaXMgZmlsZSB5b3UgTVVTVCByZS1zaWduIGFuZCBjaGVja2luIHRoZSAuZHJvbmUueW1sLnNpZwojIFdoZW4geW91IGFyZSByZWFkeSB0byBzdWJtaXQgYSBwdWxsIHJlcXVlc3QsIHlvdSBtdXN0IHJlZ2VuZXJhdGUgLmRyb25lLnltbC5zaWcgZm9yIHRoZSB2bXdhcmUvdmljIHJlcG86CiMgJCBkcm9uZSBzaWduIC1zIGh0dHBzOi8vY2kudmNuYS5pbyAtdCAke0RST05FX1RPS0VOfSB2bXdhcmUvdmljCiMgVGhlIHNlY3JldHMgZmlsZSBpcyBpbiBvdXIgbG9jYWwgZ2l0IHJlcG8uICBBc2sgbWhhZ2VuIGZvciBhY2Nlc3MuCgotLS0Kd29ya3NwYWNlOgogIGJhc2U6IC9nbwogIHBhdGg6IHNyYy9naXRodWIuY29tL3Ztd2FyZS92aWMKCnBpcGVsaW5lOgogIGNsb25lOgogICAgaW1hZ2U6IHBsdWdpbnMvZ2l0CiAgICB0YWdzOiB0cnVlCiAgICAjIGRvbnQgY2xvbmUgc3VibW9kdWxlcwogICAgcmVjdXJzaXZlOiBmYWxzZQoKICB3YWl0LWZvci1idWlsZDoKICAgIGltYWdlOiAke1RFU1RfQlVJTERfSU1BR0U9Z2NyLmlvL2VtaW5lbnQtbmF0aW9uLTg3MzE3L3ZpYy1pbnRlZ3JhdGlvbi10ZXN0OjEuMzB9CiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgQklOOiBiaW4KICAgICAgR09QQVRIOiAvZ28KICAgICAgU0hFTEw6IC9iaW4vYmFzaAogICAgICBURVNUX1VSTF9BUlJBWTogJHtURVNUX1VSTF9BUlJBWX0KICAgICAgRFJPTkVfU0VSVkVSOiAke0RST05FX1NFUlZFUn0KICAgICAgRFJPTkVfVE9LRU46ICR7RFJPTkVfVE9LRU59CiAgICBjb21tYW5kczoKICAgICAgLSB0ZXN0cy93YWl0X3VudGlsX3ByZXZpb3VzX2J1aWxkc19jb21wbGV0ZS5zaAoKICB2aWMtZW5naW5lOgogICAgaW1hZ2U6ICR7VEVTVF9CVUlMRF9JTUFHRT1nY3IuaW8vZW1pbmVudC1uYXRpb24tODczMTcvdmljLWludGVncmF0aW9uLXRlc3Q6MS4zMH0KICAgIHB1bGw6IHRydWUKICAgIGVudmlyb25tZW50OgogICAgICBCSU46IGJpbgogICAgICBHT1BBVEg6IC9nbwogICAgICBTSEVMTDogL2Jpbi9iYXNoCiAgICAgIFRFU1RfVVJMX0FSUkFZOiAgJHtURVNUX1VSTF9BUlJBWX0KICAgICAgVEVTVF9VU0VSTkFNRTogICR7VEVTVF9VU0VSTkFNRX0KICAgICAgVEVTVF9QQVNTV09SRDogICR7VEVTVF9QQVNTV09SRH0KICAgICAgQlVJTERfTlVNQkVSOiAke0RST05FX0JVSUxEX05VTUJFUn0KICAgICAgQ09NTUlUOiAke0RST05FX0NPTU1JVH0KICAgIGNvbW1hbmRzOgogICAgICAtIG1ha2UgbWFyawogICAgICAtIG1ha2UgLWozIGFsbAogICAgICAtIG1ha2Ugc2luY2VtYXJrCiAgICAgIC0gbWFrZSBtYXJrCiAgICAgIC0gZWNobyBgbHMgdmVuZG9yL2dpdGh1Yi5jb20vdm13YXJlL2dvdm1vbWkvdmltMjUvbWV0aG9kc2AKICAgICAgLSBlY2hvIGBscyB2ZW5kb3IvZ2l0aHViLmNvbS92bXdhcmUvZ292bW9taS92aW0yNS90eXBlc2AKICAgICAgLSBlY2hvIGBscyB2ZW5kb3IvZ2l0aHViLmNvbS9kb2NrZXIvZG9ja2VyL3ZlbmRvci9naXRodWIuY29tL29wZW5jb250YWluZXJzL3J1bmMvbGliY29udGFpbmVyL3N5c3RlbWAKICAgICAgLSBleHBvcnQgVklDX0VTWF9VUkxfQVJSQVk9ImB0ZXN0cy9nZXRfdGVzdF91cmwuc2hgIgogICAgICAtIG1ha2UgLWozIHRlc3QKICAgICAgLSBtYWtlIHNpbmNlbWFyawogICAgd2hlbjoKICAgICAgc3RhdHVzOiAgc3VjY2VzcwoKICB2aWMtaW50ZWdyYXRpb24tdGVzdC1vbi1wcjoKICAgIGltYWdlOiAke1RFU1RfQlVJTERfSU1BR0U9Z2NyLmlvL2VtaW5lbnQtbmF0aW9uLTg3MzE3L3ZpYy1pbnRlZ3JhdGlvbi10ZXN0OjEuMzB9CiAgICBwdWxsOiB0cnVlCiAgICBwcml2aWxlZ2VkOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgQklOOiBiaW4KICAgICAgR09QQVRIOiAvZ28KICAgICAgU0hFTEw6IC9iaW4vYmFzaAogICAgICBMT0dfVEVNUF9ESVI6IGluc3RhbGwtbG9ncwogICAgICBHSVRIVUJfQVVUT01BVElPTl9BUElfS0VZOiAgJHtHSVRIVUJfQVVUT01BVElPTl9BUElfS0VZfQogICAgICBEUk9ORV9TRVJWRVI6ICAke0RST05FX1NFUlZFUn0KICAgICAgRFJPTkVfVE9LRU46ICAke0RST05FX1RPS0VOfQogICAgICBURVNUX1VSTF9BUlJBWTogICR7VEVTVF9VUkxfQVJSQVl9CiAgICAgIFRFU1RfVVNFUk5BTUU6ICAke1RFU1RfVVNFUk5BTUV9CiAgICAgIFRFU1RfUEFTU1dPUkQ6ICAke1RFU1RfUEFTU1dPUkR9CiAgICAgIFRFU1RfREFUQVNUT1JFOiAke1RFU1RfREFUQVNUT1JFfQogICAgICBURVNUX1RJTUVPVVQ6ICR7VEVTVF9USU1FT1VUfQogICAgICBSRVBPUlRJTkdfU0VSVkVSX1VSTDogJHtSRVBPUlRJTkdfU0VSVkVSX1VSTH0KICAgICAgR09WQ19JTlNFQ1VSRTogdHJ1ZQogICAgICBHT1ZDX1VTRVJOQU1FOiAgJHtURVNUX1VTRVJOQU1FfQogICAgICBHT1ZDX1BBU1NXT1JEOiAgJHtURVNUX1BBU1NXT1JEfQogICAgICBHT1ZDX0RBVEFTVE9SRTogJHtURVNUX0RBVEFTVE9SRX0KICAgICAgR1NfUFJPSkVDVF9JRDogJHtHU19QUk9KRUNUX0lEfQogICAgICBHU19DTElFTlRfRU1BSUw6ICR7R1NfQ0xJRU5UX0VNQUlMfQogICAgICBHU19QUklWQVRFX0tFWTogJHtHU19QUklWQVRFX0tFWX0KICAgICAgRE9NQUlOOiAke0NJX0RPTUFJTn0KICAgIGNvbW1hbmRzOgogICAgICAtIG1ha2UgbWFyawogICAgICAtIHRlc3RzL2ludGVncmF0aW9uLXRlc3Quc2gKICAgICAgLSBtYWtlIHNpbmNlbWFyawogICAgd2hlbjoKICAgICAgc3RhdHVzOiAgc3VjY2VzcwoKICB2aWMtdWk6CiAgICBpbWFnZTogJHtURVNUX0JVSUxEX0lNQUdFPWdjci5pby9lbWluZW50LW5hdGlvbi04NzMxNy92aWMtaW50ZWdyYXRpb24tdGVzdDoxLjMwfQogICAgcHVsbDogdHJ1ZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIEJJTjogYmluCiAgICBjb21tYW5kczoKICAgICAgLSBtYWtlIG1hcmsKICAgICAgLSBtYWtlIHZpYy11aS1wbHVnaW5zCiAgICAgIC0gbWFrZSBzaW5jZW1hcmsKICAgIHdoZW46CiAgICAgIHN0YXR1czogIHN1Y2Nlc3MKCiAgYnVuZGxlOgogICAgaW1hZ2U6IGdvbGFuZzoxLjgKICAgIHB1bGw6IHRydWUKICAgIGVudmlyb25tZW50OgogICAgICBCSU46IGJpbgogICAgICBCSU5fVEVNUF9ESVI6IGJpbi92aWMKICAgICAgR09QQVRIOiAvZ28KICAgICAgU0hFTEw6IC9iaW4vYmFzaAogICAgY29tbWFuZHM6CiAgICAgIC0gbWFrZSBtYXJrCiAgICAgIC0gcm0gLXJmICRCSU5fVEVNUF9ESVIKICAgICAgLSBta2RpciAtcCAkQklOX1RFTVBfRElSL3VpCiAgICAgIC0gY3AgLXJmIHVpL2luc3RhbGxlci8qICRCSU5fVEVNUF9ESVIvdWkKICAgICAgLSBjcCBMSUNFTlNFICRCSU5fVEVNUF9ESVIKICAgICAgLSBjcCBkb2MvYnVuZGxlL1JFQURNRSAkQklOX1RFTVBfRElSCiAgICAgIC0gY3AgJEJJTi92aWMtbWFjaGluZSogJEJJTl9URU1QX0RJUgogICAgICAtIGNwICRCSU4vdmljLXVpKiAkQklOX1RFTVBfRElSCiAgICAgIC0gY3AgJEJJTi9hcHBsaWFuY2UuaXNvICRCSU5fVEVNUF9ESVIKICAgICAgLSBjcCAkQklOL2Jvb3RzdHJhcC5pc28gJEJJTl9URU1QX0RJUgogICAgICAtIHRhciBjenZmICRCSU4vdmljXyQkQlVJTERfTlVNQkVSLnRhci5neiAtQyAkQklOIHZpYwogICAgICAtIHNoYXN1bSAtYSAyNTYgJEJJTi92aWNfJCRCVUlMRF9OVU1CRVIudGFyLmd6CiAgICAgIC0gc2hhc3VtIC1hIDEgJEJJTi92aWNfJCRCVUlMRF9OVU1CRVIudGFyLmd6CiAgICAgIC0gbWQ1c3VtICRCSU4vdmljXyQkQlVJTERfTlVNQkVSLnRhci5negogICAgICAtIGR1IC1rcyAkQklOL3ZpY18kJEJVSUxEX05VTUJFUi50YXIuZ3ogfCBhd2sgJ3twcmludCAkMSAvIDEwMjR9JyB8IHsgcmVhZCB4OyBlY2hvICR4IE1COyB9CiAgICAgIC0gbWtkaXIgYnVuZGxlCiAgICAgIC0gY3AgJEJJTi92aWNfJCRCVUlMRF9OVU1CRVIudGFyLmd6IGJ1bmRsZQogICAgICAtIG1ha2Ugc2luY2VtYXJrCiAgICB3aGVuOgogICAgICByZXBvOiB2bXdhcmUvdmljCiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZyBdCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIsIHJlbGVhc2VzLyosIHJlZnMvdGFncy8qIF0KICAgICAgc3RhdHVzOiBzdWNjZXNzCgogIG5vdGlmeS1zbGFjazoKICAgIGltYWdlOiBwbHVnaW5zL3NsYWNrCiAgICB3ZWJob29rOiAke1NMQUNLX1VSTH0KICAgIHVzZXJuYW1lOiBkcm9uZQogICAgdGVtcGxhdGU6ID4KICAgICAgYnVpbGQgaHR0cHM6Ly9jaS52Y25hLmlvL3Ztd2FyZS92aWMve3sgYnVpbGQubnVtYmVyIH19IGZpbmlzaGVkIHdpdGggYSB7eyBidWlsZC5zdGF0dXMgfX0gc3RhdHVzLCBmaW5kIHRoZSBsb2dzIGhlcmU6IGh0dHBzOi8vY29uc29sZS5jbG91ZC5nb29nbGUuY29tL20vY2xvdWRzdG9yYWdlL2IvdmljLWNpLWxvZ3Mvby9pbnRlZ3JhdGlvbl9sb2dzX3t7IGJ1aWxkLm51bWJlciB9fV97eyBidWlsZC5jb21taXQgfX0uemlwP2F1dGh1c2VyPTEKICAgIHdoZW46CiAgICAgIHJlcG86IHZtd2FyZS92aWMKICAgICAgYnJhbmNoOiBbIG1hc3RlciwgcmVsZWFzZXMvKiwgcmVmcy90YWdzLyogXQogICAgICBzdGF0dXM6IGZhaWx1cmUKCiAgcHVibGlzaC1nY3MtYnVpbGRzOgogICAgaW1hZ2U6IG1hcGxhaW4vZHJvbmUtZ2NzOmxhdGVzdAogICAgcHVsbDogdHJ1ZQogICAgc291cmNlOiBidW5kbGUKICAgIHRhcmdldDogdmljLWVuZ2luZS1idWlsZHMKICAgIGFjbDoKICAgICAgLSBhbGxVc2VyczpSRUFERVIKICAgIGNhY2hlX2NvbnRyb2w6IHB1YmxpYyxtYXgtYWdlPTM2MDAKICAgIHdoZW46CiAgICAgIHJlcG86IHZtd2FyZS92aWMKICAgICAgZXZlbnQ6IFsgcHVzaCBdCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIsIHJlbGVhc2VzLyogXQogICAgICBzdGF0dXM6IHN1Y2Nlc3MKCiAgcHVibGlzaC1nY3MtcmVsZWFzZXM6CiAgICBpbWFnZTogbWFwbGFpbi9kcm9uZS1nY3M6bGF0ZXN0CiAgICBwdWxsOiB0cnVlCiAgICBzb3VyY2U6IGJ1bmRsZQogICAgdGFyZ2V0OiB2aWMtZW5naW5lLXJlbGVhc2VzCiAgICBhY2w6CiAgICAgIC0gYWxsVXNlcnM6UkVBREVSCiAgICBjYWNoZV9jb250cm9sOiBwdWJsaWMsbWF4LWFnZT0zNjAwCiAgICB3aGVuOgogICAgICByZXBvOiB2bXdhcmUvdmljCiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCiAgICAgIHN0YXR1czogc3VjY2VzcwoKICByZXBvcnQtY292ZXJhZ2U6CiAgICBpbWFnZTogcGx1Z2lucy9jb3ZlcmFnZQogICAgc2VydmVyOiBodHRwczovL2NvdmVyYWdlLnZtd2FyZS5ydW4KICAgIHRva2VuOiAke0dJVEhVQl9BVVRPTUFUSU9OX0FQSV9LRVl9CiAgICBwYXR0ZXJuOiAuY292ZXIvY292ZXIub3V0CiAgICB3aGVuOgogICAgICBicmFuY2g6IFsgbWFzdGVyLCByZWxlYXNlcy8qLCByZWZzL3RhZ3MvKiBdCiAgICAgIHJlcG86IHZtd2FyZS92aWMKICAgICAgc3RhdHVzOiBzdWNjZXNzCg.Brnw-7-Z5uEx6HIKi6OYQQBOtaB1ZcViNF6rsZgo1FE
12 changes: 5 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,9 @@ To help write conforming commit messages, it is recommended to set up the [git-g
curl https://cdn.rawgit.com/tommarshall/git-good-commit/v0.6.1/hook.sh > .git/hooks/commit-msg && chmod +x .git/hooks/commit-msg
```

[dronevic]:https://ci.vmware.run/vmware/vic
[e2edronevic]:https://e2e.ci.vmware.run/vmware/vic
[dronevic]:https://ci.vcna.io/vmware/vic
[dronesrc]:https://github.com/drone/drone
[dronecli]:http://readme.drone.io/usage/getting-started-cli/
[dronecli]:http://readme.drone.io/0.5/install/cli/
[commithook]:https://github.com/tommarshall/git-good-commit

## Automated Testing
Expand All @@ -127,8 +126,7 @@ to the commit message or the PR title.
- To run the `1-01-Docker-Info` suite: `[specific ci=1-01-Docker-Info]`
- To run all suites under the `Group1-Docker-Commands` group: `[specific ci=Group1-Docker-Commands]`

You can run the tests locally before making a PR or view the Drone build results for [unit tests][dronevic]
and [integration tests][e2edronevic].
You can run the tests locally before making a PR or view the Drone build results for [unit tests and integration tests][dronevic]

If you don't have a running ESX required for tests, you can leverage the automated Drone servers for
running tests. Add `WIP` (work in progress) to the PR title to alert reviewers that the PR is not ready to be merged.
Expand All @@ -141,13 +139,13 @@ Developers need to install [Drone CLI][dronecli].
#### Unit tests

``` shell
drone exec --yaml .drone.yml -e VIC_ESX_TEST_URL="<USER>:<PASS>@<ESX IP>"
drone exec --repo.trusted --secret VIC_ESX_TEST_URL="<USER>:<PASS>@<ESX IP>" .drone.yml
```

If you don't have a running ESX, tests requiring an ESX can be skipped with the following:

``` shell
drone exec --yaml .drone.yml -e VIC_ESX_TEST_URL=""
drone exec --repo.trusted
```

#### Integration tests
Expand Down
Loading

0 comments on commit 4ccafed

Please sign in to comment.