Commit Graph

28 Commits

Author SHA1 Message Date
Steven Allen
afda55bd16 fix circleci cache directory list
environment variable expansion doesn't work in the cache_directories section.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-01-08 12:58:19 -08:00
Jeromy
1a75c40f5b require go1.9
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-12-04 09:33:20 -08:00
Łukasz Magiera
2b827d6662 gx updates: Fix CI
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-07-04 21:43:52 +02:00
Jakub Sztandera
f6d70ab541
circleci: separate script to a file
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-02-12 01:18:40 +01:00
Jakub Sztandera
f630222580
make: rework makefiles for non-recursive make and add sharness coverage
This commit introduces non-recursive Makefile infrastructure that replaces current Makefile infrastructure.
It also generally cleanups the Makefiles, separates them into nicer sub-modules and centralizes common operations into single definitions.

It allows to depend on any target that is defined in the makefile, this means that for example `gx install` is called once when `make build test_expensive_sharness` is called instead of 4 or 5 times.

It also makes the dependencies much cleaner and allows for reuse of modules. For example sharness coverage collection (WIP) uses sharness target with amended PATH, previously it might have been possible but not without wiring in the coverage collection into sharness make runner code.

Yes, it is more complex but not much more. There are few rules that have to be followed and few complexities added but IMHO it is worth it.

How to NR-make:
1. If make is to generate some file via a target, it MUST be defined in Rules.mk file in the directory of the target.
2. `Rules.mk` file MUST have `include mk/header.mk` statement as the first line and `include mk/footer.mk` statement as the last line (apart from project root `Rules.mk`).
3. It then MUST be included by the closest `Rules.mk` file up the directory tree.
4. Inside a `Rules.mk` special variable accessed as `$(d)` is defined. Its value is current directory, use it so if the `Rules.mk` file is moved in the tree it still works without a problem. Caution: this variable is not available in the recipe part and MUST NOT be used. Use name of the target or prerequisite to extract it if you need it.
5. Make has only one global scope, this means that name conflicts are a thing. Names SHOULD  follow `VAR_NAME_$(d)` convention. There are exceptions from this rule in form of well defined global variables. Examples: General lists `TGT_BIN`, `CLEAN`; General targets: `TEST`, `COVERAGE`; General variables: `GOFLAGS`, `DEPS_GO`.
3. Any rules, definitions or variables that fit some family SHOULD be defined in `mk/$family.mk` file and included from project root `Rules.mk`

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-02-12 01:18:40 +01:00
Jakub Sztandera
935e01e6b5
Run circle-ci in parallel
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-12-06 23:50:10 +01:00
Jakub Sztandera
bae44adec4
Copy hidden files on CircleCi
As otherwise we loose .git directory which is required for Coveralls to
report Coverage properly.

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-12-06 18:26:42 +01:00
Jakub Sztandera
6696b01c47
Enable parallel builds on CircleCI
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-12-02 23:10:52 +01:00
Jakub Sztandera
36708cc04a
Run coveralls if COVERALLS_TOKEN is set
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-12-02 22:31:04 +01:00
Jeromy
4974136a1a bump go requirement to 1.7
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-08-23 10:46:17 -07:00
Jeromy
563ff4531d don't cache the code we're actually changing
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-05-13 14:52:24 -07:00
Jeromy
ef360a0a2a make circle.yml use make deps instead of trying to be smart
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-05-10 16:39:28 -07:00
Lars Gierth
c103efc1a9 sharness: disable t0300-docker-image on Circle CI
The actual tests for the IPFS daemon within the image,
which were added in the previous commits, made Circle CI unhappy.

Circle CI runs an old version of Docker
which still uses LXC instead of libcontainer.
The existing lxc-attach hack is testament to that.

We might be able to get it work [1][2]
but it's really not worth it at the moment,
and Circle CI isn't a good option for Docker things, right now.

[1] https://jpetazzo.github.io/2014/03/23/lxc-attach-nsinit-nsenter-docker-0-9/
[2] https://github.com/jpetazzo/nsenter

License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2016-02-05 03:11:50 +01:00
Jeromy
4012c6bf1d documentation saves lives
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 16:32:12 -08:00
Jeromy
c900a1e6b9 also, yaml is a terrible format
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 16:29:27 -08:00
Jeromy
49ae649760 lets not have any documentation for this stupid file format, its awesome
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 16:22:03 -08:00
Jeromy
57c6e1edb7 circleci has bad documentation
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 16:17:18 -08:00
Jeromy
89bb3385f5 ciiiii issss awesome
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 11:39:56 -08:00
Jeromy
ed3841f687 on a scale from 1 to annoying, i don't like circleCI anymore at all
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 11:30:10 -08:00
Jeromy
bf3ad94a5b i'm beginning to dislike circleci
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 11:22:09 -08:00
Jeromy
1b6e426fce circleci fun fun fun
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 11:03:48 -08:00
Jeromy
b96c2e6100 circleci verbose
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 10:37:07 -08:00
Jeromy
b16c0ceef3 circle.yml fix?
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 09:34:12 -08:00
Jeromy
1f1c52c394 go go circle tests!
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2016-01-30 09:34:11 -08:00
Christian Couder
29ec4c06e4 test/ipfs-test-lib: add docker support
We have to do something special for CircleCI in docker_exec()
because "docker exec" doesn't work on CircleCi:

https://circleci.com/docs/docker#docker-exec

We indeed get "Unsupported: Exec is not supported by the lxc
driver" with CircleCi, when using "docker exec".

License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2016-01-10 20:19:23 +01:00
Christian Couder
1c403c0380 CircleCI: add docker service
License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2016-01-10 20:19:23 +01:00
Jeromy
1e1213c1f6 use go1.5 for circleCI (snippet from circle support)
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-11 23:04:41 -07:00
Juan Batiz-Benet
15d9a5ccae add circleci support
License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-06-26 02:07:58 -07:00