* Add support for RISC-V
Signed-off-by: Antony Chazapis <chazapis@ics.forth.gr>
* Use existing Dockerfile with unstable Debian base images for RISC-V
Signed-off-by: Antony Chazapis <chazapis@ics.forth.gr>
---------
Signed-off-by: Antony Chazapis <chazapis@ics.forth.gr>
This adds the (older) docker stuff back in a new Makefile.docker. Add
.dreck alias to be able to release the docker stuff via a github issue.
See #4858
Signed-off-by: Miek Gieben <miek@miek.nl>
* Spun out docker
Remove docker from Makefile.release so we can actually release.
Unify the mips stuff, now that docker is gone.
Update the docs to reflect this.
See #4858
Signed-off-by: Miek Gieben <miek@miek.nl>
* Update test as well
Signed-off-by: Miek Gieben <miek@miek.nl>
This allows to choose the correct architecture in the image manifest,
which defaulted to the host system before applying this patch.
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
This moves all workflows that commit to a schedule, so that it _doesn't_
push into peoples PRs as that enlarges them and is just non-obvious.
They run throughout the week.
Also change the "user" we use for this, so that DCO believes it a real
email address (DCO is pretty stupid here). Update the authors target to
filter out this bot as well.
Signed-off-by: Miek Gieben <miek@miek.nl>
Move the make syntax out of the shell syntax section and pull it to the
top of the file.
Also add notes on how to test this script. And yes Makefile syntax is
pretty horrible. Testing on a release machine with my personal docker
repo.
Signed-off-by: Miek Gieben <miek@miek.nl>
This commit replaces `manifest-tool` with `docker manifest`, which should
hopefully provide a better experience for releasing coredns.
In addition it integrates mips64le (since it's supported by `docker
manifest`) in LINUX_ARCHES, so docker images for mips64le are pushed as
well.
Signed-off-by: Manuel Rüger <manuel@rueg.eu>
* Remove draft draft from notes, and prepare to release
Signed-off-by: Miek Gieben <miek@miek.nl>
* fix time
Signed-off-by: Miek Gieben <miek@miek.nl>
* remove draft=true
Signed-off-by: Miek Gieben <miek@miek.nl>
* Remove manifest-tool installation
This doesn't install cleanly anymore. I've installed manifest-tool in
/usr/bin on the releaser machine; use that instead of building our own
each time.
Signed-off-by: Miek Gieben <miek@miek.nl>
* Check for manifest-tool to be available; otherwise we tag a release and then fail
Signed-off-by: Miek Gieben <miek@miek.nl>
See #3727 for the details. Copying release notes
verbatim to coredns-1.6.9.md and fix the release script (because
Makefile are stupid). Up version to 1.6.9 here as well.
Signed-off-by: Miek Gieben <miek@miek.nl>
* run Makefile.doc to update to the latest
* add prs and authors to Makefile.release to aid in creating release
notes. And update the comments in the makefile.
* add 1.6.7 release notes.
Signed-off-by: Miek Gieben <miek@miek.nl>
Run through the motions; create manual pages. Run go generate for good
measure. Fix typo in Makefile.release while at it.
Signed-off-by: Miek Gieben <miek@miek.nl>
* add metrics for reload
* documented release process better
* run: Makefile.doc all to push reload doc to man-pages
Signed-off-by: Miek Gieben <miek@miek.nl>
* Put release notes in notes subdir
Verbatim copy of the current set of notes on coredns.io. Copy them
here to make them authoritative.
'make sync' on the coredns.io site copies them back in. They need to be
formatted in Hugo style.
Signed-off-by: Miek Gieben <miek@miek.nl>
* pull latest
Signed-off-by: Miek Gieben <miek@miek.nl>
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>
* 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>
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>
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>
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>
* 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>
* 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>
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
* 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>
* 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>
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
~~~