forked from ponylang/ponyc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.drone.yml
91 lines (80 loc) · 2.4 KB
/
.drone.yml
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
debug: true
branches:
- master
- refs/tags/*
clone:
tags: true
build:
# build ponyrt for armhf
arm_ponyrt:
image: sendence/ponyc-builder:0.0.4
commands:
- CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ make arch=armv7-a bits=32 config=$$PONYC_CONFIG libponyrt
- mv build/$$PONYC_CONFIG/libponyrt.a build/arm-libponyrt.a
- rm -r build/$$PONYC_CONFIG
# build ponyc and run tests
main_ponyc:
image: sendence/ponyc-builder:0.0.4
commands:
- make config=$$PONYC_CONFIG arch=ivybridge clean
- make config=$$PONYC_CONFIG arch=ivybridge test
- rm build/$$PONYC_CONFIG/libponyc.tests
- rm build/$$PONYC_CONFIG/libponyrt.tests
# build pony stable
pony-stable:
image: sendence/ponyc-builder:0.0.4
commands:
- export PATH=$PATH:$PWD/build/$$PONYC_CONFIG
- mkdir -p build/pony-stable
- cd build/pony-stable
- git clone https://github.com/jemc/pony-stable.git .
- git checkout f1f7977
- mkdir bin
- ponyc --cpu ivybridge stable -o bin
# get ponyc external dependencies
ponyc_ext_deps:
image: garland/aws-cli-docker
commands:
- aws s3 cp --recursive --exclude '*' --include '*.tar.gz' s3://sendence-dev/ponyc_external_dependencies/ .
publish:
docker:
username: $$DOCKER_HUB_USERNAME
password: $$DOCKER_HUB_PASSWORD
email: $$DOCKER_HUB_EMAIL
repo: sendence/ponyc
file: Dockerfile
storage_driver: overlay
build_args:
- PONYC_CONFIG=$$PONYC_CONFIG
tag:
- $$BRANCH-$$COMMIT-$$PONYC_CONFIG
when:
event: push
docker:
username: $$DOCKER_HUB_USERNAME
password: $$DOCKER_HUB_PASSWORD
email: $$DOCKER_HUB_EMAIL
repo: sendence/ponyc
file: Dockerfile
storage_driver: overlay
build_args:
- PONYC_CONFIG=$$PONYC_CONFIG
tag:
- $$TAG-$$PONYC_CONFIG
when:
event: tag
notify:
slack:
webhook_url: $$SLACK_WEBHOOK
channel: b-ci-status
username: drone-ci
template: >
build `#{{ build.number }}` for {{repo.clone_url}} for commit `{{build.commit}}`
in branch `{{build.branch}}` by `@{{build.author}}` with a message ```{{build.message}}```
finished with a `{{ build.status }}` status in
{{ duration build.started_at build.finished_at }}
Build logs at: https://drone.sendence.com/{{repo.full_name}}/{{ build.number }}
matrix:
PONYC_CONFIG:
- debug
- release