Commit Graph
567 Commits
Author SHA1 Message Date
Evan SimkowitzGitHubwave-builderwave-builder[bot] <181805596+wave-builder[bot]@users.noreply.github.com>
5b7535d08f 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 13:10:35 -07:00
sawka f7272c6375 remove aichat-input opacity 2024-09-17 00:10:42 -07:00
Mike SawkaandGitHub 46eb164778 tos page 2 -- quick tips (#387) 2024-09-16 23:45:47 -07:00
Sylvie CroweandGitHub ea19444710 Various Bug Fixes and UI Improvements (#386)
This change adds
- performance improvements for ai chat
- new ai chat user interface
- open blank files with codeedit
- fix for userinput password modal
2024-09-16 22:59:09 -07:00
Red J AdayaandGitHub 09f4616ae0 button refactor (#383)
Refactored to be more flexible. Now, it has three types

- solid
- outline
- ghost

and subtypes

- green
- grey
- red
- yellow

It defaults to solid and green when no className is provided. It
concatenates defaults if custom classNames are provided.
2024-09-16 22:23:05 -07:00
sawka dbdcc49ff2 add ws reconnect handlers -- wps + route announcements 2024-09-16 19:35:36 -07:00
Evan SimkowitzandGitHub fd6e92ee2c Clear previous layout when applying portable layout to tab (#382) 2024-09-16 17:26:37 -07:00
Evan Simkowitz f6362a3a15 Upgrade Storybook and disable TileLayout story for now 2024-09-16 13:16:04 -07:00
Evan Simkowitz 47995c12ad disable TileLayout story for now 2024-09-16 13:14:06 -07:00
sawka 9873b27977 fix button colors/outlines 2024-09-16 12:26:06 -07:00
Mike SawkaandGitHub 3939648bbb fe wsh router + wsh client impl (#381) 2024-09-16 11:59:39 -07:00
sawka 1de9cd4468 fix help text 2024-09-13 11:52:14 -07:00
sawka 33407715a0 fix button colors, better lightbulb, button hovers 2024-09-13 10:24:16 -07:00
Sylvie CroweandGitHub 555ab07861 Add Tips Modal for Directory (#374)
This is an experimental modal to show tips. If it helps improve
discoverability, it will be improved in the future.
2024-09-13 03:36:15 -07:00
Red J AdayaandGitHub 2715c2ce30 shrink tos modal and make it scrollable when vertical space is not enough (#373) 2024-09-12 23:10:18 -07:00
Red J AdayaandGitHub 04924870c1 button refactor (#372) 2024-09-12 22:22:31 -07:00
Red J AdayaandGitHub b3f7e7a2b9 fix default button text color (#370) 2024-09-12 17:49:57 -07:00
Mike SawkaandGitHub 174cf3d39d flash error messages (#369) 2024-09-12 16:02:18 -07:00
Evan SimkowitzandGitHub 936d4bfb30 Migrate websocket eventbus messages to wps (#367)
This migrates all remaining eventbus events sent over the websocket to
use the wps interface. WPS is more flexible for registering events and
callbacks and provides support for more reliable unsubscribes and
resubscribes.
2024-09-11 18:03:55 -07:00
Red J AdayaandGitHub df2af04a6e telemetry fix (#365) 2024-09-11 09:26:43 -07:00
Red J AdayaandGitHub c3a02d7e33 revert tabs scroll timing (#363) 2024-09-10 23:22:32 -07:00
Red J AdayaandGitHub f6fc0125fd fix issue where tabs are immediately visible while they're still stacked on load (#362)
This fixes the visual bug where the active tab seems to be the first tab
and then switches to the actual active tab after the tabs are
positioned.
2024-09-10 23:06:27 -07:00
Evan Simkowitz 8f0cd5adcf fix latent regression from my last pr 2024-09-10 22:50:28 -07:00
Evan SimkowitzandGitHub 9b12aa9882 Fix bug in TileLayout where computeMoveNode had stale node data (#361)
This was hard to debug. It manifested in nodes that had been collapsed
into their parent. When a node was dragged over the recently-collapsed
node, the placeholder would show the action as if the flex direction was
reversed. It turns out useDrag has trouble tracking changes to the
LayoutNode objects. For now, I am just finding the nodes again in the
computeMoveNode function. Later when I redo the drag system, I will fix
this better.
2024-09-10 17:23:28 -07:00
Evan Simkowitz f3940f7456 remove unused atom 2024-09-10 15:00:28 -07:00