Commit graph

51 commits

Author SHA1 Message Date
Chris O'Haver
49c776df4c
rename VERBOSE to be more generic (#2172) 2018-10-10 09:39:31 -04:00
Miek Gieben
281c246117
release: drop release/ (#2173)
Drop the release/ dir prefix form the uploaded files.

Signed-off-by: Miek Gieben <miek@miek.nl>
2018-10-09 21:56:28 +01:00
Miek Gieben
ad63cf0b4f
Document updates: (#2075)
Update the how to release notes in Makefile.release
And some little community tweaks in the README.md

Signed-off-by: Miek Gieben <miek@miek.nl>
2018-08-31 19:28:33 +01:00
Miek Gieben
52147cd657
release: kill sum target (#2069)
Just create the sha256 inline so we know there are there.
Add a 'version' target in Makefile.release that prints the version so we
can double check that easily in the release script.

Signed-off-by: Miek Gieben <miek@miek.nl>
2018-08-29 15:17:32 +01:00
Miek Gieben
eb51e8bac9
Bump version to 1.2.2 (#2067)
* Bump version to 1.2.2

Release 1.2.2

Signed-off-by: Miek Gieben <miek@miek.nl>

* Fix filename to what we upload

With ls dir/* the pathname returned are diff. then we with ls dir, fix
how curl is called.

Signed-off-by: Miek Gieben <miek@miek.nl>
2018-08-29 07:51:45 +01:00
Miek Gieben
a21755479d release: split out sha256 upload (#2063)
For the 1.2.1 release we didn't upload the sha256 files. I've added
an echo, but some testing suggests that the files are created, so the
problem lays somewhere else.

Add a new upload section that sets the content type correctly and POST
the files as text/plain.

Signed-off-by: Miek Gieben <miek@miek.nl>
2018-08-28 13:58:35 -07:00
Miek Gieben
78a98ee0e2 release: echo assets (#2060)
help debug why the assets' sha256 files weren't upload to github.

Signed-off-by: Miek Gieben <miek@miek.nl>
2018-08-27 13:33:25 -07:00
Yong Tang
3ca25c1c64 Add exe extension to Windows release binary (#2022)
This fix adds exe extension to Windows release binary.

This fix fixes 2021.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2018-08-03 17:49:13 +01:00
Miek Gieben
aba0b4e122 release: add sha256sum files (#1991)
Generate the sha256 sum of each asset. These should all be automatically
be uploaded in the github-push target.

Signed-off-by: Miek Gieben <miek@miek.nl>
2018-07-21 08:39:53 -07:00
Miek Gieben
2e322f6e8a
Various improvements in the release documention. (#1961)
Releasing 1.2.0 uncovered some rough edges that need to be documented.
Also fix github-push target and docker login.

Signed-off-by: Miek Gieben <miek@miek.nl>
2018-07-11 09:56:37 +01:00
Miek Gieben
2306721c23 Up release to 1.2.0 (#1958)
Automatically submitted.
2018-07-10 11:28:29 +00:00
Miek Gieben
3b9da82392 release: automate the release (#1935)
* release: automate the release

This PR aims to various pieces into place so we can automate the coredns
release. It needs the script from coredns/release to be installed. Dreck
is to be setup as described in coredns/release/README.md

The release-coredns script can be tested and allows for other branches
than master to be test.

This PR also features some cleanup in the Makefile.release so we don't
call the godep target for each linux release - this speeds it up for
some bit.

Manually running ./release-coredns -t auto-release builds the artifects
for this release, but (of course) doesn't upload anything yet.

Add /release to the OWNERS and allow command to be executed (this still
needs to be tested).

Signed-off-by: Miek Gieben <miek@miek.nl>

* that makefile target doesnt exist anymore

Signed-off-by: Miek Gieben <miek@miek.nl>

* test release for now

Signed-off-by: Miek Gieben <miek@miek.nl>

* Slightly better output

Signed-off-by: Miek Gieben <miek@miek.nl>

* remove again

Signed-off-by: Miek Gieben <miek@miek.nl>
2018-07-09 20:35:58 -07:00
Yong Tang
c25a2e0fac Replace gh-release with curl (#1896)
* Replace gh-release with curl

This fix tries to address the issue raised in 1895 where
gh-release is deprecated.

As GitHub provides API that could be accessed easily,
and gh-release itself is just a wrapper to the API,
this fix replaces gh-release with the direct interaction
with GitHub API, so that it could be maintained by coredns
team.

This fix fixes 1895.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Added `-o /dev/null`

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2018-06-24 19:21:58 +01:00
Yong Tang
ec334014d7 Update Makefile.release for docker image build (#1856)
This fix update Makefile.release for docker image build
on different platforms.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2018-06-05 17:20:38 +01:00
Miek Gieben
74825a46f2 Makefile release: depend on godeps (#1570)
godeps sets the external repos to the correct versions meaning we can
build CoreDNS.
2018-02-28 15:13:46 -05:00
Miek Gieben
ed02f5f2a2 release improvements (#1439)
Last release I forgot steps, put them in Makefile.release. Generating
the manual files will be skipped if 'ronn' can't be found.
2018-01-26 08:57:08 -08:00
Tobias Schmidt
b707438534 Add coredns_build_info metric (#1418)
In order to track the rollout status of CoreDNS versions, add the common
build_info metric.
2018-01-23 20:10:55 +00:00
Francois Tur
08076e5284 Update Makefile.release (#1327) 2017-12-21 15:47:09 +00:00
Miek Gieben
0221f3d83c Makefile.release: allow for other docker registries (#1324)
Default to empty DOCKER var so you wont accidently push to the
production dockerhub. But allow to be overriden to you can push
to your registry. This allows you to re-use the CoreDNS makefiles for
your internal CI/CD.

Hacked Makefile with echos:

make DOCKER=bla -f Makefile.release docker-push
Pushing: 1.0.1
for arch in amd64 arm arm64 ppc64le s390x; do \
    echo docker push bla/coredns:coredns-$arch ;\
done
docker push bla/coredns:coredns-amd64
docker push bla/coredns:coredns-arm
docker push bla/coredns:coredns-arm64
docker push bla/coredns:coredns-ppc64le
docker push bla/coredns:coredns-s390x
echo manifest-tool push from-args --platforms linux/amd64,linux/arm,linux/arm64,linux/ppc64le,linux/s390x --template bla/coredns:coredns-ARCH --target bla/coredns:1.0.1
manifest-tool push from-args --platforms linux/amd64,linux/arm,linux/arm64,linux/ppc64le,linux/s390x --template bla/coredns:coredns-ARCH --target bla/coredns:1.0.1
echo manifest-tool push from-args --platforms linux/amd64,linux/arm,linux/arm64,linux/ppc64le,linux/s390x --template bla/coredns:coredns-ARCH --target bla/coredns:latest
manifest-tool push from-args --platforms linux/amd64,linux/arm,linux/arm64,linux/ppc64le,linux/s390x --template bla/coredns:coredns-ARCH --target bla/coredns:latest
2017-12-21 10:34:19 -05:00
Miek Gieben
c53968e5c4 build: create correct directory for arch (#1242) 2017-11-16 16:25:08 -05:00
Yong Tang
246d896edd Always use LE for ppc64le. (#1201)
* Use one `PLATFORM` variable to setup the build process

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Update Makefile.release

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2017-11-04 07:41:35 +00:00
Miek Gieben
6bea4cd14e release: fixes to push to docker
Last minute fixes to push to hub.docker.com.
2017-11-03 20:52:53 +00:00
Yong Tang
37e1acf9be Update docker-build steps in Makefile.release (#1200)
* Update docker-build steps in Makefile.release

for different architectures

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Update to use `case ... esac` in shell script

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Remove `RUN` cmd in Dockerfile in case of non amd64 CPU

ssl will only be supported on amd64 CPUs for now.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2017-11-03 20:29:50 +00:00
Miek Gieben
64c3eb1518 Makefile: add Windows target (#1199)
While we at it, why not add a target for Windows as well.

This also introduces a VERBOSE option that defaults to -v, but it empty
when releases so that you can actually see what you're building.

Move an @echo out of shell snippet into the Makefile, as that errored
with @echo: command not found.

Sample run and resulting artifacts:

~~~
% make -f Makefile.release build
% find build -type f -exec file {} \;
build/windows/amd64/coredns: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows
build/darwin/amd64/coredns: Mach-O 64-bit x86_64 executable, flags:<NOUNDEFS>
build/linux/ppc64le/coredns: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, stripped
build/linux/amd64/coredns: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped
build/linux/arm/coredns: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, stripped
build/linux/s390x/coredns: ELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), statically linked, stripped
build/linux/arm64/coredns: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped

% make -f Makefile.release tar
% find release -type f | sort
release/coredns_0.9.9_darwin_amd64.tgz
release/coredns_0.9.9_linux_amd64.tgz
release/coredns_0.9.9_linux_arm64.tgz
release/coredns_0.9.9_linux_arm.tgz
release/coredns_0.9.9_linux_ppc64le.tgz
release/coredns_0.9.9_linux_s390x.tgz
release/coredns_0.9.9_windows_amd64.tgz
~~~
2017-11-03 09:45:13 -04:00
Miek Gieben
af6086d653
release: use for-loop to minimize duplication (#1196)
* release: use for-loop to minize duplication

Use LINUX_ARCH as the basis for all release.

Fix a few typos along the way.

* remove echo
2017-11-02 21:21:57 +00:00
Sandeep Rajan
7d545aeff7 Add docker image to be a manifest list (#1195)
* add manifest list

* nit

* change check
2017-11-02 20:15:17 +00:00
Yong Tang
091e04f8ed Use amd64 instread of x86_64 when building architecture (#1194)
In Makefile.release `shell uname -m` was used to find the current architecture.
On amd64 systems this might be reported as `x86_64` depending on the Linux.
However, in order to have manifest docker images we need to stick with
golang's architecture tag of `amd64`.

This fix changes instead so that the correct architecture conforming to
golang (`amd64`) could be build.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2017-11-02 17:59:30 +00:00
Miek Gieben
4a4556f0d6 release: speed up build (#1181)
Don't use the 'check and godep' target when building for a release, this
is now repeated 6 times for no reason as this is already checked on
travis.

Some other cleanups in the documentation as well.
2017-10-30 08:55:41 -07:00
Miek Gieben
22f9fc5aa5 release: add more build targets (#1179)
* release: add more build targets

This adds amd64, ppc and s390. Rework some other builds/directories.

This builds:
% find build
build
build/darwin
build/darwin/x86_64
build/darwin/x86_64/coredns
build/linux
build/linux/ppc64
build/linux/ppc64/coredns
build/linux/x86_64
build/linux/x86_64/coredns
build/linux/arm64
build/linux/arm64/coredns
build/linux/s390
build/linux/s390/coredns
build/linux/arm
build/linux/arm/coredns

% make -f Makefile.release tar
rm -rf release && mkdir release
tar -zcf release/coredns_0.9.9_linux_x86_64.tgz -C build/linux/x86_64 coredns
tar -zcf release/coredns_0.9.9_darwin_x86_64.tgz -C build/darwin/x86_64 coredns
tar -zcf release/coredns_0.9.9_linux_armv6l.tgz -C build/linux/arm coredns
tar -zcf release/coredns_0.9.9_linux_armv8l.tgz -C build/linux/arm64 coredns
tar -zcf release/coredns_0.9.9_linux_ppc64le.tgz -C build/linux/ppc64 coredns
tar -zcf release/coredns_0.9.9_linux_s390x.tgz -C build/linux/s390 coredns

Checking:
% for i in $(find build -type f); do file $i; done
build/darwin/x86_64/coredns: Mach-O 64-bit x86_64 executable, flags:<NOUNDEFS>
build/linux/ppc64/coredns: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, stripped
build/linux/x86_64/coredns: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped
build/linux/arm64/coredns: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped
build/linux/s390/coredns: ELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), statically linked, stripped
build/linux/arm/coredns: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, stripped

* code review
2017-10-27 22:54:42 -04:00
Miek Gieben
8e8ce6c3e1 core: check for gh-release (#1079)
Stop when this can't be found early on.

Fixes #1053
2017-09-15 09:56:20 +01:00
Yong Tang
0c02708d63 Consolidation of Makefile and Makefile.release (#912)
* Consolidation of Makefile and Makefile.release

Several changes:
1. All go specific target like `go generate`, etc. has
been moved to Makefile. Now Makefile.release does not
repeat go build, etc. related rules.
2. In Makefile.release, the binary build is done through
`docker run` and with a fixed specific go version (currently 1.8.3).
This will help making sure build process could be reproduced
on any dev platform, with no dependency to the golang version
installed on the platform.
3. Platform related flags (e.g., "GOOS=darwin") are passed through
Makefile (not Makefile.release).

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Update to only use `make` without running inside `docker run`

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2017-08-13 17:41:50 +01:00
Yong Tang
a09f208c51 Add git commit to the version output. (#900)
Now the output would be:
```
 ./coredns -version
CoreDNS-010
linux/amd64, go1.8, 241e3db
```
In case the local file has been modified, then the output would be (with --dirty):
```
 ./coredns -version
CoreDNS-010
linux/amd64, go1.8, 241e3db-dirty
```

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2017-08-11 17:47:37 +01:00
Miek Gieben
b0c94c5e53 release: add go generate (#829)
Do a go generate to generate all middleware we want/need before
releasing a new CoreDNS version.
2017-08-04 14:04:27 -07:00
Miek Gieben
7d1b0cf2e1 doc: small update
Lower-case dnstap in the readme and update Makefile.release to point to
the new website.
2017-07-26 08:55:06 +01:00
Miek Gieben
f33b02689c Fix all READMEs and some other fluff (#788) 2017-07-24 08:24:53 -07:00
Chris O'Haver
4dc61e67cd fix docker build (#673) 2017-05-25 07:28:12 +01:00
Miek Gieben
7e6f5c77aa Makefile.release: bogus all target (#666)
Make the default target do nothing and put the actual release under a
'release' target. Prevent accidentally committing unwanted commits to
the repo.

Tested with `make -f Makefile.release -n`.
2017-05-12 10:15:34 +01:00
Miek Gieben
b7dd1559c1 Release: fix docker push 2017-05-03 19:59:11 +01:00
Miek Gieben
667635e295 Release: fix Makefile
Latest refactoring fubar-ed Makefile.release. Fix the Linux build
target.
2017-05-03 19:48:11 +01:00
Miek Gieben
4fc1318e28 Install: split build targets (#656)
Allows one to use `make -f Makefile.release build-arm` to just get an
Arm binary.
2017-04-30 11:48:19 +01:00
Miek Gieben
f2426b9966 Add MAINTAINERS (#633)
Add a MAINTAINERS file. It's not generated and not as elaborate (i.e. no
focus areas) as the one prometheus uses. But it's a start.

Generated with `git shortlog -s -n`, everyone with more than 5 commits.

Docs are put in `Makefile.release`.

Fixes #566
2017-04-20 10:56:56 +01:00
Miek Gieben
a3f7788686 Put docker release in Makefile.release (#562)
Make the docker release part of the normal CoreDNS release
2017-03-01 15:46:26 +00:00
Miek Gieben
d0303195c3 Makefile.release: move to coredns/coredns 2017-02-21 20:02:43 +00:00
Miek Gieben
a1b9f96d87 Add ARM for Raspberry PI (#443)
Also release ARM binary when releasing. Comes in handy for raspberry Pi.
2016-11-27 15:19:41 +00:00
Miek Gieben
f402b8f726 Releasing: automate more
Only manual operation is editing the source - even that could be
automated but meh.
2016-11-11 17:57:06 +00:00
Miek Gieben
0481614fd8 Document how to get the author from git (#423) 2016-11-11 09:36:26 +00:00
Miek Gieben
9a048663cf Release 002 2016-10-19 20:49:27 +01:00
Miek Gieben
2e68682d4d releasing 002 2016-10-19 20:34:28 +01:00
Miek Gieben
e0a49b73b5 Build the release just like defined in Makefile 2016-09-22 09:54:03 +00:00
Miek Gieben
a8fb01bfd2 releasing: reverse build order
Do linux last, so my go install isn't messed up. Use gh-release from
PATH.
2016-09-18 14:25:47 +01:00