Skip to content

Commit 8e19e96

Browse files
authored
Merge pull request #1620 from session-foundation/dev
Session 1.17.0
2 parents 622f467 + 9c74d27 commit 8e19e96

File tree

491 files changed

+15924
-10457
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

491 files changed

+15924
-10457
lines changed

.github/workflows/build-binaries.yml

Lines changed: 58 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,33 @@ jobs:
8787
strategy:
8888
fail-fast: false
8989
matrix:
90-
# this needs to be a valid target of https://www.electron.build/linux#target
91-
pkg_to_build: ['deb', 'rpm', 'freebsd', 'AppImage']
90+
# `electron_target` needs to be a valid target of https://www.electron.build/linux#target
91+
include:
92+
- identifier: deb
93+
electron_target: deb
94+
cache_suffix: linux-deb
95+
is_qa: false
96+
- identifier: rpm
97+
electron_target: rpm
98+
cache_suffix: linux-rpm
99+
is_qa: false
100+
- identifier: freebsd
101+
electron_target: freebsd
102+
cache_suffix: linux-freebsd
103+
is_qa: false
104+
- identifier: AppImage
105+
electron_target: AppImage
106+
cache_suffix: linux-AppImage
107+
is_qa: false
108+
- identifier: deb-qa
109+
electron_target: deb
110+
cache_suffix: linux-deb
111+
is_qa: true
112+
name: '${{ matrix.identifier }}'
92113

93114
env:
94115
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
116+
95117
steps:
96118
- run: git config --global core.autocrlf false
97119

@@ -100,10 +122,14 @@ jobs:
100122
with:
101123
ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target_branch || github.ref }}
102124

125+
- name: Custom build for QA if needed
126+
if: ${{ matrix.is_qa == true }}
127+
uses: ./actions/sed_for_qa
128+
103129
- name: Setup & Build
104130
uses: ./actions/setup_and_build
105131
with:
106-
cache_suffix: ${{ matrix.pkg_to_build }}
132+
cache_suffix: ${{ matrix.cache_suffix }}
107133

108134
- name: Lint Files
109135
# no need to lint files on all platforms
@@ -116,41 +142,41 @@ jobs:
116142
- name: Unit Test
117143
run: yarn test
118144

119-
- name: Make release build but do not publish ${{ matrix.pkg_to_build }}
145+
- name: Make release build but do not publish ${{ matrix.identifier }}
120146
# we do want this part to run only when version_tag is unset (i.e. we are not making a release)
121147
if: ${{ needs.create_draft_release_if_needed.outputs.version_tag == '' }}
122148
run: |
123-
sed -i 's/"target": "deb"/"target": "${{ matrix.pkg_to_build }}"/g' package.json && yarn build-release
149+
sed -i 's/"target": "deb"/"target": "${{ matrix.electron_target }}"/g' package.json && yarn build-release
124150
125-
- name: Upload artefacts ${{ matrix.pkg_to_build }}
151+
- name: Upload artefacts ${{ matrix.identifier }}
126152
# we do want this part to run only when version_tag is unset (i.e. we are not making a release)
127153
if: ${{ needs.create_draft_release_if_needed.outputs.version_tag == '' }}
128154
uses: ./actions/upload_prod_artefacts
129155
with:
130-
upload_prefix: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.pkg_to_build }}
156+
upload_prefix: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.identifier }}
131157

