2024-05-10 05:24:24 +02:00
|
|
|
{
|
2024-09-19 23:04:47 +02:00
|
|
|
"name": "waveterm",
|
Add release channels (#385)
## New release flow
1. Run "Bump Version" workflow with the desired version bump and the
prerelease flag set to `true`. This will push a new version bump to the
target branch and create a new git tag.
- See below for more info on how the version bumping works.
2. A new "Build Helper" workflow run will kick off automatically for the
new tag. Once it is complete, test the new build locally by downloading
with the [download
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/download-staged-artifact.sh).
3. Release the new build using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to beta
users.
4. Run "Bump Version" again with a release bump (either `major`,
`minor`, or `patch`) and the prerelease flag set to `false`.
6. Release the new build to all channels using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to all
users.
## Change Summary
Creates a new "Bump Version" workflow to manage versioning and tag
creation.
Build Helper is now automated.
### Version bumps
Updates the `version.cjs` script so that an argument can be passed to
trigger a version bump. Under the hood, this utilizes NPM's `semver`
package.
If arguments are present, the version will be bumped.
If only a single argument is given, the following are valid inputs:
- `none`: No-op.
- `patch`: Bumps the patch version.
- `minor`: Bumps the minor version.
- `major`: Bumps the major version.
- '1', 'true': Bumps the prerelease version.
If two arguments are given, the first argument must be either `none`,
`patch`, `minor`, or `major`. The second argument must be `1` or `true`
to bump the prerelease version.
### electron-builder
We are now using the release channels support in electron-builder. This
will automatically detect the channel being built based on the package
version to determine which channel update files need to be generated.
See
[here](https://www.electron.build/tutorials/release-using-channels.html)
for more information.
### Github Actions
#### Bump Version
This adds a new "Bump Version" workflow for managing versioning and
queuing new builds. When run, this workflow will bump the version,
create a new tag, and push the changes to the target branch. There is a
new dropdown when queuing the "Bump Version" workflow to select what
kind of version bump to perform. A bump must always be performed when
running a new build to ensure consistency.
I had to create a GitHub App to grant write permissions to our main
branch for the version bump commits. I've made a separate workflow file
to manage the version bump commits, which should help prevent tampering.
Thanks to using the GitHub API directly, I am able to make these commits
signed!
#### Build Helper
Build Helper is now triggered when new tags are created, rather than
being triggered automatically. This ensures we're always creating
artifacts from known checkpoints.
### Settings
Adds a new `autoupdate:channel` configuration to the settings file. If
unset, the default from the artifact will be used (should correspond to
the channel of the artifact when downloaded).
## Future Work
I want to add a release workflow that will automatically copy over the
corresponding version artifacts to the release bucket when a new GitHub
Release is created.
I also want to separate versions into separate subdirectories in the
release bucket so we can clean them up more-easily.
---------
Co-authored-by: wave-builder <builds@commandline.dev>
Co-authored-by: wave-builder[bot] <181805596+wave-builder[bot]@users.noreply.github.com>
2024-09-17 22:10:35 +02:00
|
|
|
"author": {
|
|
|
|
"name": "Command Line Inc",
|
|
|
|
"email": "info@commandline.dev"
|
|
|
|
},
|
2024-09-19 23:04:47 +02:00
|
|
|
"productName": "Wave",
|
|
|
|
"description": "Open-Source AI-Native Terminal Built for Seamless Workflows",
|
Add release channels (#385)
## New release flow
1. Run "Bump Version" workflow with the desired version bump and the
prerelease flag set to `true`. This will push a new version bump to the
target branch and create a new git tag.
- See below for more info on how the version bumping works.
2. A new "Build Helper" workflow run will kick off automatically for the
new tag. Once it is complete, test the new build locally by downloading
with the [download
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/download-staged-artifact.sh).
3. Release the new build using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to beta
users.
4. Run "Bump Version" again with a release bump (either `major`,
`minor`, or `patch`) and the prerelease flag set to `false`.
6. Release the new build to all channels using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to all
users.
## Change Summary
Creates a new "Bump Version" workflow to manage versioning and tag
creation.
Build Helper is now automated.
### Version bumps
Updates the `version.cjs` script so that an argument can be passed to
trigger a version bump. Under the hood, this utilizes NPM's `semver`
package.
If arguments are present, the version will be bumped.
If only a single argument is given, the following are valid inputs:
- `none`: No-op.
- `patch`: Bumps the patch version.
- `minor`: Bumps the minor version.
- `major`: Bumps the major version.
- '1', 'true': Bumps the prerelease version.
If two arguments are given, the first argument must be either `none`,
`patch`, `minor`, or `major`. The second argument must be `1` or `true`
to bump the prerelease version.
### electron-builder
We are now using the release channels support in electron-builder. This
will automatically detect the channel being built based on the package
version to determine which channel update files need to be generated.
See
[here](https://www.electron.build/tutorials/release-using-channels.html)
for more information.
### Github Actions
#### Bump Version
This adds a new "Bump Version" workflow for managing versioning and
queuing new builds. When run, this workflow will bump the version,
create a new tag, and push the changes to the target branch. There is a
new dropdown when queuing the "Bump Version" workflow to select what
kind of version bump to perform. A bump must always be performed when
running a new build to ensure consistency.
I had to create a GitHub App to grant write permissions to our main
branch for the version bump commits. I've made a separate workflow file
to manage the version bump commits, which should help prevent tampering.
Thanks to using the GitHub API directly, I am able to make these commits
signed!
#### Build Helper
Build Helper is now triggered when new tags are created, rather than
being triggered automatically. This ensures we're always creating
artifacts from known checkpoints.
### Settings
Adds a new `autoupdate:channel` configuration to the settings file. If
unset, the default from the artifact will be used (should correspond to
the channel of the artifact when downloaded).
## Future Work
I want to add a release workflow that will automatically copy over the
corresponding version artifacts to the release bucket when a new GitHub
Release is created.
I also want to separate versions into separate subdirectories in the
release bucket so we can clean them up more-easily.
---------
Co-authored-by: wave-builder <builds@commandline.dev>
Co-authored-by: wave-builder[bot] <181805596+wave-builder[bot]@users.noreply.github.com>
2024-09-17 22:10:35 +02:00
|
|
|
"license": "Apache-2.0",
|
2024-09-25 00:02:18 +02:00
|
|
|
"version": "0.8.2",
|
Add release channels (#385)
## New release flow
1. Run "Bump Version" workflow with the desired version bump and the
prerelease flag set to `true`. This will push a new version bump to the
target branch and create a new git tag.
- See below for more info on how the version bumping works.
2. A new "Build Helper" workflow run will kick off automatically for the
new tag. Once it is complete, test the new build locally by downloading
with the [download
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/download-staged-artifact.sh).
3. Release the new build using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to beta
users.
4. Run "Bump Version" again with a release bump (either `major`,
`minor`, or `patch`) and the prerelease flag set to `false`.
6. Release the new build to all channels using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to all
users.
## Change Summary
Creates a new "Bump Version" workflow to manage versioning and tag
creation.
Build Helper is now automated.
### Version bumps
Updates the `version.cjs` script so that an argument can be passed to
trigger a version bump. Under the hood, this utilizes NPM's `semver`
package.
If arguments are present, the version will be bumped.
If only a single argument is given, the following are valid inputs:
- `none`: No-op.
- `patch`: Bumps the patch version.
- `minor`: Bumps the minor version.
- `major`: Bumps the major version.
- '1', 'true': Bumps the prerelease version.
If two arguments are given, the first argument must be either `none`,
`patch`, `minor`, or `major`. The second argument must be `1` or `true`
to bump the prerelease version.
### electron-builder
We are now using the release channels support in electron-builder. This
will automatically detect the channel being built based on the package
version to determine which channel update files need to be generated.
See
[here](https://www.electron.build/tutorials/release-using-channels.html)
for more information.
### Github Actions
#### Bump Version
This adds a new "Bump Version" workflow for managing versioning and
queuing new builds. When run, this workflow will bump the version,
create a new tag, and push the changes to the target branch. There is a
new dropdown when queuing the "Bump Version" workflow to select what
kind of version bump to perform. A bump must always be performed when
running a new build to ensure consistency.
I had to create a GitHub App to grant write permissions to our main
branch for the version bump commits. I've made a separate workflow file
to manage the version bump commits, which should help prevent tampering.
Thanks to using the GitHub API directly, I am able to make these commits
signed!
#### Build Helper
Build Helper is now triggered when new tags are created, rather than
being triggered automatically. This ensures we're always creating
artifacts from known checkpoints.
### Settings
Adds a new `autoupdate:channel` configuration to the settings file. If
unset, the default from the artifact will be used (should correspond to
the channel of the artifact when downloaded).
## Future Work
I want to add a release workflow that will automatically copy over the
corresponding version artifacts to the release bucket when a new GitHub
Release is created.
I also want to separate versions into separate subdirectories in the
release bucket so we can clean them up more-easily.
---------
Co-authored-by: wave-builder <builds@commandline.dev>
Co-authored-by: wave-builder[bot] <181805596+wave-builder[bot]@users.noreply.github.com>
2024-09-17 22:10:35 +02:00
|
|
|
"homepage": "https://waveterm.dev",
|
|
|
|
"build": {
|
2024-09-19 23:04:47 +02:00
|
|
|
"appId": "dev.commandline.waveterm"
|
Add release channels (#385)
## New release flow
1. Run "Bump Version" workflow with the desired version bump and the
prerelease flag set to `true`. This will push a new version bump to the
target branch and create a new git tag.
- See below for more info on how the version bumping works.
2. A new "Build Helper" workflow run will kick off automatically for the
new tag. Once it is complete, test the new build locally by downloading
with the [download
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/download-staged-artifact.sh).
3. Release the new build using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to beta
users.
4. Run "Bump Version" again with a release bump (either `major`,
`minor`, or `patch`) and the prerelease flag set to `false`.
6. Release the new build to all channels using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to all
users.
## Change Summary
Creates a new "Bump Version" workflow to manage versioning and tag
creation.
Build Helper is now automated.
### Version bumps
Updates the `version.cjs` script so that an argument can be passed to
trigger a version bump. Under the hood, this utilizes NPM's `semver`
package.
If arguments are present, the version will be bumped.
If only a single argument is given, the following are valid inputs:
- `none`: No-op.
- `patch`: Bumps the patch version.
- `minor`: Bumps the minor version.
- `major`: Bumps the major version.
- '1', 'true': Bumps the prerelease version.
If two arguments are given, the first argument must be either `none`,
`patch`, `minor`, or `major`. The second argument must be `1` or `true`
to bump the prerelease version.
### electron-builder
We are now using the release channels support in electron-builder. This
will automatically detect the channel being built based on the package
version to determine which channel update files need to be generated.
See
[here](https://www.electron.build/tutorials/release-using-channels.html)
for more information.
### Github Actions
#### Bump Version
This adds a new "Bump Version" workflow for managing versioning and
queuing new builds. When run, this workflow will bump the version,
create a new tag, and push the changes to the target branch. There is a
new dropdown when queuing the "Bump Version" workflow to select what
kind of version bump to perform. A bump must always be performed when
running a new build to ensure consistency.
I had to create a GitHub App to grant write permissions to our main
branch for the version bump commits. I've made a separate workflow file
to manage the version bump commits, which should help prevent tampering.
Thanks to using the GitHub API directly, I am able to make these commits
signed!
#### Build Helper
Build Helper is now triggered when new tags are created, rather than
being triggered automatically. This ensures we're always creating
artifacts from known checkpoints.
### Settings
Adds a new `autoupdate:channel` configuration to the settings file. If
unset, the default from the artifact will be used (should correspond to
the channel of the artifact when downloaded).
## Future Work
I want to add a release workflow that will automatically copy over the
corresponding version artifacts to the release bucket when a new GitHub
Release is created.
I also want to separate versions into separate subdirectories in the
release bucket so we can clean them up more-easily.
---------
Co-authored-by: wave-builder <builds@commandline.dev>
Co-authored-by: wave-builder[bot] <181805596+wave-builder[bot]@users.noreply.github.com>
2024-09-17 22:10:35 +02:00
|
|
|
},
|
|
|
|
"private": true,
|
|
|
|
"main": "./dist/main/index.js",
|
|
|
|
"type": "module",
|
|
|
|
"scripts": {
|
|
|
|
"dev": "electron-vite dev",
|
|
|
|
"start": "electron-vite preview",
|
|
|
|
"build:dev": "electron-vite build --mode development",
|
|
|
|
"build:prod": "electron-vite build --mode production",
|
|
|
|
"storybook": "storybook dev -p 6006 --no-open",
|
|
|
|
"build-storybook": "storybook build",
|
|
|
|
"coverage": "vitest run --coverage",
|
|
|
|
"test": "vitest",
|
|
|
|
"postinstall": "electron-builder install-app-deps"
|
|
|
|
},
|
|
|
|
"devDependencies": {
|
|
|
|
"@chromatic-com/storybook": "^2.0.2",
|
|
|
|
"@eslint/js": "^9.10.0",
|
|
|
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
|
|
"@storybook/addon-essentials": "^8.3.0",
|
|
|
|
"@storybook/addon-interactions": "^8.3.0",
|
|
|
|
"@storybook/addon-links": "^8.3.0",
|
|
|
|
"@storybook/blocks": "^8.3.0",
|
|
|
|
"@storybook/react": "^8.3.0",
|
|
|
|
"@storybook/react-vite": "^8.3.0",
|
|
|
|
"@storybook/test": "^8.3.0",
|
|
|
|
"@types/css-tree": "^2",
|
|
|
|
"@types/debug": "^4",
|
|
|
|
"@types/electron": "^1.6.10",
|
|
|
|
"@types/node": "^22.5.4",
|
|
|
|
"@types/papaparse": "^5",
|
|
|
|
"@types/pngjs": "^6.0.5",
|
|
|
|
"@types/react": "^18.3.5",
|
|
|
|
"@types/react-dom": "^18.3.0",
|
|
|
|
"@types/semver": "^7",
|
|
|
|
"@types/shell-quote": "^1",
|
|
|
|
"@types/sprintf-js": "^1",
|
|
|
|
"@types/throttle-debounce": "^5",
|
|
|
|
"@types/tinycolor2": "^1",
|
|
|
|
"@types/uuid": "^10.0.0",
|
2024-09-18 08:10:09 +02:00
|
|
|
"@types/ws": "^8",
|
Add release channels (#385)
## New release flow
1. Run "Bump Version" workflow with the desired version bump and the
prerelease flag set to `true`. This will push a new version bump to the
target branch and create a new git tag.
- See below for more info on how the version bumping works.
2. A new "Build Helper" workflow run will kick off automatically for the
new tag. Once it is complete, test the new build locally by downloading
with the [download
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/download-staged-artifact.sh).
3. Release the new build using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to beta
users.
4. Run "Bump Version" again with a release bump (either `major`,
`minor`, or `patch`) and the prerelease flag set to `false`.
6. Release the new build to all channels using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to all
users.
## Change Summary
Creates a new "Bump Version" workflow to manage versioning and tag
creation.
Build Helper is now automated.
### Version bumps
Updates the `version.cjs` script so that an argument can be passed to
trigger a version bump. Under the hood, this utilizes NPM's `semver`
package.
If arguments are present, the version will be bumped.
If only a single argument is given, the following are valid inputs:
- `none`: No-op.
- `patch`: Bumps the patch version.
- `minor`: Bumps the minor version.
- `major`: Bumps the major version.
- '1', 'true': Bumps the prerelease version.
If two arguments are given, the first argument must be either `none`,
`patch`, `minor`, or `major`. The second argument must be `1` or `true`
to bump the prerelease version.
### electron-builder
We are now using the release channels support in electron-builder. This
will automatically detect the channel being built based on the package
version to determine which channel update files need to be generated.
See
[here](https://www.electron.build/tutorials/release-using-channels.html)
for more information.
### Github Actions
#### Bump Version
This adds a new "Bump Version" workflow for managing versioning and
queuing new builds. When run, this workflow will bump the version,
create a new tag, and push the changes to the target branch. There is a
new dropdown when queuing the "Bump Version" workflow to select what
kind of version bump to perform. A bump must always be performed when
running a new build to ensure consistency.
I had to create a GitHub App to grant write permissions to our main
branch for the version bump commits. I've made a separate workflow file
to manage the version bump commits, which should help prevent tampering.
Thanks to using the GitHub API directly, I am able to make these commits
signed!
#### Build Helper
Build Helper is now triggered when new tags are created, rather than
being triggered automatically. This ensures we're always creating
artifacts from known checkpoints.
### Settings
Adds a new `autoupdate:channel` configuration to the settings file. If
unset, the default from the artifact will be used (should correspond to
the channel of the artifact when downloaded).
## Future Work
I want to add a release workflow that will automatically copy over the
corresponding version artifacts to the release bucket when a new GitHub
Release is created.
I also want to separate versions into separate subdirectories in the
release bucket so we can clean them up more-easily.
---------
Co-authored-by: wave-builder <builds@commandline.dev>
Co-authored-by: wave-builder[bot] <181805596+wave-builder[bot]@users.noreply.github.com>
2024-09-17 22:10:35 +02:00
|
|
|
"@vitejs/plugin-react-swc": "^3.7.0",
|
|
|
|
"@vitest/coverage-istanbul": "^2.1.1",
|
|
|
|
"electron": "^32.1.0",
|
|
|
|
"electron-builder": "^25.0.5",
|
|
|
|
"electron-vite": "^2.3.0",
|
|
|
|
"eslint": "^9.10.0",
|
|
|
|
"eslint-config-prettier": "^9.1.0",
|
|
|
|
"less": "^4.2.0",
|
|
|
|
"prettier": "^3.3.3",
|
|
|
|
"prettier-plugin-jsdoc": "^1.3.0",
|
|
|
|
"prettier-plugin-organize-imports": "^4.0.0",
|
|
|
|
"rollup-plugin-flow": "^1.1.1",
|
|
|
|
"semver": "^7.6.3",
|
|
|
|
"storybook": "^8.3.0",
|
|
|
|
"ts-node": "^10.9.2",
|
|
|
|
"tslib": "^2.6.3",
|
|
|
|
"tsx": "^4.19.1",
|
|
|
|
"typescript": "^5.6.2",
|
|
|
|
"typescript-eslint": "^8.5.0",
|
|
|
|
"vite": "^5.4.6",
|
|
|
|
"vite-plugin-image-optimizer": "^1.1.8",
|
|
|
|
"vite-plugin-static-copy": "^1.0.6",
|
|
|
|
"vite-plugin-svgr": "^4.2.0",
|
|
|
|
"vite-tsconfig-paths": "^5.0.1",
|
|
|
|
"vitest": "^2.1.1"
|
|
|
|
},
|
|
|
|
"dependencies": {
|
|
|
|
"@monaco-editor/loader": "^1.4.0",
|
|
|
|
"@monaco-editor/react": "^4.6.0",
|
|
|
|
"@observablehq/plot": "^0.6.16",
|
|
|
|
"@react-hook/resize-observer": "^2.0.2",
|
|
|
|
"@table-nav/core": "^0.0.7",
|
|
|
|
"@table-nav/react": "^0.0.7",
|
|
|
|
"@tanstack/react-table": "^8.20.5",
|
|
|
|
"@types/color": "^3.0.6",
|
|
|
|
"@xterm/addon-fit": "^0.10.0",
|
|
|
|
"@xterm/addon-serialize": "^0.13.0",
|
|
|
|
"@xterm/addon-web-links": "^0.11.0",
|
|
|
|
"@xterm/addon-webgl": "^0.18.0",
|
|
|
|
"@xterm/xterm": "^5.5.0",
|
|
|
|
"base64-js": "^1.5.1",
|
|
|
|
"clsx": "^2.1.1",
|
|
|
|
"color": "^4.2.3",
|
|
|
|
"css-tree": "^3.0.0",
|
|
|
|
"dayjs": "^1.11.13",
|
|
|
|
"debug": "^4.3.7",
|
|
|
|
"electron-updater": "6.3.4",
|
|
|
|
"fast-average-color": "^9.4.0",
|
|
|
|
"htl": "^0.3.1",
|
|
|
|
"html-to-image": "^1.11.11",
|
|
|
|
"immer": "^10.1.1",
|
|
|
|
"jotai": "^2.9.3",
|
|
|
|
"monaco-editor": "^0.51.0",
|
|
|
|
"overlayscrollbars": "^2.10.0",
|
|
|
|
"overlayscrollbars-react": "^0.5.6",
|
|
|
|
"papaparse": "^5.4.1",
|
|
|
|
"pngjs": "^7.0.0",
|
|
|
|
"react": "^18.3.1",
|
|
|
|
"react-dnd": "^16.0.1",
|
|
|
|
"react-dnd-html5-backend": "^16.0.1",
|
|
|
|
"react-dom": "^18.3.1",
|
|
|
|
"react-frame-component": "^5.2.7",
|
|
|
|
"react-gauge-chart": "^0.5.1",
|
|
|
|
"react-markdown": "^9.0.1",
|
|
|
|
"rehype-highlight": "^7.0.0",
|
|
|
|
"rehype-raw": "^7.0.0",
|
|
|
|
"rehype-sanitize": "^6.0.0",
|
|
|
|
"rehype-slug": "^6.0.0",
|
|
|
|
"remark-flexible-toc": "^1.1.1",
|
|
|
|
"remark-gfm": "^4.0.0",
|
|
|
|
"rxjs": "^7.8.1",
|
|
|
|
"shell-quote": "^1.8.1",
|
|
|
|
"sprintf-js": "^1.1.3",
|
|
|
|
"throttle-debounce": "^5.0.2",
|
|
|
|
"tinycolor2": "^1.6.0",
|
|
|
|
"use-device-pixel-ratio": "^1.1.2",
|
2024-09-18 08:10:09 +02:00
|
|
|
"winston": "^3.14.2",
|
2024-09-19 20:04:18 +02:00
|
|
|
"ws": "^8.18.0",
|
|
|
|
"yaml": "^2.5.1"
|
Add release channels (#385)
## New release flow
1. Run "Bump Version" workflow with the desired version bump and the
prerelease flag set to `true`. This will push a new version bump to the
target branch and create a new git tag.
- See below for more info on how the version bumping works.
2. A new "Build Helper" workflow run will kick off automatically for the
new tag. Once it is complete, test the new build locally by downloading
with the [download
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/download-staged-artifact.sh).
3. Release the new build using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to beta
users.
4. Run "Bump Version" again with a release bump (either `major`,
`minor`, or `patch`) and the prerelease flag set to `false`.
6. Release the new build to all channels using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to all
users.
## Change Summary
Creates a new "Bump Version" workflow to manage versioning and tag
creation.
Build Helper is now automated.
### Version bumps
Updates the `version.cjs` script so that an argument can be passed to
trigger a version bump. Under the hood, this utilizes NPM's `semver`
package.
If arguments are present, the version will be bumped.
If only a single argument is given, the following are valid inputs:
- `none`: No-op.
- `patch`: Bumps the patch version.
- `minor`: Bumps the minor version.
- `major`: Bumps the major version.
- '1', 'true': Bumps the prerelease version.
If two arguments are given, the first argument must be either `none`,
`patch`, `minor`, or `major`. The second argument must be `1` or `true`
to bump the prerelease version.
### electron-builder
We are now using the release channels support in electron-builder. This
will automatically detect the channel being built based on the package
version to determine which channel update files need to be generated.
See
[here](https://www.electron.build/tutorials/release-using-channels.html)
for more information.
### Github Actions
#### Bump Version
This adds a new "Bump Version" workflow for managing versioning and
queuing new builds. When run, this workflow will bump the version,
create a new tag, and push the changes to the target branch. There is a
new dropdown when queuing the "Bump Version" workflow to select what
kind of version bump to perform. A bump must always be performed when
running a new build to ensure consistency.
I had to create a GitHub App to grant write permissions to our main
branch for the version bump commits. I've made a separate workflow file
to manage the version bump commits, which should help prevent tampering.
Thanks to using the GitHub API directly, I am able to make these commits
signed!
#### Build Helper
Build Helper is now triggered when new tags are created, rather than
being triggered automatically. This ensures we're always creating
artifacts from known checkpoints.
### Settings
Adds a new `autoupdate:channel` configuration to the settings file. If
unset, the default from the artifact will be used (should correspond to
the channel of the artifact when downloaded).
## Future Work
I want to add a release workflow that will automatically copy over the
corresponding version artifacts to the release bucket when a new GitHub
Release is created.
I also want to separate versions into separate subdirectories in the
release bucket so we can clean them up more-easily.
---------
Co-authored-by: wave-builder <builds@commandline.dev>
Co-authored-by: wave-builder[bot] <181805596+wave-builder[bot]@users.noreply.github.com>
2024-09-17 22:10:35 +02:00
|
|
|
},
|
|
|
|
"packageManager": "yarn@4.4.1"
|
2024-05-10 05:24:24 +02:00
|
|
|
}
|