Meshery: [CI] Automate the updating of Releases docs page as part of CI release process.

Created on 30 Nov 2019  路  16Comments  路  Source: layer5io/meshery

Current Behavior
Release documentation gets out of date as the docs page is not always automatically updated when a new release is made.

Desired Behavior

  1. Release notes (text from the description of the release) as entered by a maintainer into a given release (made on the web UI of github.com) are taken and used to populate a new row in the table on the Releases page of the Meshery documentation.
  2. The following standard text snippet is automatically added to the description of the release on github.com so that the maintainer doesn't have to manually add it:
---
See the [quick start guide](https://layer5.io/meshery/#getting-started) to get started with the latest release. and the [releases](https://meshery.layer5.io/docs/installation/releases) documentation for release notes and the build and release strategy.
  1. The standard text snippet above should not be included and repeated in each row of the Releases table in the Meshery docs.
  2. Include a workflow to notify the #announcements channel in Slack each time a new release is made.

Implementation:
Requirement 1. and 3. might be best done in GitHub Actions.
Ideally, a new workflow or augmentation of the existing GitHub Actions workflow can provide a solution here (e.g. copying of the text contained in the description of a given release).

Requirement 2. might be best done in goreleaser.

Related Issues:

509

areci aredocs help wanted issuwillfix kinchore kinenhancement

All 16 comments

Hi lee, can I take this one? Im interested on learnig github actions :)

Yes, pleeeease. ;)

You may have seen this already, @jesuslerma, but here's a link to the Meshery Build & Release Strategy, which should be up to date. // @girishranganathan @RaulEsMas

I've updated the issue description to include a workflow to notify the #announcements channel in Slack each time a new release is made.

@Saim-Safdar, we're in need of automating this through workflow. See @shivaylamba for a vision of how we might publish release notes going forward.

Sure @leecalcote I'll walk though on that what's currently happened and came with the solution which we desire for.

@leecalcote This should be fixed by releaseDrafter.

@kushthedude is this something that @naturalett might knock out?

Hi @leecalcote I'm planing to take a look into release-drafter as you mentioned. I'll try to do the folllowing:

  • [ ] Read the docs for release-drafter.
  • [ ] Create a dummy go sample.
  • [ ] Integrate release-drafter to that sample project.
  • [ ] Integrate release-drafter with another project from layer5 organization
  • [ ] Integrate release-drafter in this project

Does it make sense to you? If so, do u think that meshery-tmp is a good project of layer5 to start testing this?

Thank you, Jesus. It does, except that we鈥檙e already using releasedrafter, which is nice in that after you familiarize, you will be able to determine if we can augment its current configuration to accomplish the task. You can review the existing configuration the .github folder.

If it鈥檚 not feasible. Then, you can add onto the existing workflow using, perhaps, a different Action to produce a new or edit an existing yaml file and check into the meshery repo.

You鈥檙e on the right path.

@leecalcote I just checked the .github folder, and as you mentioned release drafter is also implemented. Does it resolve the first point?

1. Release notes (text from the description of the release) as entered by a maintainer into a given release (made on the web UI of github.com) are taken and used to populate a new row in the table on the Releases page of the Meshery documentation.
````

In that case the following list of items are still pending?
  1. The following standard text snippet is automatically added to the description of the release on github.com so that the maintainer doesn't have to manually add it:
  2. The standard text snippet above should not be included and repeated in each row of the Releases table in the Meshery docs.
    Include a workflow to notify the #announcements channel in Slack each time a new release is made.
  3. Include a workflow to notify the #announcements channel in Slack each time a new release is made.
    ```

Hey, @jesuslerma Thanks for jumping in here!

For your first doubt -

  • Yes, release notes get populated by the releaseDrafter GitHub action as soon as any commit/PR is merger into master.

For the pending items -

  • We need to automate the process of adding release notes into our documentation since releaseDrafter can't write the release docs anywhere we would want to populate the release doc from the release notes generated by releaseDrafter.
  • For the standard snippet to get included, I think this will have to be handled differently from releaseDrafter as we will only want the snippet text in our release doc rather than our release notes.
  • For the last part, there is already a GitHub integration for slack which notifies you after every release.

For the first part, I dug into this tool https://github.com/github-tools/github-release-notes but this only writes the release notes into the changelog file you may want to take a look at it.

i'm really sorry, i won't be able to solve this issue at the moment. Please feel free to take this issue. @jesuslerma

@homero304 no worries. I will continue to work on this. Thank you!

Or perhaps _start_ to work on this. 馃榾

How's this weekend looking? ;)

Was this page helpful?
0 / 5 - 0 ratings