132-
- name: Make release build & publish ${{ matrix.pkg_to_build }}
158+
- name: Make release build & publish ${{ matrix.identifier }}
133159
if: ${{ needs.create_draft_release_if_needed.outputs.version_tag != '' }}
134160
run: |
135-
sed -i 's/"target": "deb"/"target": "${{ matrix.pkg_to_build }}"/g' package.json && yarn build-release-publish
161+
sed -i 's/"target": "deb"/"target": "${{ matrix.electron_target }}"/g' package.json && yarn build-release-publish
136162
137163
- name: Backup release metadata
138164
# only run this on "push" to "master" or alpha releases
139165
# Note: The jobs are overwriting each other's latest-linux.yml.
140166
# So, we upload all of them as artifacts, and then merge them (see `post_build_linux`)
141167
# note: freebsd does not generate a latest-linux.yml file so we exclude it
142-
if: ${{ needs.create_draft_release_if_needed.outputs.version_tag != '' && matrix.pkg_to_build != 'freebsd' }}
168+
if: ${{ needs.create_draft_release_if_needed.outputs.version_tag != '' && matrix.identifier != 'freebsd' }}
143169
shell: bash
144170
run: |
145-
mv dist/latest-linux.yml dist/latest-linux-${{ matrix.pkg_to_build }}-${{ github.sha }}.yml
171+
mv dist/latest-linux.yml dist/latest-linux-${{ matrix.electron_target }}-${{ github.sha }}.yml
146172
147173
- name: Upload release metadata
148174
# only run this on "push" to "master" or alpha releases
149-
if: ${{ needs.create_draft_release_if_needed.outputs.version_tag != '' && matrix.pkg_to_build != 'freebsd' }}
175+
if: ${{ needs.create_draft_release_if_needed.outputs.version_tag != '' && matrix.identifier != 'freebsd' }}
150176
uses: actions/upload-artifact@v4
151177
with:
152-
name: latest-linux-${{ matrix.pkg_to_build }}-${{ github.sha }}.yml
153-
path: dist/latest-linux-${{ matrix.pkg_to_build }}-${{ github.sha }}.yml
178+
name: latest-linux-${{ matrix.electron_target }}-${{ github.sha }}.yml
179+
path: dist/latest-linux-${{ matrix.electron_target }}-${{ github.sha }}.yml
154180

155181
post_build_linux:
156182
needs: [create_draft_release_if_needed, build_linux]
@@ -199,6 +225,7 @@ jobs:
199225
needs: [create_draft_release_if_needed]
200226
env:
201227
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
228+
name: 'windows x64'
202229
steps:
203230
- run: git config --global core.autocrlf false
204231

@@ -234,41 +261,20 @@ jobs:
234261

235262
# We want both arm64 and intel mac builds, and according to this https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources macos-14 and above is always arm64 and macos-13 is the last intel runner
236263
# NOTE x64 builds made on an arm64 host will not bundle the native modules correctly https://github.com/electron-userland/electron-builder/issues/8646
237-
build_mac_arm64:
238-
needs: [create_draft_release_if_needed]
239-
runs-on: macos-14
240-
env:
241-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
242-
MAC_CERTIFICATE: ${{ secrets.MAC_CERTIFICATE }}
243-
MAC_CERTIFICATE_PASSWORD: ${{ secrets.MAC_CERTIFICATE_PASSWORD }}
244-
SIGNING_APPLE_ID: ${{ secrets.SIGNING_APPLE_ID }}
245-
SIGNING_APP_PASSWORD: ${{ secrets.SIGNING_APP_PASSWORD }}
246-
SIGNING_TEAM_ID: ${{ secrets.SIGNING_TEAM_ID }}
247-
steps:
248-
- run: git config --global core.autocrlf false
249-
250-
- name: Checkout git repo
251-
uses: actions/checkout@v4
252-
with:
253-
ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target_branch || github.ref }}
254-
255-
- name: Setup & Build
256-
uses: ./actions/setup_and_build
257-
with:
258-
cache_suffix: mac-arm64
259-
260-
# we want to test on all platforms since some are testing the rendered menus (and are dependent on the platform)
261-
- name: Unit Test
262-
run: yarn test
264+
build_mac:
265+
strategy:
266+
matrix:
267+
include:
268+
- architecture: arm64
269+
cache_suffix: mac-arm64
270+
runner: macos-14
263271

