GithubHelp home page GithubHelp logo

isabella232 / release-3 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from coredns/release

0.0 0.0 0.0 23 KB

Release script for automated CoreDNS releases

License: Apache License 2.0

Shell 99.08% Makefile 0.92%

release-3's Introduction

CoreDNS release script

This script release-coredns works in conjunctions Makefile.release in the CoreDNS repo and dreck.

A server needs to be configured with dreck and access to this script. In the configuration section for dreck, you'll need to set the following environment variables:

  • GITHUB_ACCESS_TOKEN
  • DOCKER_LOGIN
  • DOCKER_PASSWORD

This script will download the latest Go, setup a compile environment, and call into Makefile.release to compile CoreDNS and upload it to github (hence GITHUB_ACCESS_TOKEN), and upload it to the docker hub (hence DOCKER_). Note the web server needs to be able to build docker images, this requires the user it runs at to be in the docker group(s).

The .dreck.yaml file of CoreDNS must allow this script to be called, so it will need a section like:

aliases:
  - |
    /release (.*) -> /exec: /opt/bin/release-coredns $1

The version to release is determined from coremain/version.go and should already be submitted.

The full commandline synopsis is: release-coredns [-t] [-v GOVERSION] BRANCH VERSION.

Releasing CoreDNS

Releasing CoreDNS consists out of three steps.

  1. Get the master branch into shape.
  2. Open an issue and give the /release master <version> command in an issue comment. Where version if the version you are releasing.
  3. Finalize the release notes and update https://coredns.io. The notes should also be committed to the coredns repo itself.

Step 1

  1. Up the version in coremain/version.go to the version to be released.
  2. Create the man pages with a make -f Makefile.doc (requires mmark to be installed).
  3. Perform a go generate.
  4. Send PR to get this merged.

Not the steps 2. and 3. have been automated by GitHub actions that run on every merged PR, so this is not needed any more.

Step 2

  • Open an issue for this release, name it 'CoreDNS Release VERSION'.
  • In an issue comment give the command: /release master VERSION.

Doing a release with a different Go version than the latest released one:

  • /release -v 1.13.8 master VERSION

And actual example: /release -v 1.13.8 master 1.6.8

Step 3

Finalize the release notes and publicize the new release.

Testing

The script can be tested with ./release-coredns -t. The branch name and version are mandatory.

Security

All the output of the script will be put in a github issue comment, don't echo password an such in the script, thinking that would be a safe thing to do.

release-3's People

Contributors

miekg avatar rajansandeep avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.