diff --git a/.github/workflows/deploy-desktop.yml b/.github/workflows/deploy-desktop.yml index 22503d85..ac9a11be 100644 --- a/.github/workflows/deploy-desktop.yml +++ b/.github/workflows/deploy-desktop.yml @@ -1,9 +1,14 @@ name: Build and deploy desktop clients on: push: - branches: - - main + tags: + - '[0-9]+.[0-9]+.[0-9]+' jobs: + prepare-release: + runs-on: ubuntu-latest + steps: + - name: Create release + uses: softprops/action-gh-release@v1 desktop-linux: runs-on: ubuntu-latest steps: @@ -20,13 +25,10 @@ jobs: yarn run bundle-linux env: DIAFORM_API_HOST: ${{secrets.api_host}} - - name: Deploy to Azure Storage - run: | - cd src/desktop - az storage blob upload -f "./dist/Thinktool Desktop Prototype.AppImage" -c '$web' -o table - env: - AZURE_STORAGE_ACCOUNT: ${{secrets.azure_storage_account}} - AZURE_STORAGE_KEY: ${{secrets.azure_storage_key}} + - name: Create release + uses: softprops/action-gh-release@v1 + with: + files: 'src/desktop/dist/Thinktool*.AppImage' desktop-windows: runs-on: windows-2019 steps: @@ -44,11 +46,8 @@ jobs: shell: bash env: DIAFORM_API_HOST: ${{secrets.api_host}} - - name: Deploy to Azure Storage - run: | - cd src/desktop - az storage blob upload -f "./dist/Thinktool Desktop Prototype.exe" -c '$web' -o table - shell: bash - env: - AZURE_STORAGE_ACCOUNT: ${{secrets.azure_storage_account}} - AZURE_STORAGE_KEY: ${{secrets.azure_storage_key}} + - name: Create release + uses: softprops/action-gh-release@v1 + with: + files: 'src/desktop/dist/Thinktool*.exe' + diff --git a/README.md b/README.md index 8db75038..592cef06 100644 --- a/README.md +++ b/README.md @@ -145,10 +145,15 @@ page. ### Releasing new client version When you are ready to push out a client-side update, run -`tools/dev/release-client.sh `. This will bump the version number to -``, publish the package, and also update the relevant dependency in +`tools/dev/release-client.sh `. This will bump the version number to +``, publish the package, and also update the relevant dependency in the web and desktop clients. -Then commit the changes, push to origin, and in the GitHub repository, run the -action titled "Deploy to Azure Storage". +Manually update the version number in the `package.json` for the `desktop` +package, commit the changes, tag the commit with a tag of the form `x.y.z` and +push to GitHub. A workflow should automatically create a GitHub release; manually +update this release with the release notes. + +Note that the tag should be the same as the desktop client version, while the +version number for the client package may be different! diff --git a/src/desktop/package.json b/src/desktop/package.json index 56852c8e..46aa6e4b 100644 --- a/src/desktop/package.json +++ b/src/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@thinktool/desktop", - "version": "0.0.0-noversion", + "version": "1.0.0", "description": "The desktop client for Thinktool.", "license": "UNLICENSED", "repository": { @@ -28,13 +28,13 @@ "build-static": "./build-static-and-client-for-desktop.sh", "build": "mkdir -p build && tsc && yarn run build-static", "start": "electron-builder --dir && ./dist/linux-unpacked/thinktool-desktop-client", - "bundle-linux": "yarn run build && electron-builder -l -p never && mv 'dist/Thinktool Desktop Prototype-0.0.0-noversion.AppImage' 'dist/Thinktool Desktop Prototype.AppImage' && echo 'Output in ./dist/'", - "bundle-windows": "yarn run build && electron-builder -w -p never && mv 'dist/Thinktool Desktop Prototype 0.0.0-noversion.exe' 'dist/Thinktool Desktop Prototype.exe' && echo 'Output in ./dist/'" + "bundle-linux": "yarn run build && electron-builder -l -p never && echo 'Output in ./dist/'", + "bundle-windows": "yarn run build && electron-builder -w -p never && echo 'Output in ./dist/'" }, "main": "build/start.js", "build": { - "appId": "io.thinktool.desktop.prototype", - "productName": "Thinktool Desktop Prototype", + "appId": "io.thinktool.desktop", + "productName": "Thinktool", "files": [ "build/**/*" ], diff --git a/src/web/pages/download.tsx b/src/web/pages/download.tsx index 692a3a87..70494098 100644 --- a/src/web/pages/download.tsx +++ b/src/web/pages/download.tsx @@ -13,7 +13,7 @@ export async function getStaticProps() { }; } -function Timestamp(props: {date: Date}) { +function Timestamp(props: { date: Date }) { const year = props.date.getUTCFullYear().toString(); const monthName = [ "January", @@ -38,7 +38,7 @@ function Timestamp(props: {date: Date}) { ); } -export default function Download(props: {apiHost: string; assetsHost: string; generatedTime: number}) { +export default function Download(props: { apiHost: string; assetsHost: string; generatedTime: number }) { return ( @@ -73,24 +73,25 @@ export default function Download(props: {apiHost: string; assetsHost: string; ge

- The current version is a pre-prototype intended purely for testing. If you use this, - you may lose your data. It is not currently possible to synchronize your data in the desktop client to - the online version, and it may never be (from the current version, that is)! + The current version is a prototype intended purely for testing. If you use this, you + may lose your data. It is not currently possible to synchronize your data in the desktop client to the + online version, and it may never be (from the current version, that is)!

- Get it for Linux here:{" "} - - Thinktool Desktop Prototype.AppImage + Download it for Linux or Windows from GitHub:{" "} + + Latest release - . Just make it executable with chmod +x <FILENAME> and then run it.

- Get it for Windows here:{" "} - - Thinktool Desktop Prototype .exe - - . This is a so-called portable executable, so you don't need to install anything – just run it. + For Linux, just make the downloaded AppImage executable with{" "} + chmod +x <FILENAME> and then run it. +

+

+ The Windows version is a so-called portable executable, so you don't need to install + anything – just run it.

+

Currently, no macOS version is available

Last updated .