2525 CSC_KEY_PASSWORD : ${{ secrets.CSC_KEY_PASSWORD }}
2626
2727jobs :
28- release :
29- name : build and release tauri app
28+ build :
29+ name : build tauri app
3030 runs-on : ${{ matrix.os }}
3131
3232 strategy :
@@ -94,14 +94,53 @@ jobs:
9494 - name : Build frontend
9595 run : pnpm generate
9696
97- - name : Generate latest.json (only for tags)
98- if : startsWith(github.ref, 'refs/tags/')
97+ - name : Build Tauri app
98+ run : pnpm tauri:build
99+ env :
100+ TAURI_PRIVATE_KEY : ${{ secrets.TAURI_PRIVATE_KEY }}
101+ TAURI_KEY_PASSWORD : ${{ secrets.TAURI_KEY_PASSWORD }}
102+ XCODE_APP_TEAM_ID : ${{ secrets.XCODE_APP_TEAM_ID }}
103+ XCODE_APP_LOADER_EMAIL : ${{ secrets.XCODE_APP_LOADER_EMAIL }}
104+ XCODE_APP_LOADER_PASSWORD : ${{ secrets.XCODE_APP_LOADER_PASSWORD }}
105+ BUILD_CERTIFICATE_BASE64 : ${{ secrets.CSC_LINK }}
106+ P12_PASSWORD : ${{ secrets.CSC_KEY_PASSWORD }}
107+ CSC_LINK : ${{ secrets.CSC_LINK }}
108+ CSC_KEY_PASSWORD : ${{ secrets.CSC_KEY_PASSWORD }}
109+
110+ - name : Upload artifacts
111+ uses : actions/upload-artifact@v4
112+ with :
113+ name : ${{ matrix.os }}-app
114+ path : |
115+ src-tauri/target/release/bundle/deb/*.deb
116+ src-tauri/target/release/bundle/rpm/*.rpm
117+ src-tauri/target/release/bundle/appimage/*.AppImage
118+ src-tauri/target/release/bundle/dmg/*.dmg
119+ src-tauri/target/release/bundle/macos/*.app
120+ src-tauri/target/release/bundle/nsis/*.exe
121+ src-tauri/target/release/bundle/msi/*.msi
122+
123+ release :
124+ name : create release
125+ runs-on : ubuntu-latest
126+ needs : build
127+ if : startsWith(github.ref, 'refs/tags/')
128+
129+ steps :
130+ - name : Check out git repository
131+ uses : actions/checkout@v4
132+
133+ - name : Download all artifacts
134+ uses : actions/download-artifact@v4
135+ with :
136+ path : artifacts
137+
138+ - name : Generate latest.json
99139 run : |
100- cat > latest.json << EOF
101- {
140+ echo '{
102141 "version": "${{ github.ref_name }}",
103142 "notes": "Release ${{ github.ref_name }}",
104- "pub_date": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
143+ "pub_date": "' $(date -u +%Y-%m-%dT%H:%M:%SZ)' ",
105144 "platforms": {
106145 "darwin-x86_64": {
107146 "signature": "",
@@ -124,34 +163,20 @@ jobs:
124163 "url": "https://github.com/jumpserver/clients/releases/download/${{ github.ref_name }}/JumpServerClient_${{ github.ref_name }}_aarch64.AppImage"
125164 }
126165 }
127- }
128- EOF
129-
130- - name : Build Tauri app
131- run : pnpm tauri:build
132- env :
133- TAURI_PRIVATE_KEY : ${{ secrets.TAURI_PRIVATE_KEY }}
134- TAURI_KEY_PASSWORD : ${{ secrets.TAURI_KEY_PASSWORD }}
135- XCODE_APP_TEAM_ID : ${{ secrets.XCODE_APP_TEAM_ID }}
136- XCODE_APP_LOADER_EMAIL : ${{ secrets.XCODE_APP_LOADER_EMAIL }}
137- XCODE_APP_LOADER_PASSWORD : ${{ secrets.XCODE_APP_LOADER_PASSWORD }}
138- BUILD_CERTIFICATE_BASE64 : ${{ secrets.CSC_LINK }}
139- P12_PASSWORD : ${{ secrets.CSC_KEY_PASSWORD }}
140- CSC_LINK : ${{ secrets.CSC_LINK }}
141- CSC_KEY_PASSWORD : ${{ secrets.CSC_KEY_PASSWORD }}
166+ }' > latest.json
142167
143168 - name : Create Release
144- if : startsWith(github.ref, 'refs/tags/')
145169 uses : softprops/action-gh-release@v1
146170 with :
147171 files : |
148172 latest.json
149- src-tauri/target/release/bundle/deb /*.deb
150- src-tauri/target/release/bundle/rpm /*.rpm
151- src-tauri/target/release/bundle/appimage /*.AppImage
152- src-tauri/target/release/bundle/dmg /*.dmg
153- src-tauri/target/release/bundle/ macos/*.app
154- src-tauri/target/release/bundle/nsis /*.exe
155- src-tauri/target/release/bundle/msi /*.msi
173+ artifacts/ubuntu-latest-app /*.deb
174+ artifacts/ubuntu-latest-app /*.rpm
175+ artifacts/ubuntu-latest-app /*.AppImage
176+ artifacts/macos-14-app /*.dmg
177+ artifacts/ macos-14-app /*.app
178+ artifacts/windows-latest-app /*.exe
179+ artifacts/windows-latest-app /*.msi
156180 env :
157181 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
182+
0 commit comments