drud / build-tools Goto Github PK
View Code? Open in Web Editor NEWBuild tools for inclusion in other projects for standard approach to building
License: Apache License 2.0
Build tools for inclusion in other projects for standard approach to building
License: Apache License 2.0
It's easy to see from the commit log what build-tools is installed, but it would be much better if it just self-documented its version when installing.
This needs to be confirmed, but I took a quick spin with the new golang "dep" tool, and it expected to use .go (as a file, I think), but we have it as a directory. IMO we should move out of the way soon, maybe .build or something.
Docker toolbox is no longer useful and is deprecated in ddev.
Remove testing here.
Feature request: Currently $(VERSION) uses just the git committish (based on tag) for its name. @beeradb points out that it might be nice to have the branch name in there as the former 'canary' target did. Might be nice to have username as well? Tag could get unwieldy, but it might be worth it.
Our preprocessing approach to providing the upstream docker build is no longer necessary, as Docker provides replaceable FROM now. See moby/moby#31352 and https://www.jeffgeerling.com/blog/2017/use-arg-dockerfile-dynamic-image-specification
We should probably deprecate that approach and move handling into the Dockerfile (or Dockerfile.in). A fair bit of effort went into the Dockerfile processing for this exact feature, so it's slightly painful to work our way back out of it. But I really don't like having the FROM in the Makefile anyway, so maybe we can battle out, especially in the docker.nginx-php-fpm family of containers.
I note that "make clean" in the container build is not fully reliable because although it removes other artifacts, it does not remove docker images that might be related to the build. make clean
should remove all docker images for the current $VERSION.
build-tools currently fail all builds if you use the minikube docker environment. Moving forward, it's pretty important we be able to build our binaries/containers using the minikube instance of docker, to prevent having to continually push images for a dev workflow.
To reproduce:
Assuming you have a minikube instance running, on any project using build tools and building a golang binary run the following:
eval $(minikube docker-env)
make darwin
You'll receive the following error:
drud/site-manager ‹minikube› git:(master) » make linux
building linux from ./cmd/...
go install runtime/internal/sys: mkdir /usr/local/go/pkg/linux_amd64_static/runtime: permission denied
make: *** [linux] Error 1
Over in https://github.com/drud/docker.nginx-php-fpm/pull/39#pullrequestreview-33582227 it was noted that the suggested bin/ rule in gitignore.example has unintended effects. It should probably be improved to not do that.
All of the other unrooted examples (.go, etc) could have the same problem.
gitignore should not have unanticipated results.
The preprocessing of the Dockerfile into .dockerfile is long-since obsolete and unused. Remove it. This has been obsoleted by Docker's ability to do multi-stage builds.
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.