-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathappveyor.yml
More file actions
107 lines (89 loc) · 4.59 KB
/
appveyor.yml
File metadata and controls
107 lines (89 loc) · 4.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
version: 0.0.{build}
branches:
only:
- master
image: Ubuntu
environment:
MINIKUBE_VERSION: "1.0.0"
KUBECTL_VERSION: "1.14.1"
# Changes ownership of minikube config dirs to running user
CHANGE_MINIKUBE_NONE_USER: "true"
# Set kubeconfig and minikube paths
KUBECONFIG: "/home/appveyor/.kube/config"
MINIKUBE_HOME: "/home/appveyor/kubernetes"
# Disable prompts for CI
MINIKUBE_WANTUPDATENOTIFICATION: "false"
MINIKUBE_WANTREPORTERRORPROMPT: "false"
#APPVEYOR_SSH_BLOCK: true
APPVEYOR_SSH_KEY: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCmgZMwyHhjf+VteXZ9yVDNPjttoXwY9guLrknAsoQAAOKyMkLck3HgrT/ZARg/hmDAlEIxG504Xb6wBGJpLjxWA0WlSBuk86I9ejnnsEUOu9zSZHXXYYsoR7lhIdOP05Ifs8aYCpONYZkWSzee9cwZlLehHPwLXzM6FcJbaYoXZlGLuxzg3J5MY5MPnFi6uj3h0lJRIfbclU15RT3fNIp9olOUg8WpzqYJWNdv9AZQvF9z+WugVUw9grGrpXbOH7iK+FFN1IgTdiLYrh1SHOi9fGLA4BrOYcyclAvuFryy4t2Wu6wFcm1rZR5sCsEbXRYB3ZheiHeVJd3QWGDjser1u7A5kv391iyiOQSvQBkNWt1t6LYnH5fOL5+6vZMAGm/od7+M8F4ozpeA79opXcn8pHbK9uH8Dw2+/vgJ1BfiL32OCbn/Fby/hyxfwnT6SBllwz2UcNBx6tzCCZAXjugPr2kUvpE100a9Xc7czLOk7KIjznV5gKHnjGP+27q6SDIwN58sSw0R//MqbavhXeenLe/eZ7HU0/l/q6jCdcq2Vay1pyNI+Uga1PuKH/BO8bMseWr0/1Z5TMt3z0lFwCTHBjtgPOj8VCgV8oBOza1+5rxw0rdWrsuBACmJFzduhldCYK4M5gYehb4ZAJyg7U2XL/FuDD8fcw+5dO+Z1YLW3w== openpgp:0x0A2ADCAF"
services:
- docker
init:
- sh: |
#curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -
install:
- sh: |
. ./build/git_versioning.sh
export APP_VERSION=${version}
export FILE_VERSION=${fileVersion}
export INFORMATIONAL_VERSION=${informationVersion}
echo "exported app version is $APP_VERSION"
echo "exported file version is $FILE_VERSION"
echo "exported info version is $INFORMATIONAL_VERSION"
- ps: Update-AppveyorBuild -Version "$env:APP_VERSION+$env:APPVEYOR_BUILD_NUMBER"
- sh: |
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v${MINIKUBE_VERSION}/minikube-linux-amd64
chmod +x minikube
sudo mv minikube /usr/local/bin/.
- sh: |
curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl
chmod +x kubectl
sudo mv kubectl /usr/local/bin/.
build_script:
- sh: |
cd ./src
echo changing API yaml definition version to $APP_VERSION
#MacOS version:
sed -i "s/\(.*version:.*\)/ version: $APP_VERSION/g" MightyCalcAPI.yaml
docker build . --target=lighthouse-runtime -t aleskov/mightycalc-lighthouse:latest -t aleskov/mightycalc-lighthouse:$APP_VERSION -t aleskov/mightycalc-lighthouse:stable
docker build . --target=api-runtime -t aleskov/mightycalc-api:latest -t aleskov/mightycalc-api:$APP_VERSION -t aleskov/mightycalc-api:stable --quiet
docker build . --target=node-runtime -t aleskov/mightycalc-node:latest -t aleskov/mightycalc-node:$APP_VERSION -t aleskov/mightycalc-node:stable --quiet
docker build . --target=build-env -t aleskov/mightycalc-test:latest -t aleskov/mightycalc-test:$APP_VERSION -t aleskov/mightycalc-test:stable --quiet
# docker save aleskov/mightycalc-api:latest > mightycalc-api.tar
# docker save aleskov/mightycalc-node:latest > mightycalc-node.tar
# docker save aleskov/mightycalc-lighthouse:latest > mightycalc-lighthouse.tar
cd ..
docker build . -f ./build/persistence/persistence.dockerfile -t aleskov/mightycalc-persistence:latest -t aleskov/mightycalc-persistence:$APP_VERSION -t aleskov/mightycalc-persistence:stable
test_script:
- sh: |
#set -euo pipefail
#using docker instead of k8s for simplicity, we don't need any external services
#kubectl describe node minikube
curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -
docker image prune -f
sudo -E minikube start --vm-driver=none
echo creating environment for tests
cd ./deploy
./create_environment.sh mk
kubectl exec seed-0 -- pbm localhost:9110 cluster show
#run integration tests in created environment
cd ../test
#./run_tests.sh
./run_api_integration.sh
#kubectl describe node minikube
artifacts:
- path: '**\mighty*.tar'
name: Containers
- path: '**\*logs.zip'
name: TestLogs
deploy_script:
- sh: |
docker login -u $dockerUser -p $dockerPassword
docker push aleskov/mightycalc-persistence
docker push aleskov/mightycalc-api
docker push aleskov/mightycalc-node
docker push aleskov/mightycalc-lighthouse
docker push aleskov/mightycalc-test
on_finish:
- sh: |
find "$APPVEYOR_BUILD_FOLDER" -type f -name '*.trx' -print0 | xargs -0 -I '{}' curl -F 'file=@{}' "https://ci.appveyor.com/api/testresults/mstest/$APPVEYOR_JOB_ID"