GithubHelp home page GithubHelp logo

ponylang / changelog-tool Goto Github PK

View Code? Open in Web Editor NEW
13.0 13.0 6.0 184 KB

:horse: Tool for modifying the "standard pony" changelogs

Home Page: https://ponylang.io

License: BSD 2-Clause "Simplified" License

Pony 64.56% Makefile 5.77% Shell 28.40% Dockerfile 1.28%
changelog changelog-generator pony-language ponylang

changelog-tool's People

Contributors

epiceric avatar ergl avatar jemc avatar ordepdev avatar ponylang-main avatar rhagenson avatar seantallen avatar theodus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

changelog-tool's Issues

Add github links for versions

Hey, this seems like an awesome tool!

When I do changelogs I typically add in a link that is clickable so that I can see the diff in github, e.g. [0.1.0]: https://github.com/mec07/rununtil/compare/v0.0.1...v0.1.0 from https://github.com/mec07/rununtil/blob/master/CHANGELOG.md. In this example I've put the links right below each release as I maintain it manually, but a tool like this could just group all the links at the bottom.

Something like that would really help with updating and maintaining my changelogs :)

Let me know if you think it could be a helpful feature or not. I appreciate that you might not want to tie it with github...

Add CHANGELOG

The changelog-tool needs its own CHANGELOG!

Along with this, we should work with @jemc to get automatic changelog updates working on this repo including adding the appropriate labels.

Update CI when ponyc 0.26.0 is released

CI for commits is currently run against master branch of ponyc because we have a change on changelog-tool master to address a breaking change on ponyc-master.

When 0.26.0 is released, we need to switch commit ci checks to be run against the ponyc-release image again.

Add "extract" command

As part of automating the release process for Pony projects, it would be helpful it I could run a "print" or "extract" command that would print out the changelog entries for the given version.

So for ponyc:

changelog print 0.29.0

would result in

### Fixed

