rds_ssm_connect 1.7.9 → 1.7.11

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.
@@ -59,6 +59,10 @@ jobs:
59
59
  sudo apt-get update
60
60
  sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
61
61
 
62
+ - name: Install dependencies (macOS)
63
+ if: startsWith(matrix.platform, 'macos')
64
+ run: brew install pango
65
+
62
66
  - name: Install frontend dependencies
63
67
  run: npm ci
64
68
 
@@ -81,32 +85,56 @@ jobs:
81
85
  releaseBody: 'See the assets to download this version and install.'
82
86
  releaseDraft: true
83
87
  prerelease: false
88
+ includeUpdaterJson: false
84
89
  args: --target ${{ matrix.rust_target }}
85
90
 
86
- - name: Save updater signature
91
+ - name: Sign updater artifact and save signature
87
92
  shell: bash
93
+ env:
94
+ TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
95
+ TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
88
96
  run: |
89
97
  mkdir -p sigs
90
98
  BUNDLE="src-tauri/target/${{ matrix.rust_target }}/release/bundle"
91
- echo "Looking for .sig files in $BUNDLE"
92
- for sigfile in \
93
- "$BUNDLE"/macos/*.app.tar.gz.sig \
94
- "$BUNDLE"/appimage/*.AppImage.sig \
95
- "$BUNDLE"/nsis/*.nsis.zip.sig; do
96
- if [ -f "$sigfile" ]; then
97
- cp "$sigfile" "sigs/${{ matrix.rust_target }}.sig"
98
- echo "Saved: $sigfile"
99
- break
100
- fi
99
+
100
+ # Find the updater artifact — must match what generate-update-json.js URLs point to:
101
+ # macOS: .app.tar.gz, Linux: .AppImage, Windows: -setup.exe
102
+ UPDATER_FILE=""
103
+ for pattern in "$BUNDLE"/macos/*.app.tar.gz "$BUNDLE"/appimage/*.AppImage "$BUNDLE"/nsis/*-setup.exe; do
104
+ for f in $pattern; do
105
+ if [ -f "$f" ]; then
106
+ UPDATER_FILE="$f"
107
+ break 2
108
+ fi
109
+ done
101
110
  done
102
- ls -la sigs/ 2>/dev/null || echo "No signatures saved"
111
+
112
+ if [ -z "$UPDATER_FILE" ]; then
113
+ echo "WARNING: No updater artifact found"
114
+ find "$BUNDLE" -type f 2>/dev/null | head -20
115
+ exit 0
116
+ fi
117
+
118
+ echo "Signing: $UPDATER_FILE"
119
+ npx tauri signer sign "$UPDATER_FILE" --private-key "$TAURI_SIGNING_PRIVATE_KEY" --password "$TAURI_SIGNING_PRIVATE_KEY_PASSWORD"
120
+
121
+ # The signer creates a .sig file alongside the original
122
+ SIG_FILE="${UPDATER_FILE}.sig"
123
+ if [ -f "$SIG_FILE" ]; then
124
+ cp "$SIG_FILE" "sigs/${{ matrix.rust_target }}.sig"
125
+ echo "Signature saved ($(wc -c < "$SIG_FILE") bytes)"
126
+ cat "$SIG_FILE"
127
+ else
128
+ echo "ERROR: .sig file not created at $SIG_FILE"
129
+ exit 1
130
+ fi
103
131
 
104
132
  - name: Upload signature artifact
105
133
  uses: actions/upload-artifact@v4
106
134
  with:
107
135
  name: sig-${{ matrix.rust_target }}
108
136
  path: sigs/
109
- if-no-files-found: ignore
137
+ if-no-files-found: error
110
138
 
111
139
  # Generate update manifest after all builds complete
112
140
  update-manifest:
@@ -135,13 +163,17 @@ jobs:
135
163
 
136
164
  - name: Generate latest.json
137
165
  run: |
138
- ls -la sigs/ 2>/dev/null || echo "No signatures found"
166
+ echo "=== Downloaded signatures ==="
167
+ ls -la sigs/
168
+ echo "=== Signature contents ==="
169
+ for f in sigs/*.sig; do echo "--- $f ---"; cat "$f"; done
139
170
  node scripts/generate-update-json.js ${{ steps.version.outputs.VERSION }} https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.VERSION }} sigs
140
171
 
141
172
  - name: Upload latest.json to release
142
- uses: softprops/action-gh-release@v1
143
- with:
144
- files: latest.json
145
- tag_name: v${{ steps.version.outputs.VERSION }}
146
173
  env:
147
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
174
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
175
+ run: |
176
+ TAG="v${{ steps.version.outputs.VERSION }}"
177
+ echo "=== latest.json content ==="
178
+ cat latest.json
179
+ gh release upload "$TAG" latest.json --clobber
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.9' }
13
+ const packageJson = { name: 'rds_ssm_connect', version: '1.7.11' }
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.9",
3
+ "version": "1.7.11",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rds-ssm-connect"
3
- version = "1.7.9"
3
+ version = "1.7.11"
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.9",
4
+ "version": "1.7.11",
5
5
  "identifier": "com.rds-ssm-connect.desktop",
6
6
  "build": {
7
7
  "beforeDevCommand": "npm run dev:vite",