build: automatically generate changelog (#349)

This commit is contained in:
William Baker 2022-01-10 11:05:38 -05:00 committed by GitHub
parent cb3bade38b
commit 5cd1c9d037
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 156 additions and 89 deletions

View File

@ -52,16 +52,22 @@ workflows:
- test-prebuilt:
name: test-linux-arm64
executor: linux-arm64
os: linux
arch: arm64
requires:
- test-build-arm64-linux
- test-prebuilt:
name: test-mac
executor: mac
os: darwin
arch: amd64
requires:
- test-build-amd64-darwin
- test-prebuilt:
name: test-windows
executor: windows
os: windows
arch: amd64
requires:
- test-build-amd64-windows
release-nightly:
@ -73,6 +79,7 @@ workflows:
only:
- main
jobs:
- changelog
- lint
- check-openapi
- test-race:
@ -94,21 +101,28 @@ workflows:
- test-prebuilt:
name: test-linux-arm64
executor: linux-arm64
os: linux
arch: arm64
requires:
- test-build-arm64-linux
- test-prebuilt:
name: test-mac
executor: mac
os: darwin
arch: amd64
requires:
- test-build-amd64-darwin
- test-prebuilt:
name: test-windows
executor: windows
os: windows
arch: amd64
requires:
- test-build-amd64-windows
- release:
is-nightly: true
requires:
- changelog
- lint
- check-openapi
- test-linux-amd64
@ -117,6 +131,12 @@ workflows:
- test-windows
release-tag:
jobs:
- changelog:
filters:
branches:
ignore: /.*/
tags:
only: /^v[0-9]+\.[0-9]+\.[0-9]+(-(rc|alpha|beta)[0-9]+)?$/
- lint:
filters:
branches:
@ -163,6 +183,8 @@ workflows:
tags:
only: /^v[0-9]+\.[0-9]+\.[0-9]+(-(rc|alpha|beta)[0-9]+)?$/
executor: linux-arm64
os: linux
arch: arm64
requires:
- test-build-arm64-linux
- test-prebuilt:
@ -173,6 +195,8 @@ workflows:
tags:
only: /^v[0-9]+\.[0-9]+\.[0-9]+(-(rc|alpha|beta)[0-9]+)?$/
executor: mac
os: darwin
arch: amd64
requires:
- test-build-amd64-darwin
- test-prebuilt:
@ -183,6 +207,8 @@ workflows:
tags:
only: /^v[0-9]+\.[0-9]+\.[0-9]+(-(rc|alpha|beta)[0-9]+)?$/
executor: windows
os: windows
arch: amd64
requires:
- test-build-amd64-windows
- release:
@ -193,6 +219,7 @@ workflows:
only: /^v[0-9]+\.[0-9]+\.[0-9]+(-(rc|alpha|beta)[0-9]+)?$/
is-nightly: false
requires:
- changelog
- lint
- check-openapi
- test-linux-amd64
@ -282,6 +309,8 @@ jobs:
executor: linux-amd64
steps:
- checkout
- attach_workspace:
at: .
- setup
- run:
name: Import GPG key
@ -323,16 +352,20 @@ jobs:
command: |
export GOOS=<< parameters.os >>
export GOARCH=<< parameters.arch >>
./scripts/ci/build-tests.sh ./test-bin
./scripts/ci/build-tests.sh ./test-bin-"$GOOS"-"$GOARCH"
- persist_to_workspace:
root: .
paths:
- ./test-bin
- ./test-bin*
test-prebuilt:
parameters:
executor:
type: executor
os:
type: string
arch:
type: string
executor: << parameters.executor >>
steps:
- checkout
@ -340,7 +373,7 @@ jobs:
at: .
- run:
name: Run tests
command: ./scripts/ci/run-prebuilt-tests.sh $(pwd)/test-bin $(pwd)/test-results
command: ./scripts/ci/run-prebuilt-tests.sh $(pwd)/test-bin-<< parameters.os >>-<< parameters.arch >> $(pwd)/test-results
- store_artifacts:
path: ./test-results
destination: raw-test-output
@ -359,3 +392,29 @@ jobs:
destination: raw-test-output
- store_test_results:
path: ./test-results
changelog:
docker:
- image: quay.io/influxdb/changelogger:a20523cf8594eb93920e74d0189d6602a76a6146
steps:
- checkout
- run:
name: Generate changelog
command: |
CHANGELOG_FILE_NAME="CHANGELOG-CLI"
if [ -n "<< pipeline.git.tag >>" ]; then
CHANGELOG_FILE_NAME="CHANGELOG-CLI-<< pipeline.git.tag >>"
fi
mkdir changelog_artifacts
echo -e "CHANGELOG for influx-cli commit ${CIRCLE_SHA1}\n" > changelog_artifacts/"$CHANGELOG_FILE_NAME".md
echo "In addition to the list of changes below, please also see the [official release notes](https://docs.influxdata.com/influxdb/latest/reference/release-notes/influx-cli/) for other important information about this release." >> changelog_artifacts/"$CHANGELOG_FILE_NAME".md
build-changelog-by-tags.sh HEAD v2.2.1 main >> changelog_artifacts/"$CHANGELOG_FILE_NAME".md
cat ./scripts/ci/CHANGELOG_frozen.md >> changelog_artifacts/"$CHANGELOG_FILE_NAME".md
- store_artifacts:
path: changelog_artifacts/
- persist_to_workspace:
root: .
paths:
- changelog_artifacts

4
.gitignore vendored
View File

@ -11,6 +11,10 @@ dist/
# Test binary, built with `go test -c`
*.test
# Directories mounted during the release process in CI
test-bin-*/
changelog_artifacts/
# Output of the go coverage tool, specifically when used with LiteIDE
*.out

View File

@ -1,8 +1,10 @@
project_name: influx-cli
# Do not make github release
# Do not make github release or generate a changelog
release:
disable: true
changelog:
skip: true
builds:
- id: influx
@ -87,3 +89,5 @@ blobs:
bucket: dl.influxdata.com
region: us-east-1
folder: '{{if index .Env "IS_NIGHTLY"}}platform/nightlies/{{else}}influxdb/releases/{{end}}'
extra_files:
- glob: ./changelog_artifacts/CHANGELOG*.md

View File

@ -1,87 +1,5 @@
## v2.2.1 [2021-11-09]
The Changelog has moved!
### Bug Fixes
You can find it at the following URL:
1. [316](https://github.com/influxdata/influx-cli/pull/316): Return a better error message on unknown subcommands. Thanks @slai!
1. [318](https://github.com/influxdata/influx-cli/pull/318): Fix accidental swap of userID and orgID in `org members remove` API calls. Thanks @geek981108!
## v2.2.0 [2021-10-21]
### Features
1. [259](https://github.com/influxdata/influx-cli/pull/259): Add `-b` shorthand for `--bucket` to `delete`
1. [285](https://github.com/influxdata/influx-cli/pull/285): Add short-hand `--all-access` and `--operator` options to `auth create`.
1. [307](https://github.com/influxdata/influx-cli/pull/307): Handle pagination in `bucket list` to support displaying more than 20 buckets.
### Bug Fixes
1. [297](https://github.com/influxdata/influx-cli/pull/297): Detect and warn when `restore --full` changes the operator token.
1. [302](https://github.com/influxdata/influx-cli/pull/302): Set newly-created config as active in `setup`.
1. [305](https://github.com/influxdata/influx-cli/pull/305): Embed timezone data into Windows builds to avoid errors.
## v2.1.1 [2021-09-22]
### Go Version
This release upgrades the project to `go` version 1.17.
### Bug Fixes
1. [221](https://github.com/influxdata/influx-cli/pull/221): Fix shell completion for top-level `influx` commands.
1. [228](https://github.com/influxdata/influx-cli/pull/228): Make global `--http-debug` flag visible in help text.
1. [232](https://github.com/influxdata/influx-cli/pull/232): Don't set empty strings for IDs in permission resources.
1. [236](https://github.com/influxdata/influx-cli/pull/236): Detect and error out on incorrect positional args.
1. [255](https://github.com/influxdata/influx-cli/pull/255): Respect value of `--host` flag when writing CLI configs in `setup`.
1. [272](https://github.com/influxdata/influx-cli/pull/272): Reduce overuse of "token" in help text.
## v2.1.0 [2021-07-29]
### New Repository
This is the initial release of the `influx` CLI from the [`influxdata/influx-cli`](https://github.com/influxdata/influx-cli/)
GitHub repository.
### Breaking Changes
#### `influx write` skip-header parsing
The `write` command no longer supports `--skipHeader` as short-hand for `--skipHeader 1`. This change was made to
simplify our CLI parser.
#### Stricter input validation for template-related commands
The `apply`, `export`, and `stacks` commands now raise errors when CLI options fail to parse instead of silently
discarding bad inputs. This change was made to help users debug when their commands fail to execute as expected.
#### Server-side template summarization & validation
The `template` and `template validate` commands now use an API request to the server to perform their logic,
instead of performing the work on the client-side. Offline summarization & validation is no longer supported.
This change was made to avoid significant code duplication between `influxdb` and `influx-cli`, and to allow server-
side template logic to evolve without requiring coordinated CLI changes.
#### `influx stacks --json` output conventions
The output of `influx stacks --json` previously used an UpperCamelCase naming convention for most, but not all, keys.
The command now uses lowerCamelCase consistently for all objects keys, matching the schema returned by the API.
### Features
1. [33](https://github.com/influxdata/influx-cli/pull/33): Add global `--http-debug` flag to help inspect communication with InfluxDB servers.
1. [52](https://github.com/influxdata/influx-cli/pull/52): Add `bucket-schema` commands to manage explicit measurement schemas in InfluxDB Cloud.
1. [52](https://github.com/influxdata/influx-cli/pull/52): Update `bucket create` to allow setting a schema type.
1. [52](https://github.com/influxdata/influx-cli/pull/52): Update `bucket list` to display schema types.
1. [116](https://github.com/influxdata/influx-cli/pull/116): Reimplement `backup` to support downloading embedded SQL store from InfluxDB v2.1.x.
1. [116](https://github.com/influxdata/influx-cli/pull/116): Add `--compression` flag to `backup` to support enabling/disabling GZIP compression of downloaded files.
1. [121](https://github.com/influxdata/influx-cli/pull/121): Reimplement `restore` to support uploading embedded SQL store from InfluxDB v2.1.x.
1. [191](https://github.com/influxdata/influx-cli/pull/191): Add `--password` flag to `user password` command to allow bypassing interactive prompt.
1. [208](https://github.com/influxdata/influx-cli/pull/208): Bind `--skip-verify` flag to `INFLUX_SKIP_VERIFY` environment variable.
### Bug Fixes
1. [35](https://github.com/influxdata/influx-cli/pull/35): Fix interactive password collection & color rendering in PowerShell.
1. [97](https://github.com/influxdata/influx-cli/pull/97): `org members list` no longer hangs on organizations with more than 10 members.
1. [109](https://github.com/influxdata/influx-cli/pull/109): Detect & warn when inputs to `write` contain standalone CR characters.
1. [122](https://github.com/influxdata/influx-cli/pull/122): `dashboards` command now accepts `--org` flag, or falls back to default org in config.
1. [140](https://github.com/influxdata/influx-cli/pull/140): Return a consistent error when responses fail to decode, with hints for OSS- our Cloud-only commands.
https://dl.influxdata.com/platform/nightlies/master/CHANGELOG-CLI.md

View File

@ -0,0 +1,82 @@
## v2.2.0 [2021-10-21]
----------------------
### Features
1. [259](https://github.com/influxdata/influx-cli/pull/259): Add `-b` shorthand for `--bucket` to `delete`
1. [285](https://github.com/influxdata/influx-cli/pull/285): Add short-hand `--all-access` and `--operator` options to `auth create`.
1. [307](https://github.com/influxdata/influx-cli/pull/307): Handle pagination in `bucket list` to support displaying more than 20 buckets.
### Bug Fixes
1. [297](https://github.com/influxdata/influx-cli/pull/297): Detect and warn when `restore --full` changes the operator token.
1. [302](https://github.com/influxdata/influx-cli/pull/302): Set newly-created config as active in `setup`.
1. [305](https://github.com/influxdata/influx-cli/pull/305): Embed timezone data into Windows builds to avoid errors.
## v2.1.1 [2021-09-22]
----------------------
### Go Version
This release upgrades the project to `go` version 1.17.
### Bug Fixes
1. [221](https://github.com/influxdata/influx-cli/pull/221): Fix shell completion for top-level `influx` commands.
1. [228](https://github.com/influxdata/influx-cli/pull/228): Make global `--http-debug` flag visible in help text.
1. [232](https://github.com/influxdata/influx-cli/pull/232): Don't set empty strings for IDs in permission resources.
1. [236](https://github.com/influxdata/influx-cli/pull/236): Detect and error out on incorrect positional args.
1. [255](https://github.com/influxdata/influx-cli/pull/255): Respect value of `--host` flag when writing CLI configs in `setup`.
1. [272](https://github.com/influxdata/influx-cli/pull/272): Reduce overuse of "token" in help text.
## v2.1.0 [2021-07-29]
----------------------
### New Repository
This is the initial release of the `influx` CLI from the [`influxdata/influx-cli`](https://github.com/influxdata/influx-cli/)
GitHub repository.
### Breaking Changes
#### `influx write` skip-header parsing
The `write` command no longer supports `--skipHeader` as short-hand for `--skipHeader 1`. This change was made to
simplify our CLI parser.
#### Stricter input validation for template-related commands
The `apply`, `export`, and `stacks` commands now raise errors when CLI options fail to parse instead of silently
discarding bad inputs. This change was made to help users debug when their commands fail to execute as expected.
#### Server-side template summarization & validation
The `template` and `template validate` commands now use an API request to the server to perform their logic,
instead of performing the work on the client-side. Offline summarization & validation is no longer supported.
This change was made to avoid significant code duplication between `influxdb` and `influx-cli`, and to allow server-
side template logic to evolve without requiring coordinated CLI changes.
#### `influx stacks --json` output conventions
The output of `influx stacks --json` previously used an UpperCamelCase naming convention for most, but not all, keys.
The command now uses lowerCamelCase consistently for all objects keys, matching the schema returned by the API.
### Features
1. [33](https://github.com/influxdata/influx-cli/pull/33): Add global `--http-debug` flag to help inspect communication with InfluxDB servers.
1. [52](https://github.com/influxdata/influx-cli/pull/52): Add `bucket-schema` commands to manage explicit measurement schemas in InfluxDB Cloud.
1. [52](https://github.com/influxdata/influx-cli/pull/52): Update `bucket create` to allow setting a schema type.
1. [52](https://github.com/influxdata/influx-cli/pull/52): Update `bucket list` to display schema types.
1. [116](https://github.com/influxdata/influx-cli/pull/116): Reimplement `backup` to support downloading embedded SQL store from InfluxDB v2.1.x.
1. [116](https://github.com/influxdata/influx-cli/pull/116): Add `--compression` flag to `backup` to support enabling/disabling GZIP compression of downloaded files.
1. [121](https://github.com/influxdata/influx-cli/pull/121): Reimplement `restore` to support uploading embedded SQL store from InfluxDB v2.1.x.
1. [191](https://github.com/influxdata/influx-cli/pull/191): Add `--password` flag to `user password` command to allow bypassing interactive prompt.
1. [208](https://github.com/influxdata/influx-cli/pull/208): Bind `--skip-verify` flag to `INFLUX_SKIP_VERIFY` environment variable.
### Bug Fixes
1. [35](https://github.com/influxdata/influx-cli/pull/35): Fix interactive password collection & color rendering in PowerShell.
1. [97](https://github.com/influxdata/influx-cli/pull/97): `org members list` no longer hangs on organizations with more than 10 members.
1. [109](https://github.com/influxdata/influx-cli/pull/109): Detect & warn when inputs to `write` contain standalone CR characters.
1. [122](https://github.com/influxdata/influx-cli/pull/122): `dashboards` command now accepts `--org` flag, or falls back to default org in config.
1. [140](https://github.com/influxdata/influx-cli/pull/140): Return a consistent error when responses fail to decode, with hints for OSS- our Cloud-only commands.