diff --git a/CHANGELOG.md b/CHANGELOG.md index fbd8937..439d49d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,42 +1,73 @@ # Changelog +## [4.2.2] - 2022-02-05 + +### Fixed + +- [Issue #61](https://github.com/anton-yurchenko/git-release/issues/61) Improve assets upload retry mechanism (*Thanks to [kongsgard](https://github.com/kongsgard), [rgriebl](https://github.com/rgriebl)) + +### Added + +- [Issue #61](https://github.com/anton-yurchenko/git-release/issues/61) Recover from 422/UnprocessableEntity and 502/BadGateway errors during assets upload (*Thanks to [kongsgard](https://github.com/kongsgard), [rgriebl](https://github.com/rgriebl)) + +### Changed + +- Update dependencies + ## [4.2.1] - 2021-12-15 + ### Fixed + - Error uploading an asset during retry loop ## [4.2.0] - 2021-11-25 + ### Added + - Retry assets uploads ### Changed + - Update dependencies ## [4.1.2] - 2021-10-18 + ### Fixed + - [Issue #54](https://github.com/anton-yurchenko/git-release/issues/54) Empty scopes during changelog parsing (*Thanks to [Wolf2323](https://github.com/Wolf2323)*) ### Changed + - Update dependencies ## [4.1.1] - 2021-08-22 + ### Fixed + - Crash when changelog does not contain changes for a version - Changelog references ### Changed + - Update to GoLang 1.17 - Update dependencies ## [4.1.0] - 2021-07-02 + ### Added + - [Issue #47](https://github.com/anton-yurchenko/git-release/issues/47) Recreate `Unreleased` release on each execution (*Thanks to [cb80](https://github.com/cb80)*) ## [4.0.1] - 2021-06-24 + ### Changed + - Provide more descriptive error messages ## [4.0.0] - 2021-06-16 + ### Changed + - Enforce changelog file format to comply with **Keep a Changelog**/**Common Changelog** - Allow `v` prefix without `ALOW_TAG_PREFIX` (*still required for other prefixes*) - Update Dependencies @@ -44,141 +75,190 @@ - Not existing changelog file won't fail the execution, but will log this as error. Set `CHANGELOG_FILE=none` to silence an error message ### Added + - [Issue #46](https://github.com/anton-yurchenko/git-release/issues/46) Support GitHub Enterprise (*Thanks to [cb80](https://github.com/cb80)*) ### Removed + - `ALLOW_TAG_PREFIX` was replaced with `TAG_PREFIX_REGEX` - `RELEASE_NAME_POSTFIX` was replaced with `RELEASE_NAME_SUFFIX` - Logs on empty (default) variables: [`DRAFT_RELEASE`, `PRE_RELEASE`, `ALLOW_EMPTY_CHANGELOG`, `RELEASE_NAME`, `RELEASE_NAME_PREFIX`, `RELEASE_NAME_SUFFIX`, `CHANGELOG_FILE`] ### Fixed + - Version extraction - Custom prefix matching - Theoretically possible incomplete assets upload - Nil pointer reference on empty release ## [3.5.0] - 2021-05-01 + ### Changed + - Update Dependencies - Build project on GitHub Actions ### Added + - [Issue #44](https://github.com/anton-yurchenko/git-release/issues/44) - Support ARM64 by building a multi-arch docker image (*Thanks to [rsliotta](https://github.com/rsliotta)*) ## [3.4.4] - 2021-03-13 + ### Changed + - Update Dependencies ### Deprecated + - `RELEASE_NAME_POSTFIX` will be changed to `RELEASE_NAME_SUFFIX` in the next release ## [3.4.3] - 2021-01-02 + ### Fixed + - [PR #38](https://github.com/anton-yurchenko/git-release/pull/38) - Version prefix greedy quantifier caused incorrect parsing of major version higher then `9`. (*Thanks to [rgriebl](https://github.com/rgriebl)*) ### Changed + - Update Dependencies ## [3.4.2] - 2020-10-25 + ### Changed + - Update Dependencies - Make `version` output more specific ## [3.4.1] - 2020-08-31 + ### Changed + - Update Dependencies ## [3.4.0] - 2020-07-10 + ### Added + - Glob pattern support - Unit Tests - Log version ### Fixed + - Exception on margins larger than context of changelog - Nil pointer exception in 'release' package ### Changed + - Refactor JavaScript wrapper ## [3.3.0] - 2020-06-27 + ### Added + - Wrapper script: allow execution on Windows runners ### Changed + - Action execution through Git: from Docker to NodeJS ## [3.2.0] - 2020-06-04 + ### Fixed + - Ignored `ALLOW_EMPTY_CHANGELOG=true` failed to create a release ### Added + - `CHANGELOG_FILE=none` will skip changelog file validation. This allows to create a release from empty workspace ### Changed + - Upgrade GoLang to 1.14.4 - Upgrade dependencies ## [3.1.2] - 2020-04-10 + ### Fixed + - [Issue #16](https://github.com/anton-yurchenko/git-release/issues/16) - Error parsing tags with slashes. (*Thanks to [Jonathan Hilgart](https://github.com/jonhilgart22)*) - Support `.` in organization and repository names ## [3.1.1] - 2020-03-25 + ### Fixed + - [Issue #14](https://github.com/anton-yurchenko/git-release/issues/14) - Ignored first release link in a comment. (*Thanks to [Luiz Ferraz](https://github.com/Fryuni)*) ### Changed + - Upgrade GoLang to 1.14.1 - Upgrade dependencies ## [3.1.0] - 2020-02-17 + ### Added + - [Issue #10](https://github.com/anton-yurchenko/git-release/issues/10) - Release Title manipulation through `RELEASE_NAME`, `RELEASE_NAME_PREFIX`, `RELEASE_NAME_POSTFIX`. (*Thanks to [Victor](https://github.com/victoraugustolls) for suggesting a change*) ## [3.0.1] - 2020-01-08 + ### Fixed + - Empty release name ## [3.0.0] - 2020-01-05 + This is a major release because of a certain behavior change: + - *Tag (without prefix) should be identical to Changelog Version in order for changes to be mapped (for example tag `v3.0.0-rc.1` is expected to be listed as `3.0.0-rc.1` in changelog).* - *By default valid semver version is expected. Prefix should be explicitly allowed by enabling `ALLOW_TAG_PREFIX`* ### Changed + - Better `GITHUB_REPOSITORY` regex validation - Improved **Changelog** package parsing capabilities - Tag should match Changelog Version (excluding prefix) ### Fixed + - Semantic Versioning compliance - Keep a Changelog compliance ### Added + - `ALLOW_TAG_PREFIX` to control version prefix like `v` or `release` ## [2.0.2] - 2019-12-29 + ### Added + - CircleCI integrated as a Continuous Integration system - GolangCI integrated as a Continuous Code Quality system - CodeCov integrated as a Continuous Code Quality system ### Changed + - DockerHub setup as a Continuous Delivery system ## [2.0.1] - 2019-12-28 + ### Changed + - Disable unit testing on Docker Hub auto builds ## [2.0.0] - 2019-12-28 + This is a major release as most of the code was refactored and some behavior was changed, for example "Tag version is set as a release title" ### Fixed + - Artifact files not found caused panic - all files now being validated before release creation - Custom changelog file now being validated before release creation - Arguments parsing fixed ### Added + - Unit testing - Docker image now built from scratch, resulting in decreased size 139.73MB -> 2.43MB, improving action overall speed - **app** package @@ -186,52 +266,69 @@ This is a major release as most of the code was refactored and some behavior was - Artifacts (provided as arguments) can now be separated by one of: `new line '\n', pipe '|', space ' ', comma ','` ### Changed + - **local** package renamed to **repository** - **remote** package splitted into 2 packages: **asset**, **release** - Tag version is set as a release title ## [1.1.0] - 2019-12-21 + ### Added + - [PR #3](https://github.com/anton-yurchenko/git-release/pull/3) - Allow any prefix to semver tag. (*Thanks to [Taylor Becker](https://github.com/tajobe) for the PR*) ### Fixed + - [PR #3](https://github.com/anton-yurchenko/git-release/pull/3) - PreRelease overwriting Draft configuration. (*Thanks to [Taylor Becker](https://github.com/tajobe) for reporting an issue*) ## [1.0.0] - 2019-10-01 + - First stable release ## [0.2.1] - 2019-10-01 + ### Fixed + - Wrong PRE_RELEASE message when set - Correct 'creating release' log message ## [0.2.0] - 2019-10-01 + ### Added + - Changelog reader - MIT License ### Changed + - Remove 'v' from release name ### Fixed + - Create release without assets ## [0.1.1] - 2019-09-29 + ### Added + - Tag regex to match v1.0.0 and 1.0.0 - Log when procedure finished ### Removed + - 'DRAFT_RELEASE=false' warning logging - 'PRE_RELEASE=false' warning logging ## [0.1.0] - 2019-09-29 + ### Added + - Create GitHub Release - Upload Assets - Control Release Draft through env.var 'DRAFT_RELEASE' - Control Release Pre Release through env.var 'PRE_RELEASE' +[4.2.2]: https://github.com/anton-yurchenko/git-release/compare/v4.2.1...v4.2.2 [4.2.1]: https://github.com/anton-yurchenko/git-release/compare/v4.2.0...v4.2.1 [4.2.0]: https://github.com/anton-yurchenko/git-release/compare/v4.1.2...v4.2.0 [4.1.2]: https://github.com/anton-yurchenko/git-release/compare/v4.1.1...v4.1.2 diff --git a/Dockerfile b/Dockerfile index fd62ab0..387dfd9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ RUN CGO_ENABLED=0 go build -ldflags="-w -s" -o /opt/app FROM scratch LABEL org.opencontainers.image.source="https://github.com/anton-yurchenko/git-release" -LABEL org.opencontainers.image.version="v4.2.0" +LABEL org.opencontainers.image.version="v4.2.2" LABEL org.opencontainers.image.authors="Anton Yurchenko " LABEL org.opencontainers.image.licenses="MIT" COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ diff --git a/bin/git-release-linux-amd64 b/bin/git-release-linux-amd64 index 4ff687c..5dcfde6 100755 Binary files a/bin/git-release-linux-amd64 and b/bin/git-release-linux-amd64 differ diff --git a/bin/git-release-windows-amd64.exe b/bin/git-release-windows-amd64.exe index 9cffad3..12c1469 100755 Binary files a/bin/git-release-windows-amd64.exe and b/bin/git-release-windows-amd64.exe differ diff --git a/go.mod b/go.mod index e99a41c..5736906 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/google/go-github v17.0.0+incompatible github.com/pkg/errors v0.9.1 github.com/sirupsen/logrus v1.8.1 - github.com/spf13/afero v1.8.0 + github.com/spf13/afero v1.8.1 github.com/stretchr/testify v1.7.0 golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 ) diff --git a/go.sum b/go.sum index 422f59f..a2e07b5 100644 --- a/go.sum +++ b/go.sum @@ -145,8 +145,8 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/afero v1.8.0 h1:5MmtuhAgYeU6qpa7w7bP0dv6MBYuup0vekhSpSkoq60= -github.com/spf13/afero v1.8.0/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= +github.com/spf13/afero v1.8.1 h1:izYHOT71f9iZ7iq37Uqjael60/vYC6vMtzedudZ0zEk= +github.com/spf13/afero v1.8.1/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= diff --git a/main.go b/main.go index a5d201a..bb5827d 100644 --- a/main.go +++ b/main.go @@ -14,7 +14,7 @@ import ( ) // Version contains current application version -const Version string = "4.2.1" +const Version string = "4.2.2" func init() { log.SetReportCaller(false) diff --git a/package-lock.json b/package-lock.json index bcc5946..d75620f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "git-release", - "version": "4.2.1", + "version": "4.2.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 3b1ee60..5570ee5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "git-release", - "version": "4.2.1", + "version": "4.2.2", "description": "A GitHub Action for creating a GitHub Release with Assets and Changelog whenever a new Tag is pushed to the repository.", "main": "wrapper.js", "directories": {