mirror of
https://github.com/wavetermdev/backup.git
synced 2026-04-22 15:26:58 -07:00
Compare commits
48 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6bd46f55a4 | |||
| c84dd781f5 | |||
| 39cb7dfe11 | |||
| 1a0d6881ae | |||
| 66901735f9 | |||
| 7d4787ad1f | |||
| d1baf504ba | |||
| 36de526e8e | |||
| 2acb551f4b | |||
| f87c7a28a6 | |||
| fecdc5abdc | |||
| 769f3fc43c | |||
| c73ac66ed7 | |||
| 5258a67a78 | |||
| 77ea45392a | |||
| eab2cb616d | |||
| a6f2e0b26e | |||
| 358ffb6d50 | |||
| a2795fb74d | |||
| c5d4a0e1f3 | |||
| 2a5857bc3d | |||
| 0b9834171d | |||
| c9b2c4b24c | |||
| d6124c27b6 | |||
| 662172db31 | |||
| 8b540cd989 | |||
| 45a3f7e721 | |||
| a3d2b1a54c | |||
| d77dd5f507 | |||
| 237a1088b0 | |||
| 036b0ff989 | |||
| 29acdc6eff | |||
| 3a119ae575 | |||
| 72a5d18d0d | |||
| 4357bcf1c8 | |||
| 33fc3518c0 | |||
| 2735b03cb8 | |||
| 6091305bb3 | |||
| 55a5b8615b | |||
| a1ab25936e | |||
| 7bf1a259a2 | |||
| bde2a9ccfe | |||
| c078f017ed | |||
| 01dc6144ac | |||
| b54cad6304 | |||
| e30748109c | |||
| 70db1e1b48 | |||
| 93d46cca80 |
@@ -1,12 +1,10 @@
|
||||
name: "Build Helper"
|
||||
on: workflow_dispatch
|
||||
env:
|
||||
GO_VERSION: "1.21.5"
|
||||
GO_VERSION: "1.22.0"
|
||||
NODE_VERSION: "21.5.0"
|
||||
jobs:
|
||||
runbuild:
|
||||
outputs:
|
||||
WAVETERM_VERSION: ${{ steps.set-version.outputs.WAVETERM_VERSION }}
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
@@ -25,11 +23,11 @@ jobs:
|
||||
with:
|
||||
repository: scripthaus-dev/scripthaus
|
||||
path: scripthaus
|
||||
- name: Install Linux Build Dependencies
|
||||
- name: Install Linux Build Dependencies (Linux only)
|
||||
if: matrix.platform == 'linux'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install rpm
|
||||
sudo apt-get install --no-install-recommends -y libarchive-tools libopenjp2-tools rpm snapcraft snapd
|
||||
- uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{env.GO_VERSION}}
|
||||
@@ -58,27 +56,13 @@ jobs:
|
||||
run: ./scripthaus/scripthaus run ${{ matrix.scripthaus }}
|
||||
env:
|
||||
GOARCH: ${{ matrix.arch }}
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: waveterm-build-${{ matrix.platform }}
|
||||
path: make/*.* # only upload files from the make directory, not subdirectories
|
||||
retention-days: 2
|
||||
upload:
|
||||
name: "Upload Builds"
|
||||
runs-on: ubuntu-latest
|
||||
needs: [runbuild]
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
merge-multiple: true
|
||||
path: buildtemp
|
||||
- name: Set `version.txt`
|
||||
run: |
|
||||
echo "${{ needs.runbuild.outputs.WAVETERM_VERSION }}" >> buildtemp/version.txt
|
||||
- name: Zip Builds
|
||||
run: (cd buildtemp; zip -q ../waveterm-builds.zip *)
|
||||
- name: Upload to S3
|
||||
run: aws s3 cp waveterm-builds.zip s3://waveterm-github-artifacts/
|
||||
CSC_LINK: ${{ matrix.platform == 'darwin' && secrets.PROD_MACOS_CERTIFICATE}}
|
||||
CSC_KEY_PASSWORD: ${{ matrix.platform == 'darwin' && secrets.PROD_MACOS_CERTIFICATE_PWD }}
|
||||
APPLE_ID: ${{ matrix.platform == 'darwin' && secrets.PROD_MACOS_NOTARIZATION_APPLE_ID }}
|
||||
APPLE_APP_SPECIFIC_PASSWORD: ${{ matrix.platform == 'darwin' && secrets.PROD_MACOS_NOTARIZATION_PWD }}
|
||||
APPLE_TEAM_ID: ${{ matrix.platform == 'darwin' && secrets.PROD_MACOS_NOTARIZATION_TEAM_ID }}
|
||||
- name: Upload to S3 staging
|
||||
run: aws s3 cp make/ s3://waveterm-github-artifacts/staging/${{ steps.set-version.outputs.WAVETERM_VERSION }}/ --recursive --exclude "*/*" --exclude "builder-*.yml"
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: "${{ secrets.S3_USERID }}"
|
||||
AWS_SECRET_ACCESS_KEY: "${{ secrets.S3_SECRETKEY }}"
|
||||
|
||||
@@ -53,12 +53,6 @@ Install modules (we use yarn):
|
||||
yarn
|
||||
```
|
||||
|
||||
Electron also requires specific builds of node_modules to work (because Electron embeds a specific node.js version that might not match your development node.js version). We use a special electron command to cross-compile those modules:
|
||||
|
||||
```
|
||||
scripthaus run electron-rebuild
|
||||
```
|
||||
|
||||
## Running WebPack
|
||||
|
||||
We use webpack to build both the React and Electron App Wrapper code. They are both run together using:
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
# Wave Terminal
|
||||
|
||||
An open-source, cross-platform, AI-integrated, modern terminal for seamless workflows.
|
||||
Wave is an open-source AI-native terminal built for seamless workflows.
|
||||
|
||||
Wave isn't just another terminal emulator; it's a rethink on how terminals are built. Wave combines command line with the power of the open web to help veteran CLI users and new developers alike.
|
||||
|
||||
@@ -17,13 +17,14 @@ Wave isn't just another terminal emulator; it's a rethink on how terminals are b
|
||||
- Persistent sessions that can restore state across network disconnections and reboots
|
||||
- Searchable contextual command history across all remote sessions (saved locally)
|
||||
- Workspaces, tabs, and command blocks to keep you organized
|
||||
- CodeEdit, to edit local and remote files with a VSCode-like inline editor
|
||||
- AI Integration with ChatGPT (or ChatGPT compatible APIs) to help write commands and get answers inline
|
||||
|
||||

|
||||

|
||||
|
||||
## Installation
|
||||
|
||||
Wave Terminal works with MacOS and Linux (preliminary).
|
||||
Wave Terminal works with MacOS and Linux.
|
||||
|
||||
Install Wave Terminal from: [www.waveterm.dev/download](https://www.waveterm.dev/download)
|
||||
|
||||
@@ -49,7 +50,7 @@ brew install --cask wave
|
||||
|
||||
## Contributing
|
||||
|
||||
Wave uses Github Project for tracking issues.
|
||||
Wave uses Github Issues for issue tracking.
|
||||
|
||||
Find more information in our [Contributions Guide](CONTRIBUTING.md), which includes:
|
||||
|
||||
|
||||
@@ -11,9 +11,9 @@ The license disclaimers for the backend are generated using the [go-licenses](ht
|
||||
|
||||
The license disclaimers for the frontend are generated using the [`yarn licenses` tool](https://classic.yarnpkg.com/lang/en/docs/cli/licenses/). This outputs to the file [`frontend.md`](./disclaimers/frontend.md).
|
||||
|
||||
These three disclaimer files linked above will be periodically regenerated to reflect new dependencies.
|
||||
These disclaimer files linked above will be periodically regenerated to reflect new dependencies.
|
||||
|
||||
The [`scripthaus.md` file](../scripthaus.md) contains scripts to genrate the disclaimers and package them. To manually generate the disclaimers, run the following from the repository root directory:
|
||||
The [`scripthaus.md` file](../scripthaus.md) contains scripts to generate the disclaimers and package them. To manually generate the disclaimers, run the following from the repository root directory:
|
||||
|
||||
```bash
|
||||
scripthaus run generate-license-disclaimers
|
||||
|
||||
@@ -179,11 +179,11 @@ THE SOFTWARE.
|
||||
|
||||
-----
|
||||
|
||||
## github.com/google/go-github/v59/github
|
||||
## github.com/google/go-github/v60/github
|
||||
|
||||
* Name: github.com/google/go-github/v59/github
|
||||
* Version: v59.0.0
|
||||
* License: [BSD-3-Clause](https://github.com/google/go-github/blob/v59.0.0/LICENSE)
|
||||
* Name: github.com/google/go-github/v60/github
|
||||
* Version: v60.0.0
|
||||
* License: [BSD-3-Clause](https://github.com/google/go-github/blob/v60.0.0/LICENSE)
|
||||
|
||||
```txt
|
||||
Copyright (c) 2013 The go-github AUTHORS. All rights reserved.
|
||||
@@ -1138,8 +1138,8 @@ Exhibit B - “Incompatible With Secondary Licenses” Notice
|
||||
## github.com/kevinburke/ssh_config
|
||||
|
||||
* Name: github.com/kevinburke/ssh_config
|
||||
* Version: v0.0.0-20240109090616-36c8da3d7376
|
||||
* License: [MIT](https://github.com/wavetermdev/ssh_config/blob/36c8da3d7376/LICENSE)
|
||||
* Version: v0.0.0-20240306041034-17e2087ebde2
|
||||
* License: [MIT](https://github.com/wavetermdev/ssh_config/blob/17e2087ebde2/LICENSE)
|
||||
|
||||
```txt
|
||||
Copyright (c) 2017 Kevin Burke.
|
||||
|
||||
+1523
-2193
File diff suppressed because one or more lines are too long
@@ -0,0 +1,266 @@
|
||||
[
|
||||
{
|
||||
"command": "system:toggleDeveloperTools",
|
||||
"keys": ["Cmd:Option:i"]
|
||||
},
|
||||
{
|
||||
"command": "generic:cancel",
|
||||
"keys": ["Escape"]
|
||||
},
|
||||
{
|
||||
"command": "generic:confirm",
|
||||
"keys": ["Enter"]
|
||||
},
|
||||
{
|
||||
"command": "generic:deleteItem",
|
||||
"keys": ["Backspace", "Delete"]
|
||||
},
|
||||
{
|
||||
"command": "generic:selectAbove",
|
||||
"keys": ["ArrowUp"]
|
||||
},
|
||||
{
|
||||
"command": "generic:selectBelow",
|
||||
"keys": ["ArrowDown"]
|
||||
},
|
||||
{
|
||||
"command": "generic:selectPageAbove",
|
||||
"keys": ["PageUp"]
|
||||
},
|
||||
{
|
||||
"command": "generic:selectPageBelow",
|
||||
"keys": ["PageDown"]
|
||||
},
|
||||
{
|
||||
"command": "app:openHistory",
|
||||
"keys": ["Cmd:h"]
|
||||
},
|
||||
{
|
||||
"command": "app:openTabSearchModal",
|
||||
"keys": ["Cmd:p"]
|
||||
},
|
||||
{
|
||||
"command": "app:openConnectionsView",
|
||||
"keys": []
|
||||
},
|
||||
{
|
||||
"command": "app:openSettingsView",
|
||||
"keys": []
|
||||
},
|
||||
{
|
||||
"command": "app:newTab",
|
||||
"keys": ["Cmd:t"]
|
||||
},
|
||||
{
|
||||
"command": "app:focusCmdInput",
|
||||
"keys": ["Cmd:i"]
|
||||
},
|
||||
{
|
||||
"command": "app:focusSelectedLine",
|
||||
"keys": ["Cmd:l"]
|
||||
},
|
||||
{
|
||||
"command": "app:restartCommand",
|
||||
"keys": ["Cmd:r"]
|
||||
},
|
||||
{
|
||||
"command": "app:restartLastCommand",
|
||||
"keys": ["Cmd:Shift:r"]
|
||||
},
|
||||
{
|
||||
"command": "app:closeCurrentTab",
|
||||
"keys": ["Cmd:w"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectLineAbove",
|
||||
"keys": ["Cmd:ArrowUp", "Cmd:PageUp"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectLineBelow",
|
||||
"keys": ["Cmd:ArrowDown", "Cmd:PageDown"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectTab-1",
|
||||
"keys": ["Cmd:1"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectTab-2",
|
||||
"keys": ["Cmd:2"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectTab-3",
|
||||
"keys": ["Cmd:3"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectTab-4",
|
||||
"keys": ["Cmd:4"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectTab-5",
|
||||
"keys": ["Cmd:5"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectTab-6",
|
||||
"keys": ["Cmd:6"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectTab-7",
|
||||
"keys": ["Cmd:7"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectTab-8",
|
||||
"keys": ["Cmd:8"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectTab-9",
|
||||
"keys": ["Cmd:9"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectTabLeft",
|
||||
"keys": ["Cmd:["]
|
||||
},
|
||||
{
|
||||
"command": "app:selectTabRight",
|
||||
"keys": ["Cmd:]"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectWorkspace-1",
|
||||
"keys": ["Cmd:Ctrl:1"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectWorkspace-2",
|
||||
"keys": ["Cmd:Ctrl:2"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectWorkspace-3",
|
||||
"keys": ["Cmd:Ctrl:3"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectWorkspace-4",
|
||||
"keys": ["Cmd:Ctrl:4"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectWorkspace-5",
|
||||
"keys": ["Cmd:Ctrl:5"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectWorkspace-6",
|
||||
"keys": ["Cmd:Ctrl:6"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectWorkspace-7",
|
||||
"keys": ["Cmd:Ctrl:7"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectWorkspace-8",
|
||||
"keys": ["Cmd:Ctrl:8"]
|
||||
},
|
||||
{
|
||||
"command": "app:selectWorkspace-9",
|
||||
"keys": ["Cmd:Ctrl:9"]
|
||||
},
|
||||
{
|
||||
"command": "app:toggleSidebar",
|
||||
"keys": ["Cmd:Ctrl:s"]
|
||||
},
|
||||
{
|
||||
"command": "app:deleteActiveLine",
|
||||
"keys": ["Cmd:d"]
|
||||
},
|
||||
{
|
||||
"command": "app:bookmarkActiveLine",
|
||||
"keys": ["Cmd:b"]
|
||||
},
|
||||
{
|
||||
"command": "bookmarks:edit",
|
||||
"keys": ["e"]
|
||||
},
|
||||
{
|
||||
"command": "bookmarks:copy",
|
||||
"keys": ["c"]
|
||||
},
|
||||
{
|
||||
"command": "cmdinput:autocomplete",
|
||||
"keys": ["Tab"]
|
||||
},
|
||||
{
|
||||
"command": "cmdinput:expandInput",
|
||||
"keys": ["Cmd:e"]
|
||||
},
|
||||
{
|
||||
"command": "cmdinput:clearInput",
|
||||
"keys": ["Ctrl:c"]
|
||||
},
|
||||
{
|
||||
"command": "cmdinput:cutLineLeftOfCursor",
|
||||
"keys": ["Ctrl:u"]
|
||||
},
|
||||
{
|
||||
"command": "cmdinput:previousHistoryItem",
|
||||
"keys": ["Ctrl:p"]
|
||||
},
|
||||
{
|
||||
"command": "cmdinput:nextHistoryItem",
|
||||
"keys": ["Ctrl:n"]
|
||||
},
|
||||
{
|
||||
"command": "cmdinput:cutWordLeftOfCursor",
|
||||
"keys": ["Ctrl:w"]
|
||||
},
|
||||
{
|
||||
"command": "cmdinput:paste",
|
||||
"keys": ["Ctrl:y"]
|
||||
},
|
||||
{
|
||||
"command": "cmdinput:openHistory",
|
||||
"keys": ["Ctrl:r"]
|
||||
},
|
||||
{
|
||||
"command": "cmdinput:openAIChat",
|
||||
"keys": ["Ctrl:Space"]
|
||||
},
|
||||
{
|
||||
"command": "history:closeHistory",
|
||||
"keys": ["Ctrl:g", "Ctrl:c"]
|
||||
},
|
||||
{
|
||||
"command": "history:toggleShowRemotes",
|
||||
"keys": ["Cmd:r", "Ctrl:r"]
|
||||
},
|
||||
{
|
||||
"command": "history:changeScope",
|
||||
"keys": ["Ctrl:s", "Cmd:s"]
|
||||
},
|
||||
{
|
||||
"command": "history:selectNextItem",
|
||||
"keys": ["Ctrl:n"]
|
||||
},
|
||||
{
|
||||
"command": "history:selectPreviousItem",
|
||||
"keys": ["Ctrl:p"]
|
||||
},
|
||||
{
|
||||
"command": "aichat:clearHistory",
|
||||
"keys": ["Ctrl:l"]
|
||||
},
|
||||
{
|
||||
"command": "terminal:copy",
|
||||
"keys": ["Ctrl:Shift:c"]
|
||||
},
|
||||
{
|
||||
"command": "terminal:paste",
|
||||
"keys": ["Ctrl:Shift:v"]
|
||||
},
|
||||
{
|
||||
"command": "codeedit:save",
|
||||
"keys": ["Cmd:s"]
|
||||
},
|
||||
{
|
||||
"command": "codeedit:close",
|
||||
"keys": ["Cmd:d"]
|
||||
},
|
||||
{
|
||||
"command": "codeedit:togglePreview",
|
||||
"keys": ["Cmd:p"]
|
||||
}
|
||||
]
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 306 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 217 KiB |
+2
-1
@@ -1,3 +1,4 @@
|
||||
*/
|
||||
*builds/
|
||||
*-staged/
|
||||
*.zip
|
||||
*.dmg
|
||||
|
||||
+23
-19
@@ -2,7 +2,7 @@
|
||||
|
||||
## Build Helper workflow
|
||||
|
||||
Our release builds are managed by the "Build Helper" GitHub Action, which is defined
|
||||
Our release builds are managed by the "Build Helper" GitHub Action, which is defined
|
||||
in [`build-helper.yml`](../.github/workflows/build-helper.yml).
|
||||
|
||||
Under the hood, this will call the `build-package` and `build-package-linux` scripts in
|
||||
@@ -11,29 +11,42 @@ WebPack and then the `wavesrv` and `mshell` binaries, then it will call `electro
|
||||
to generate the distributable app packages. The configuration for `electron-builder`
|
||||
is [`electron-builder.config.js`](../electron-builder.config.js).
|
||||
|
||||
We are working to fully automate the building of release artifacts. For now,
|
||||
manual steps are still required to sign and notarize the macOS artifacts. The
|
||||
Linux artifacts do not require additional modification before being published.
|
||||
This will also sign and notarize the macOS app package.
|
||||
|
||||
## Local signing and notarizing for macOS
|
||||
Once a build is complete, it will be placed in `s3://waveterm-github-artifacts/staging/<version>`.
|
||||
It can be downloaded for testing using the [`download-staged-artifact.sh`](./download-staged-artifact.sh)
|
||||
script. When you are ready to publish the artifacts to the public release feed, use the
|
||||
[`publish-from-staging.sh`](./publish-from-staging.sh) script to directly copy the artifacts from
|
||||
the staging bucket to the releases bucket.
|
||||
|
||||
The [`prepare-macos.sh`](./prepare-macos.sh) script will download the latest build
|
||||
## Automatic updates
|
||||
|
||||
Thanks to `electron-updater`, we are able to provide automatic app updates for macOS and Linux,
|
||||
as long as the app was distributed as a DMG, AppImage, RPM, or DEB file.
|
||||
|
||||
With each release, `latest-mac.yml` and `latest-linux.yml` files will be produced that point to the
|
||||
newest release. These also include file sizes and checksums to aid in validating the packages. The app
|
||||
will check these files in our S3 bucket every hour to see if a new version is available.
|
||||
|
||||
## Local signing and notarizing for macOS (Deprecated)
|
||||
|
||||
The [`prepare-macos.sh`](./deprecated/prepare-macos.sh) script will download the latest build
|
||||
artifacts from S3 and sign and notarize the macOS binaries within it. It will then
|
||||
generate a DMG and a new ZIP archive with the new signed app.
|
||||
|
||||
This will call a few different JS scripts to perform more complicated operations.
|
||||
[`osx-sign.js`](./osx-sign.js) and [`osx-notarize.js`](./osx-notarize.js) call
|
||||
[`osx-sign.js`](./deprecated/osx-sign.js) and [`osx-notarize.js`](./deprecated/osx-notarize.js) call
|
||||
underlying Electron APIs to sign and notarize the package.
|
||||
[`update-latest-mac.js`](./update-latest-mac.js) will then update the `latest-mac.yml`
|
||||
[`update-latest-mac.js`](./deprecated/update-latest-mac.js) will then update the `latest-mac.yml`
|
||||
file with the SHA512 checksum and file size of the new signed and notarized installer. This
|
||||
is important for the `electron-updater` auto-update mechanism to then find and validate new releases.
|
||||
|
||||
## Uploading release artifacts for distribution
|
||||
## Uploading release artifacts for distribution (Deprecated)
|
||||
|
||||
### Upload script
|
||||
|
||||
Once the build has been fully validated and is ready to be released, the
|
||||
[`upload-release.sh`](./upload-release.sh) script is then used to grab the completed
|
||||
[`upload-release.sh`](./deprecated/upload-release.sh) script is then used to grab the completed
|
||||
artifacts and upload them to the `dl.waveterm.dev` S3 bucket for distribution.
|
||||
|
||||
### Homebrew
|
||||
@@ -56,12 +69,3 @@ command. More information can be found
|
||||
|
||||
We also exclude most of our `node_modules` from packaging, as WebPack handles packaging
|
||||
of any dependencies for us. The one exception is `monaco-editor`.
|
||||
|
||||
## Automatic updates
|
||||
|
||||
Thanks to `electron-updater`, we are able to provide automatic app updates for macOS and Linux,
|
||||
as long as the app was distributed as a DMG, AppImage, RPM, or DEB file.
|
||||
|
||||
With each release, `latest-mac.yml` and `latest-linux.yml` files will be produced that point to the
|
||||
newest release. These also include file sizes and checksums to aid in validating the packages. The app
|
||||
will check these files in our S3 bucket every hour to see if a new version is available.
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
# Downloads the artifacts for the specified version from the staging bucket for local testing.
|
||||
# Usage: download-staged-artifact.sh <version>
|
||||
# Example: download-staged-artifact.sh 0.1.0
|
||||
|
||||
# Retrieve version from the first argument
|
||||
VERSION=$1
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo "Usage: $0 <version>"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Download the artifacts for the specified version from the staging bucket
|
||||
DOWNLOAD_DIR=$VERSION-staged
|
||||
rm -rf $DOWNLOAD_DIR
|
||||
mkdir -p $DOWNLOAD_DIR
|
||||
aws s3 cp s3://waveterm-github-artifacts/staging/$VERSION/ $DOWNLOAD_DIR/ --recursive --profile $AWS_PROFILE
|
||||
@@ -0,0 +1,21 @@
|
||||
# Takes a release from our staging bucket and publishes it to the public download bucket.
|
||||
# Usage: publish-from-staging.sh <version>
|
||||
# Example: publish-from-staging.sh 0.1.0
|
||||
|
||||
# Takes the version as an argument
|
||||
VERSION=$1
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo "Usage: $0 <version>"
|
||||
exit
|
||||
fi
|
||||
|
||||
ORIGIN="waveterm-github-artifacts/staging/$VERSION/"
|
||||
DESTINATION="dl.waveterm.dev/releases/"
|
||||
|
||||
OUTPUT=$(aws s3 cp s3://$ORIGIN s3://$DESTINATION --recursive --profile $AWS_PROFILE)
|
||||
|
||||
for line in $OUTPUT; do
|
||||
PREFIX=${line%%${DESTINATION}*}
|
||||
SUFFIX=${line:${#PREFIX}}
|
||||
echo "https://$SUFFIX"
|
||||
done
|
||||
@@ -46,23 +46,36 @@ const config = {
|
||||
},
|
||||
asarUnpack: ["bin/**/*"],
|
||||
mac: {
|
||||
target: {
|
||||
target: "zip",
|
||||
arch: "universal",
|
||||
},
|
||||
target: [
|
||||
{
|
||||
target: "zip",
|
||||
arch: "universal",
|
||||
},
|
||||
{
|
||||
target: "dmg",
|
||||
arch: "universal",
|
||||
},
|
||||
],
|
||||
appId: "dev.commandline.waveterm",
|
||||
icon: "public/waveterm.icns",
|
||||
category: "public.app-category.developer-tools",
|
||||
minimumSystemVersion: "10.15.0",
|
||||
notarize: process.env.APPLE_TEAM_ID
|
||||
? {
|
||||
teamId: process.env.APPLE_TEAM_ID,
|
||||
}
|
||||
: false,
|
||||
binaries: fs
|
||||
.readdirSync("bin", { recursive: true, withFileTypes: true })
|
||||
.filter((f) => f.isFile())
|
||||
.map((f) => path.resolve(f.path, f.name)),
|
||||
},
|
||||
linux: {
|
||||
appId: "dev.commandline.waveterm",
|
||||
executableName: pkg.productName,
|
||||
category: "TerminalEmulator",
|
||||
icon: "public/waveterm.icns",
|
||||
target: ["zip", "deb", "rpm", "AppImage"],
|
||||
target: ["zip", "deb", "rpm", "AppImage", "pacman", "snap"],
|
||||
synopsis: pkg.description,
|
||||
description: null,
|
||||
desktop: {
|
||||
@@ -75,9 +88,26 @@ const config = {
|
||||
appImage: {
|
||||
license: "LICENSE",
|
||||
},
|
||||
snap: {
|
||||
base: "core20",
|
||||
grade: "stable",
|
||||
confinement: "classic",
|
||||
summary: pkg.productName,
|
||||
title: pkg.productName,
|
||||
description: null,
|
||||
synopsis: pkg.description,
|
||||
allowNativeWayland: true,
|
||||
desktop: {
|
||||
Name: pkg.productName,
|
||||
Comment: pkg.description,
|
||||
Keywords: "developer;terminal;emulator;",
|
||||
category: "Development;Utility;",
|
||||
exec: pkg.productName,
|
||||
},
|
||||
},
|
||||
publish: {
|
||||
provider: "generic",
|
||||
url: "https://waveterm-test-autoupdate.s3.us-west-2.amazonaws.com/autoupdate",
|
||||
url: "https://dl.waveterm.dev/releases",
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user