rds_ssm_connect 1.7.6 → 1.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -101,9 +101,16 @@ jobs:
101
101
  id: version
102
102
  run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
103
103
 
104
+ - name: Download signature files from release
105
+ env:
106
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
107
+ run: |
108
+ mkdir -p sigs
109
+ gh release download "v${{ steps.version.outputs.VERSION }}" --pattern '*.sig' --dir sigs || true
110
+
104
111
  - name: Generate latest.json
105
112
  run: |
106
- node scripts/generate-update-json.js ${{ steps.version.outputs.VERSION }} https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION }}
113
+ node scripts/generate-update-json.js ${{ steps.version.outputs.VERSION }} https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION }} sigs
107
114
 
108
115
  - name: Upload latest.json to release
109
116
  uses: softprops/action-gh-release@v1
package/connect.js CHANGED
@@ -10,7 +10,7 @@ import { promisify } from 'node:util'
10
10
  import { PROJECT_CONFIGS } from './envPortMapping.js'
11
11
 
12
12
  // Package info for version checking
13
- const packageJson = { name: 'rds_ssm_connect', version: '1.7.6' }
13
+ const packageJson = { name: 'rds_ssm_connect', version: '1.7.7' }
14
14
 
15
15
  const execAsync = promisify(exec)
16
16
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rds_ssm_connect",
3
- "version": "1.7.6",
3
+ "version": "1.7.7",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -6,8 +6,8 @@
6
6
  * This script generates the update manifest that needs to be uploaded
7
7
  * to GitHub releases for auto-updates to work.
8
8
  *
9
- * Usage: node scripts/generate-update-json.js <version> <release-url>
10
- * Example: node scripts/generate-update-json.js 1.7.0 https://github.com/yarka-guru/connection_app/releases/download/v1.7.0
9
+ * Usage: node scripts/generate-update-json.js <version> <release-url> [sigs-dir]
10
+ * Example: node scripts/generate-update-json.js 1.7.0 https://github.com/yarka-guru/connection_app/releases/download/v1.7.0 sigs
11
11
  */
12
12
 
13
13
  import fs from 'node:fs'
@@ -18,6 +18,7 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url))
18
18
 
19
19
  const version = process.argv[2]
20
20
  const releaseUrl = process.argv[3]
21
+ const sigsDir = process.argv[4] // Optional: directory containing .sig files downloaded from release
21
22
 
22
23
  if (!version || !releaseUrl) {
23
24
  process.exit(1)
@@ -30,7 +31,38 @@ const tauriConf = JSON.parse(
30
31
  'utf-8',
31
32
  ),
32
33
  )
33
- const productName = tauriConf.productName.replace(/\s+/g, '_')
34
+ // Tauri uses dots for spaces in bundle filenames
35
+ const productName = tauriConf.productName.replace(/\s+/g, '.')
36
+
37
+ // Read signature from a .sig file (downloaded from release or local build)
38
+ function readSig(assetFilename) {
39
+ const sigFilename = `${assetFilename}.sig`
40
+
41
+ // Try sigs directory first (CI: downloaded from release assets)
42
+ if (sigsDir) {
43
+ try {
44
+ return fs.readFileSync(path.join(sigsDir, sigFilename), 'utf-8').trim()
45
+ } catch {}
46
+ }
47
+
48
+ // Try local build output
49
+ const bundleDir = path.join(__dirname, '../src-tauri/target/release/bundle')
50
+ for (const subdir of ['macos', 'appimage', 'nsis']) {
51
+ try {
52
+ return fs
53
+ .readFileSync(path.join(bundleDir, subdir, sigFilename), 'utf-8')
54
+ .trim()
55
+ } catch {}
56
+ }
57
+
58
+ return ''
59
+ }
60
+
61
+ const macAarch64 = `${productName}_aarch64.app.tar.gz`
62
+ const macX64 = `${productName}_x64.app.tar.gz`
63
+ const linuxAmd64 = `${productName}_${version}_amd64.AppImage`
64
+ const linuxAarch64 = `${productName}_${version}_aarch64.AppImage`
65
+ const windowsX64 = `${productName}_${version}_x64-setup.exe`
34
66
 
35
67
  const updateManifest = {
36
68
  version: version,
@@ -38,24 +70,24 @@ const updateManifest = {
38
70
  pub_date: new Date().toISOString(),
39
71
  platforms: {
40
72
  'darwin-aarch64': {
41
- url: `${releaseUrl}/${productName}_${version}_aarch64.app.tar.gz`,
42
- signature: '',
73
+ url: `${releaseUrl}/${macAarch64}`,
74
+ signature: readSig(macAarch64),
43
75
  },
44
76
  'darwin-x86_64': {
45
- url: `${releaseUrl}/${productName}_${version}_x64.app.tar.gz`,
46
- signature: '',
77
+ url: `${releaseUrl}/${macX64}`,
78
+ signature: readSig(macX64),
47
79
  },
48
80
  'linux-x86_64': {
49
- url: `${releaseUrl}/${productName}_${version}_amd64.AppImage.tar.gz`,
50
- signature: '',
81
+ url: `${releaseUrl}/${linuxAmd64}`,
82
+ signature: readSig(linuxAmd64),
51
83
  },
52
84
  'linux-aarch64': {
53
- url: `${releaseUrl}/${productName}_${version}_aarch64.AppImage.tar.gz`,
54
- signature: '',
85
+ url: `${releaseUrl}/${linuxAarch64}`,
86
+ signature: readSig(linuxAarch64),
55
87
  },
56
88
  'windows-x86_64': {
57
- url: `${releaseUrl}/${productName}_${version}_x64-setup.nsis.zip`,
58
- signature: '',
89
+ url: `${releaseUrl}/${windowsX64}`,
90
+ signature: readSig(windowsX64),
59
91
  },
60
92
  },
61
93
  }
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rds-ssm-connect"
3
- version = "1.7.6"
3
+ version = "1.7.7"
4
4
  description = "Secure RDS connections through AWS SSM"
5
5
  authors = ["Iaroslav Pyrogov"]
6
6
  edition = "2024"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://schema.tauri.app/config/2",
3
3
  "productName": "RDS SSM Connect",
4
- "version": "1.7.6",
4
+ "version": "1.7.7",
5
5
  "identifier": "com.rds-ssm-connect.desktop",
6
6
  "build": {
7
7
  "beforeDevCommand": "npm run dev:vite",
@@ -47,7 +47,7 @@
47
47
  "endpoints": [
48
48
  "https://github.com/yarka-guru/connection_app/releases/latest/download/latest.json"
49
49
  ],
50
- "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDI2MTFEQjk0MjUzRTgwQTEKUldTaGdENGxsTnNSSms1dTVvcWVKWUc2aFlOYVl5ODcvbVhiekVsVWxHbVlnRERSNjJsTHZPYkMK"
50
+ "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IEYxRjNDRkY1MkI1NTM2MzIKUldReU5sVXI5Yy96OGRNdjlHd3BqcTBkL0E4c2ZwUTRlL3VsZXVTdkNWRGxKL1A5ckNYNGdDNVoK"
51
51
  }
52
52
  }
53
53
  }