- Do not permit leading zeros in JSON numbers ([PR #3167](https://github.com/ponylang/ponyc/pull/3167))
- Make reading via TCPConnection re-entrant safe ([PR #3175](https://github.com/ponylang/ponyc/pull/3175))
- Cleanup TCPConnection GC-safety mechanism for writev buffers ([PR #3177](https://github.com/ponylang/ponyc/pull/3177))
- Add SSL tests and fix some SSL related bugs ([PR #3174](https://github.com/ponylang/ponyc/pull/3174))
- Fix lib/llvm to support MacOS ([PR #3181](https://github.com/ponylang/ponyc/pull/3181))
- Close Denial of Service issue with TCPConnection.expect ([PR #3197](https://github.com/ponylang/ponyc/pull/3197))
- Fix return type checking to allow aliasing for non-ephemeral return types. ([PR #3201](https://github.com/ponylang/ponyc/pull/3201))

### Added

- Allow use of OpenSSL 1.1.1 when building Pony ([PR #3156](https://github.com/ponylang/ponyc/pull/3156))
- Add `pointer.offset` to get arbitrary pointer tags via offset ([PR #3177](https://github.com/ponylang/ponyc/pull/3177))
- Add DTrace/SystemTap probes for muted & unmuted events ([PR #3196](https://github.com/ponylang/ponyc/pull/3196))
- Add method to AsioEvent to see if an event is a oneshot ([PR #3198](https://github.com/ponylang/ponyc/pull/3198))

### Changed

- Do not permit leading zeros in JSON numbers ([PR #3167](https://github.com/ponylang/ponyc/pull/3167))
- Make TCPConnection yield on writes to not hog cpu ([PR #3176](https://github.com/ponylang/ponyc/pull/3176))
- Change how TCP connection reads data to improve performance ([PR #3178](https://github.com/ponylang/ponyc/pull/3178))
- Allow use of runtime TCP connect without ASIO one shot ([PR #3171](https://github.com/ponylang/ponyc/pull/3171))
- Simplify buffering in TCPConnection ([PR #3185](https://github.com/ponylang/ponyc/pull/3185))
- Allow for fine-grained control of yielding CPU in TCPConnection ([PR #3197](https://github.com/ponylang/ponyc/pull/3187))
- Make TCPConnection.expect partial ([PR #3197](https://github.com/ponylang/ponyc/pull/3197))

[Security] Workflow pr.yml is using vulnerable action actions/checkout

The workflow pr.yml is referencing action actions/checkout using references v1. However this reference is missing the commit a6747255bd19d7a757dbdda8c654a9f84db19839 which may contain fix to the some vulnerability.
The vulnerability fix that is missing by actions version could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider to update the reference to the action.

[Security] Workflow release.yml is using vulnerable action actions/checkout

The workflow release.yml is referencing action actions/checkout using references v1. However this reference is missing the commit a6747255bd19d7a757dbdda8c654a9f84db19839 which may contain fix to the some vulnerability.
The vulnerability fix that is missing by actions version could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider to update the reference to the action.

Allow for any text before release sections

The tool currently requires the following paragraph:

"All notable changes to the Pony compiler and standard library will be documented in this file. This project adheres to Semantic Versioning and Keep a CHANGELOG."

This is too specific if this tool is going to be used for other projects. The grammar should be modified so that any text is allowed after the # Change Log heading and before the first release section.

[Security] Workflow nightlies.yml is using vulnerable action actions/checkout

The workflow nightlies.yml is referencing action actions/checkout using references v1. However this reference is missing the commit a6747255bd19d7a757dbdda8c654a9f84db19839 which may contain fix to the some vulnerability.
The vulnerability fix that is missing by actions version could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider to update the reference to the action.

Add "Add" command

There is currently no way to use the changelog-tool to add a new changelog entry.

The add command should take:

  • the section to update (added, fixed, changed)
  • entry text

and then update the appropriate section by adding the new entry at the end of the section.

Should accept the

   -f, --file=CHANGELOG.md    Path of the changelog
   -e, --edit=false           Modify the changelog file

options that we use for other possible modifications command.

changelog-tool verifies files it can't parse

currently this doesn't parse but it gets verified. i suspect verified is currently not effective as you could create a non-parseable file that can pass verification.

here's an example:

# Change Log

All notable changes to the Pony compiler and standard library will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a CHANGELOG](http://keepachangelog.com/).

## [unreleased] - unreleased

### Fixed

- Fix invalid separator in PONYPATH for Windows. ([PR #32](https://github.com/ponylang/pony-stable/pull/32))

### Added



### Changed

## [0.1.0] - 2001-09-11

### Fixed

- Foo

Incorrect handling of "first entry" scenario

The follow CHANGELOG file results in an error being thrown (not seen at the user level) and incorrect output.

# Change Log

All notable changes to the Pony compiler and standard library will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a CHANGELOG](http://keepachangelog.com/).

## [unreleased] - unreleased

### Fixed

- Fix invalid separator in PONYPATH for Windows. ([PR #32](https://github.com/ponylang/pony-stable/pull/32))

### Added

- Foo

### Changed

- Bar

When parsed, this encounters an error in Changelog.create where children.next()? as AST returns a non-AST node. The AST is...

(Release
  ( ## [unreleased] - unreleased)
  (
    (Fixed ### Fixed)
    (Entries - Fix invalid separator in PONYPATH for Windows. ([PR #32](https://github.com/ponylang/pony-stable/pull/32)))
  )
  (
    (Added ### Added)
    ()
  )
  (
    (Changed ### Changed)
    ()
  )
)

somehow, the top-level AST is lost so that children.next()? is returning a TOKEN.

The end result is that else block is executed in ChangeLog.create_release
resulting in:

# Change Log

All notable changes to the Pony compiler and standard library will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a CHANGELOG](http://keepachangelog.com/).

### Fixed

### Added

### Changed

as the final output.

Update installation instructions

Keep existing instructions as secondary "from source".

Point people to using ponyup as the primary installation means. Note that it is only for Linux. Should include a link to installation instructions for ponyup in its repo.

Add nightly builds

Once #37 is merged, it should be a simple matter to add uploading nightlies to Cloudsmith,

Release 0.2.0

I'm fixing bugs in the changelog-tool

Once complete, we want to release a 0.2.0 version

Misleading install instructions

The current install instructions assume that the user already has pony-stable installed.

This should be listed as an explicit dependency.

[Security] Workflow release.yml is using vulnerable action actions/checkout

The workflow release.yml is referencing action actions/checkout using references v1. However this reference is missing the commit a6747255bd19d7a757dbdda8c654a9f84db19839 which may contain fix to the some vulnerability.
The vulnerability fix that is missing by actions version could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider to update the reference to the action.

Clean up test scripts

The test scripts build their own changelog tool rather than depending on one being built with full options. This is very brittle and needs to be brought in line with the rest of the Makefile.

Add "new" command

To make using the CHANGELOG tool easier. It would be good if there was a "new" command that would create an initial, empty, valid, changelog.

Update dockerfile to use musl

For the Dockerfile, we want a multistage build that uses the musl version of ponyc to build the changelog-tool and then we can copy over that build artifact into a new alpine based image.

It will end up being smaller than the current image.

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.