sociomantic-tsunami / beaver Goto Github PK
View Code? Open in Web Editor NEWShared Travis scripts to be used to reduce CI boilerplate
License: Boost Software License 1.0
Shared Travis scripts to be used to reduce CI boilerplate
License: Boost Software License 1.0
See #42 (comment)
Needs confirmation though.
Although projects run make codecov
(https://github.com/sociomantic-tsunami/ocean/blob/e1eecc4d3621cb502f8bc265f00da49be9e2ef54/.travis.yml#L38) they don't produce any coverage reports to run, as beaver dlang make
doesn't pass -cov
to the DFLAGS
: https://github.com/sociomantic-tsunami/beaver/blob/v0.x.x/bin/dlang/make
What do you think about auto-generating Dockerfile by beaver completely? (while still keeping separate docker/build
script for repo specific preparations). Amount of duplicated stuff there starts to pile up when you look at sociomantic-tsunami/ocean#192
Would be cool to just do this:
install:
- beaver generate --base "sociomantictsunami/dlang:trusty-v2" --script "docker/build"
TRAVIS_SLUG doesn't exist as a travis environment variable.
From the travis documentation it seems like TRAVIS_REPO_SLUG is the most appropriate to use in beaver
What Ocean does now should be done by beaver, but also we need to update this to push the tags with a suffix +d2
(which would mean build metadata for SemVer) to the same repo, not a new one.
We have to be careful not to do this same process for the automatically converted tags! (Basically if the original tag ends with +d2
it should do nothing).
It's arguably about time that beaver started supporting its Ubuntu namesake (18.04, bionic beaver).
See also: sociomantic-tsunami/cachalot#57
We already have quite a few D1/2 projects that need non-trivial scripts to build, so a lot of scriptery is being duplicated. Beaver should provide a standard D1/2 build script.
When doing this, we should survey the current scripts not to miss any use cases:
beaver codecov
requires coverage has already been captured with gcovWhen using beaver codecov
to run codecov inside a docker container it assumes that the gcov has already been run, beaver-codecov
Line 18 in 61aebb1
and the codecov script is executed with gcov
disabled:
Line 53 in 61aebb1
IIUC this is due to how the coverage generation is integrated with MakD. However with projects not using MakD and testing with different compilers, the generation of coverage is dependent on the tools provided by the specific compiler and it's toolset.
You can still use the codecov script provided by beaver with the requirements described above, but only when using it directly as bin/codecov-bash
. Thus the advantage of using beaver for coverage isn't that big.
Does the documentation for -Z
still apply when codecov is invoked through beaver?
-Z Exit with 1 if not successful. Default will Exit with 0
Having to manually declare which variables to pass to docker is very error prone (see for example sociomantic-tsunami/ocean#230).
We should consider automatically exporting all variables, or at least variables present in env
components of the .travis.yml
.
Currently beaver dlang make
is not building packages by default (via make pkg
). Normally packages should be built, either only for testing or to be uploaded to BinTray.
If the submodules point to D1 code, then the D2 tag becomes untesteable.
So far most options for beaver commands are passed via environment variables, but in more complex scripts it is sometimes useful to be able to pass them as CLI options instead, so we should implement a consistent way to do that.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.