From 473c4636cfa00e7f1476a1e645795633fab0d86a Mon Sep 17 00:00:00 2001 From: Fabio Di Stasio Date: Mon, 31 Jul 2023 10:55:05 +0200 Subject: [PATCH 1/6] ci: arrangements for beta channel --- .github/workflows/build-beta.yml | 47 +++++++++++++++++++ .github/workflows/build.yml | 12 ++++- .github/workflows/test-e2e-win.yml | 5 +- package-lock.json | 34 ++++++++++---- package.json | 4 +- src/main/ipc-handlers/updates.ts | 15 ++++-- .../components/ModalSettingsUpdate.vue | 2 +- src/renderer/stores/settings.ts | 2 +- 8 files changed, 103 insertions(+), 18 deletions(-) create mode 100644 .github/workflows/build-beta.yml diff --git a/.github/workflows/build-beta.yml b/.github/workflows/build-beta.yml new file mode 100644 index 00000000..02fdc27d --- /dev/null +++ b/.github/workflows/build-beta.yml @@ -0,0 +1,47 @@ +name: Build & release [BETA] + +on: + push: + tags: + - "v*" + - '*-beta.[0-9]+' + +env: + BRANCH_NAME: ${{ github.ref }} + +jobs: + release: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [macos-11, ubuntu-20.04, windows-latest] + + steps: + - name: Exit if not on beta branch + if: contains(env.BRANCH_NAME, 'beta') == false + run: | + echo "Wrong environment ${{env.BRANCH_NAME}}" + exit 0 + + - name: Check out Git repository + uses: actions/checkout@v3 + + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: 16 + + - name: Install dependencies + run: npm i + + - name: "Build" + run: npm run build + + - name: Release + uses: ncipollo/release-action@v1 + with: + artifacts: "build/*.AppImage,build/*.yml,build/*.deb,build/*.dmg,build/*.blockmap,build/*.zip,build/*.exe" + allowUpdates: true + draft: true + generateReleaseNotes: true diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 77d1e5f1..1c4fba2f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,9 +1,13 @@ -name: Build & release +name: Build & release [STABLE] on: push: tags: - "v*" + - '!*-beta.[0-9]+' + +env: + BRANCH_NAME: ${{ github.ref }} jobs: release: @@ -14,6 +18,12 @@ jobs: os: [macos-11, ubuntu-20.04, windows-latest] steps: + - name: Exit if not on master branch + if: contains(env.BRANCH_NAME, 'master') == false + run: | + echo "Wrong environment ${{env.BRANCH_NAME}}" + exit 0 + - name: Check out Git repository uses: actions/checkout@v3 diff --git a/.github/workflows/test-e2e-win.yml b/.github/workflows/test-e2e-win.yml index a01ea47b..bca35269 100644 --- a/.github/workflows/test-e2e-win.yml +++ b/.github/workflows/test-e2e-win.yml @@ -1,6 +1,9 @@ name: Test end-to-end [WINDOWS] -on: push +on: + push: + branches: + - master jobs: release: diff --git a/package-lock.json b/package-lock.json index f66b1f9c..c1028213 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "moment": "~2.29.4", "mysql2": "~2.3.2", "node-firebird": "~1.1.4", - "pg": "~8.7.1", + "pg": "~8.11.1", "pg-connection-string": "~2.5.0", "pg-query-stream": "~4.2.3", "pgsql-ast-parser": "~7.2.1", @@ -10439,22 +10439,26 @@ "license": "MIT" }, "node_modules/pg": { - "version": "8.7.3", - "license": "MIT", + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.1.tgz", + "integrity": "sha512-utdq2obft07MxaDg0zBJI+l/M3mBRfIpEN3iSemsz0G5F2/VXx+XzqF4oxrbIZXQxt2AZzIUzyVg/YM6xOP/WQ==", "dependencies": { "buffer-writer": "2.0.0", "packet-reader": "1.0.0", - "pg-connection-string": "^2.5.0", - "pg-pool": "^3.5.1", - "pg-protocol": "^1.5.0", + "pg-connection-string": "^2.6.1", + "pg-pool": "^3.6.1", + "pg-protocol": "^1.6.0", "pg-types": "^2.1.0", "pgpass": "1.x" }, "engines": { "node": ">= 8.0.0" }, + "optionalDependencies": { + "pg-cloudflare": "^1.1.1" + }, "peerDependencies": { - "pg-native": ">=2.0.0" + "pg-native": ">=3.0.1" }, "peerDependenciesMeta": { "pg-native": { @@ -10462,6 +10466,12 @@ } } }, + "node_modules/pg-cloudflare": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz", + "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", + "optional": true + }, "node_modules/pg-connection-string": { "version": "2.5.0", "license": "MIT" @@ -10481,8 +10491,9 @@ } }, "node_modules/pg-pool": { - "version": "3.6.0", - "license": "MIT", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.1.tgz", + "integrity": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==", "peerDependencies": { "pg": ">=8.0" } @@ -10512,6 +10523,11 @@ "node": ">=4" } }, + "node_modules/pg/node_modules/pg-connection-string": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.1.tgz", + "integrity": "sha512-w6ZzNu6oMmIzEAYVw+RLK0+nqHPt8K3ZnknKi+g48Ak2pr3dtljJW3o+D/n2zzCG07Zoe9VOX3aiKpj+BN0pjg==" + }, "node_modules/pgpass": { "version": "1.0.5", "license": "MIT", diff --git a/package.json b/package.json index 121ef44d..ef40124c 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "build:appx": "npm run build -- --win appx", "rebuild:electron": "rimraf ./dist && npm run postinstall && npm run devtools:install", "release": "standard-version", - "release:pre": "npm run release -- --prerelease alpha", + "release:beta": "npm run release -- --prerelease beta", "devtools:install": "node scripts/devtoolsInstaller", "postinstall": "electron-builder install-app-deps", "test:e2e": "npm run compile && npm run test:e2e-dry", @@ -136,7 +136,7 @@ "moment": "~2.29.4", "mysql2": "~2.3.2", "node-firebird": "~1.1.4", - "pg": "~8.7.1", + "pg": "~8.11.1", "pg-connection-string": "~2.5.0", "pg-query-stream": "~4.2.3", "pgsql-ast-parser": "~7.2.1", diff --git a/src/main/ipc-handlers/updates.ts b/src/main/ipc-handlers/updates.ts index 64a1175d..0d453ba0 100644 --- a/src/main/ipc-handlers/updates.ts +++ b/src/main/ipc-handlers/updates.ts @@ -1,11 +1,20 @@ import { ipcMain } from 'electron'; import { autoUpdater } from 'electron-updater'; import * as Store from 'electron-store'; -const persistentStore = new Store({ name: 'settings', clearInvalidConfig: true }); -const isMacOS = process.platform === 'darwin'; +const persistentStore = new Store({ + name: 'settings', + clearInvalidConfig: true, + migrations: { + '0.7.15': store => { + store.set('allow_prerelease', false); + } + } +}); + +const isMacOS = process.platform === 'darwin'; let mainWindow: Electron.IpcMainEvent; -autoUpdater.allowPrerelease = persistentStore.get('allow_prerelease', true) as boolean; +autoUpdater.allowPrerelease = persistentStore.get('allow_prerelease', false) as boolean; export default () => { ipcMain.on('check-for-updates', event => { diff --git a/src/renderer/components/ModalSettingsUpdate.vue b/src/renderer/components/ModalSettingsUpdate.vue index 88571184..6a0ec15b 100644 --- a/src/renderer/components/ModalSettingsUpdate.vue +++ b/src/renderer/components/ModalSettingsUpdate.vue @@ -44,7 +44,7 @@
-
diff --git a/src/renderer/components/FakerSelect.vue b/src/renderer/components/FakerSelect.vue index 49385bd3..8aea2fb3 100644 --- a/src/renderer/components/FakerSelect.vue +++ b/src/renderer/components/FakerSelect.vue @@ -4,7 +4,7 @@ v-model="selectedGroup" class="form-select" :options="[{name: 'manual'}, ...fakerGroups]" - :option-label="(opt: any) => opt.name === 'manual' ? t('message.manualValue') : t(`faker.${opt.name}`)" + :option-label="(opt: any) => opt.name === 'manual' ? t('general.manualValue') : t(`faker.${opt.name}`)" option-track-by="name" :disabled="!isChecked" :style="'flex-grow: 0;'" @@ -41,7 +41,7 @@ diff --git a/src/renderer/components/KeyPressDetector.vue b/src/renderer/components/KeyPressDetector.vue index 283f6c96..df89eac5 100644 --- a/src/renderer/components/KeyPressDetector.vue +++ b/src/renderer/components/KeyPressDetector.vue @@ -4,7 +4,7 @@ class="form-input" type="text" :value="pressedKeys" - :placeholder="t('message.registerAShortcut')" + :placeholder="t('application.registerAShortcut')" @focus="isFocus = true" @blur="isFocus = false" @keydown.prevent.stop="onKey" @@ -49,7 +49,7 @@ const pressedKeys = computed(() => { keys.push('Shift'); if (keyboardEvent.value.code) { if (keys.length === 0 && (keyboardEvent.value.key.length === 1 || singleKeysToIgnore.includes(keyboardEvent.value.key))) - return t('message.invalidShortcutMessage'); + return t('application.invalidShortcutMessage'); else if (!specialKeys.includes(keyboardEvent.value.key)) { if (keyboardEvent.value.key === 'Dead') { keys.push(keyboardEvent.value.code @@ -82,7 +82,7 @@ const pressedKeys = computed(() => { } } else - return t('message.invalidShortcutMessage'); + return t('application.invalidShortcutMessage'); } } @@ -96,7 +96,7 @@ const onKey = (e: KeyboardEvent) => { }; watch(pressedKeys, (value) => { - if (value !== t('message.invalidShortcutMessage')) + if (value !== t('application.invalidShortcutMessage')) emit('update:modelValue', pressedKeys.value); }); diff --git a/src/renderer/components/ModalAllConnections.vue b/src/renderer/components/ModalAllConnections.vue index 16bd4131..3cadbaed 100644 --- a/src/renderer/components/ModalAllConnections.vue +++ b/src/renderer/components/ModalAllConnections.vue @@ -7,7 +7,7 @@ @@ -21,7 +21,7 @@ v-model="searchTerm" class="form-input" type="text" - :placeholder="t('message.searchForConnections')" + :placeholder="t('connection.searchForConnections')" @keypress.esc="searchTerm = ''" > @@ -58,7 +58,7 @@
@@ -130,12 +130,12 @@ > diff --git a/src/renderer/components/ModalAskCredentials.vue b/src/renderer/components/ModalAskCredentials.vue index d3f6f850..d506f086 100644 --- a/src/renderer/components/ModalAskCredentials.vue +++ b/src/renderer/components/ModalAskCredentials.vue @@ -6,7 +6,7 @@