264-
- name: Make release build arm64
265-
uses: ./actions/make_release_build
266-
with:
267-
architecture: arm64
268-
should_publish: ${{ needs.create_draft_release_if_needed.outputs.version_tag != ''}}
272+
- architecture: x64
273+
cache_suffix: mac-x64
274+
runner: macos-13
275+
runs-on: ${{ matrix.runner }}
276+
name: '${{ matrix.architecture }}'
269277

270-
build_mac_x64:
271-
runs-on: macos-13
272278
needs: [create_draft_release_if_needed]
273279
env:
274280
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -288,20 +294,20 @@ jobs:
288294
- name: Setup & Build
289295
uses: ./actions/setup_and_build
290296
with:
291-
cache_suffix: mac-x64
297+
cache_suffix: ${{ matrix.cache_suffix }}
292298

293299
# we want to test on all platforms since some are testing the rendered menus (and are dependent on the platform)
294300
- name: Unit Test
295301
run: yarn test
296302

297-
- name: Make release build x64
303+
- name: Make release build ${{ matrix.architecture }}
298304
uses: ./actions/make_release_build
299305
with:
300-
architecture: x64
306+
architecture: ${{ matrix.architecture }}
301307
should_publish: ${{ needs.create_draft_release_if_needed.outputs.version_tag != '' }}
302308

303309
post_build_mac:
304-
needs: [create_draft_release_if_needed, build_mac_arm64, build_mac_x64]
310+
needs: [create_draft_release_if_needed, build_mac]
305311
runs-on: ubuntu-22.04
306312
if: ${{ needs.create_draft_release_if_needed.outputs.version_tag != '' }}
307313
env:
@@ -336,8 +342,8 @@ jobs:
336342
artifacts: 'dist/latest-mac.yml'
337343
draft: true # important to keep this, so we **NEVER** make a live release through the CI
338344
allowUpdates: true
339-
omitBodyDuringUpdate: true
340345
omitNameDuringUpdate: true
346+
omitBodyDuringUpdate: true
341347
replacesArtifacts: true
342348
updateOnlyUnreleased: true
343349
makeLatest: false

CONTRIBUTING.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,11 @@ The following instructions will install the following:
161161

162162
Setup instructions for Windows using Chocolatey:
163163

164+
> [!WARNING]
165+
> These setup instructions assume a clean system with none of these applications installed.
166+
> If your machine is already partially set up you may be better off manually installing
167+
> what you're missing.
168+
164169
- Open PowerShell as Administrator
165170

166171
- Install [Chocolatey](https://docs.chocolatey.org/en-us/choco/setup#installing-chocolatey-cli)
@@ -180,6 +185,9 @@ Setup instructions for Windows using Chocolatey:
180185
choco install git
181186
```
182187

188+
> [!WARNING]
189+
> You may need to restart PowerShell for git to be recognized.
190+
183191
After installing Git, you may need to disable `core.autocrlf` to prevent line ending issues.
184192

185193
```sh
@@ -202,7 +210,7 @@ Setup instructions for Windows using Chocolatey:
202210

203211
> [!WARNING]
204212
> This next step will likely take a long time.
205-
> Make sure to restart your computer once it is finished.
213+
> You may need to restart PowerShell for c++ build tools to be recognized.
206214
207215
- Install [Visual C++ build tools workload for Visual Studio 2022](https://community.chocolatey.org/packages/visualstudio2022-workload-vctools)
208216

@@ -230,6 +238,9 @@ Setup instructions for Windows using Chocolatey:
230238
choco install python --version <version>
231239
```
232240

241+
> [!WARNING]
242+
> You may need to restart PowerShell for python to be recognized.
243+
233244
- Install [setuptools](https://pypi.org/project/setuptools/)
234245

235246
```sh

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ grep .dmg signature.asc
9494
<details>
9595
<summary>Windows</summary>
9696

97-
**Powershell**
97+
**PowerShell**
9898

9999
```PowerShell
100100
Get-FileHash -Algorithm SHA256 session-desktop-win-x64-$SESSION_VERSION.exe # checksum is uppercase but should otherwise match

0 commit comments

Comments
 (0)