File tree Expand file tree Collapse file tree 4 files changed +52
-5
lines changed Expand file tree Collapse file tree 4 files changed +52
-5
lines changed Original file line number Diff line number Diff line change @@ -90,22 +90,37 @@ jobs:
90
90
base-url : https://packages.element.io/${{ inputs.mode == 'release' && 'desktop' || 'nightly' }}
91
91
version : ${{ needs.prepare.outputs.macos-version }}
92
92
93
+ # We do not put this call into deploy-mode as we do not want it to add to the packages.element.io artifact
94
+ # We ship this build via reprepro only
93
95
linux :
94
96
if : github.event_name != 'workflow_dispatch' || inputs.linux
95
97
needs : prepare
96
- name : Linux
98
+ name : Linux (sqlcipher system)
97
99
uses : ./.github/workflows/build_linux.yaml
98
100
with :
99
101
config : element.io/${{ inputs.mode || 'nightly' }}
100
102
sqlcipher : system
101
103
version : ${{ needs.prepare.outputs.linux-version }}
102
104
103
- # This deploy job only handles Windows & macOS as those are stateless and static.
105
+ # We ship the static build via static tarball only
106
+ linux_static :
107
+ if : github.event_name != 'workflow_dispatch' || inputs.linux
108
+ needs : prepare
109
+ name : Linux (sqlcipher static)
110
+ uses : ./.github/workflows/build_linux.yaml
111
+ with :
112
+ deploy-mode : true
113
+ config : element.io/${{ inputs.mode || 'nightly' }}
114
+ sqlcipher : static
115
+ version : ${{ needs.prepare.outputs.linux-version }}
116
+
117
+ # This deploy job only handles Windows, macOS & linux_static as those are stateless and static.
104
118
# Linux will be deployed via reprepro after it, but we list it as a dependency to abort if it fails.
105
119
deploy :
106
120
needs :
107
121
- macos
108
122
- linux
123
+ - linux_static
109
124
- windows_32bit
110
125
- windows_64bit
111
126
runs-on : ubuntu-latest
Original file line number Diff line number Diff line change 16
16
type : string
17
17
required : true
18
18
description : " How to link sqlcipher, one of 'system' | 'static'"
19
+ deploy-mode :
20
+ type : boolean
21
+ required : false
22
+ description : " Whether to arrange artifacts in the arrangement needed for deployment, skipping unrelated ones"
19
23
jobs :
20
24
build :
21
25
runs-on : ubuntu-latest
84
88
--deb-custom-control=debcontrol
85
89
yarn build --publish never -l --config electron-builder.json
86
90
91
+ - name : Stash deb package
92
+ if : inputs.deploy-mode
93
+ uses : actions/upload-artifact@v3
94
+ with :
95
+ name : linux-sqlcipher-${{ inputs.sqlcipher }}-deb
96
+ path : dist/*.deb
97
+ retention-days : 1
98
+
99
+ - name : Prepare artifacts for deployment
100
+ if : inputs.deploy-mode
101
+ run : |
102
+ mv dist _dist
103
+ mkdir -p "dist/install/linux/glibc-x86-64/"
104
+ mv _dist/*.tar.gz "dist/install/linux/glibc-x86-64"
105
+
106
+ # We don't wish to store the tarball for every nightly ever, so we only keep the latest
107
+ - name : " [Nightly] Strip version from tarball"
108
+ if : inputs.deploy-mode && inputs.version != ''
109
+ run : |
110
+ mv dist/install/linux/glibc-x86-64/*.tar.gz "dist/install/linux/glibc-x86-64/element-desktop-nightly.tar.gz"
111
+
112
+ - name : " [Release] Prepare release latest symlink"
113
+ if : inputs.deploy-mode && inputs.version == ''
114
+ shell : bash
115
+ run : |
116
+ ln -s "$(find . -type f -iname "*.tar.gz" | xargs -0 -n1 -- basename)" "element-desktop.tar.gz"
117
+ working-directory : " dist/install/linux/glibc-x86-64"
118
+
87
119
- name : Upload Artifacts
88
120
uses : actions/upload-artifact@v3
89
121
with :
90
- name : linux-sqlcipher-${{ inputs.sqlcipher }}
122
+ name : ${{ inputs.deploy-mode && 'packages.element.io' || format(' linux-sqlcipher-{0}', inputs.sqlcipher) }}
91
123
path : dist
92
124
retention-days : 1
Original file line number Diff line number Diff line change 24
24
required : false
25
25
description : " Whether to sign & notarise the build, requires 'packages.element.io' environment"
26
26
deploy-mode :
27
- type : string
27
+ type : boolean
28
28
required : false
29
29
description : " Whether to arrange artifacts in the arrangement needed for deployment, skipping unrelated ones"
30
30
base-url :
Original file line number Diff line number Diff line change 24
24
required : false
25
25
description : " Whether to sign & notarise the build, requires 'packages.element.io' environment"
26
26
deploy-mode :
27
- type : string
27
+ type : boolean
28
28
required : false
29
29
description : " Whether to arrange artifacts in the arrangement needed for deployment, skipping unrelated ones"
30
30
jobs :
You can’t perform that action at this time.
0 commit comments