Skip to content

Commit f4fcaa3

Browse files
authored
SY-2383: Synnax v0.45 (#1398)
2 parents dc8c891 + 0620134 commit f4fcaa3

825 files changed

Lines changed: 20984 additions & 3503 deletions

File tree

Some content is hidden

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

.github/PULL_REQUEST_TEMPLATE/rc.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ I can successfully:
226226
- [ ] Rename a line plot from its tab title.
227227
- [ ] Export a line plot.
228228
- [ ] Copy a link to a line plot.
229+
- [ ] Download a line plot as a CSV from the toolbar.
229230
- **Resources Toolbar**
230231
- [ ] Open a plot by selecting it.
231232
- [ ] Drag a plot onto the mosaic.
@@ -335,6 +336,8 @@ I can successfully:
335336
- [ ] Add child ranges.
336337
- [ ] Open snapshots.
337338
- [ ] Navigate to and from child ranges.
339+
- [ ] Download a range as a CSV.
340+
- [ ] Download multiple channels for a range as a CSV.
338341
- **Search and Command Palette**
339342
- [ ] Open an existing range layout window.
340343
- [ ] Open the "Create Range" dialog.
@@ -432,6 +435,36 @@ I can successfully:
432435
- Visualization Toolbar
433436
- Range Details Overview
434437

438+
### Schematic Symbols
439+
440+
I can successfully:
441+
442+
- [ ] Use custom symbols in a schematic.
443+
- [ ] Use custom symbols as actuators in a schematic.
444+
- **Symbol Editor**
445+
- [ ] Create a new symbol.
446+
- [ ] Rename a symbol.
447+
- [ ] Add handles to a symbol.
448+
- [ ] Add default scaling to a symbol.
449+
- [ ] Select color and color regions for the symbol.
450+
- [ ] Have multiple color regions for an actuator.
451+
- **Schematic Symbols Toolbar**
452+
- [ ] Add a symbol to a symbol group.
453+
- [ ] Import a symbol group.
454+
- [ ] Import a symbol to a symbol group.
455+
- [ ] Create a new symbol group.
456+
- **Context Menu**
457+
- [ ] Rename a symbol group.
458+
- [ ] Delete a symbol group.
459+
- [ ] Export a symbol group.
460+
- [ ] Delete a symbol.
461+
- [ ] Export a symbol.
462+
- [ ] Edit a symbol.
463+
- [ ] Rename a symbol.
464+
- **Search and Command Palette**
465+
- [ ] Open the "Create Symbol" modal.
466+
- [ ] Create a symbol from the "Create Symbol" modal.
467+
435468
### Tables
436469

437470
I can successfully:

.github/workflows/deploy.console.yaml

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,7 @@ jobs:
131131
- name: Import Apple Developer Certificate
132132
# Only notarize on macOS and on push events, not on PRs. This prevents excessive
133133
# notarization requests and long CI times on PRs.
134-
if:
135-
matrix.os == 'macos-latest' && (github.event_name != 'pull_request')
134+
if: matrix.os == 'macos-latest' && (github.event_name != 'pull_request')
136135
env:
137136
APPLE_ID: ${{ secrets.APPLE_ID }}
138137
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
@@ -152,8 +151,7 @@ jobs:
152151
153152
- name: Verify Apple Developer Certificate
154153
# Same as above - only notarize on macOS and on push events, not on PRs
155-
if:
156-
matrix.os == 'macos-latest' && (github.event_name != 'pull_request')
154+
if: matrix.os == 'macos-latest' && (github.event_name != 'pull_request')
157155
run: |
158156
CERT_INFO=$(security find-identity -v -p codesigning build.keychain | grep "Developer ID Application")
159157
CERT_ID=$(echo "$CERT_INFO" | awk -F'"' '{print $2}')
@@ -176,9 +174,7 @@ jobs:
176174
cache: pnpm
177175

178176
- name: Adjust Auto Updater URL for Release Candidate
179-
if:
180-
(github.event_name != 'pull_request') &&
181-
github.ref == 'refs/heads/rc'
177+
if: (github.event_name != 'pull_request') && github.ref == 'refs/heads/rc'
182178
working-directory: console/src-tauri
183179
run: |
184180
jq '.plugins.updater.endpoints = ["https://raw.githubusercontent.com/synnaxlabs/synnax/rc/console/release-spec.json"]' tauri.conf.json > temp.json
@@ -222,7 +218,6 @@ jobs:
222218
codesign --force --options runtime --timestamp --sign "$APPLE_SIGNING_IDENTITY" "$EMBEDDED_BIN_REPO"
223219
codesign --verify --verbose "$EMBEDDED_BIN_REPO"
224220
225-
226221
- name: Build (Push)
227222
if: github.event_name != 'pull_request'
228223
env:
@@ -241,14 +236,12 @@ jobs:
241236
run: pnpm build
242237

243238
- name: Upload macOS Release Asset
244-
if:
245-
(github.event_name != 'pull_request') &&
246-
matrix.os == 'macos-latest'
239+
if: (github.event_name != 'pull_request') && matrix.os == 'macos-latest'
247240
run: |
248241
gh release upload --clobber console-v${{ needs.setup.outputs.VERSION }} ./console/src-tauri/target/release/bundle/macos/Synnax.app.tar.gz
249242
gh release upload --clobber console-v${{ needs.setup.outputs.VERSION }} ./console/src-tauri/target/release/bundle/macos/Synnax.app.tar.gz.sig
250243
gh release upload --clobber console-v${{ needs.setup.outputs.VERSION }} ./console/src-tauri/target/release/bundle/dmg/Synnax_${{needs.setup.outputs.PURE_VERSION }}_aarch64.dmg
251-
244+
252245
- name: Download relic for Windows signing
253246
if: matrix.os == 'windows-latest'
254247
run: |
@@ -262,9 +255,7 @@ jobs:
262255
echo "${{ github.workspace }}\\relic-bin" >> $env:GITHUB_PATH
263256
264257
- name: Sign Windows Release Asset
265-
if:
266-
(github.event_name != 'pull_request') &&
267-
matrix.os == 'windows-latest'
258+
if: (github.event_name != 'pull_request') && matrix.os == 'windows-latest'
268259
env:
269260
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
270261
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
@@ -274,9 +265,7 @@ jobs:
274265
relic sign --file ./console/src-tauri/target/release/bundle/nsis/Synnax_${{ needs.setup.outputs.PURE_VERSION }}_x64-setup.exe --key azure --config relic.conf
275266
276267
- name: Upload Windows Release Asset
277-
if:
278-
(github.event_name != 'pull_request') &&
279-
matrix.os == 'windows-latest'
268+
if: (github.event_name != 'pull_request') && matrix.os == 'windows-latest'
280269
run: |
281270
gh release upload --clobber console-v${{ needs.setup.outputs.VERSION }} ./console/src-tauri/target/release/bundle/msi/Synnax_${{ needs.setup.outputs.PURE_VERSION }}_x64_en-US.msi
282271
gh release upload --clobber console-v${{ needs.setup.outputs.VERSION }} ./console/src-tauri/target/release/bundle/msi/Synnax_${{ needs.setup.outputs.PURE_VERSION }}_x64_en-US.msi.sig
@@ -289,7 +278,8 @@ jobs:
289278
permissions:
290279
contents: write
291280
if:
292-
needs.create-release.outputs.release_id != '' && github.event_name != 'pull_request'
281+
needs.create-release.outputs.release_id != '' && github.event_name !=
282+
'pull_request'
293283
needs: [setup, create-release, build]
294284
env:
295285
VERSION: ${{ needs.setup.outputs.VERSION }}
Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Deploy - Synnax
1+
name: Deploy - Core
22

33
on:
44
push:
@@ -30,7 +30,7 @@ jobs:
3030

3131
- name: Get Version
3232
id: version
33-
working-directory: synnax
33+
working-directory: core
3434
run: |
3535
if [ "${GITHUB_REF}" == "refs/heads/main" ]; then
3636
echo "VERSION=$(cat pkg/version/VERSION)" >> $GITHUB_OUTPUT
@@ -45,14 +45,14 @@ jobs:
4545
base: ${{ github.ref }}
4646
filters: |
4747
changed:
48-
- .github/workflows/deploy.synnax.yaml
48+
- .github/workflows/deploy.core.yaml
4949
- alamos/go/**
5050
- aspen/**
5151
- cesium/**
5252
- client/cpp/**
53+
- core/**
5354
- driver/**
5455
- freighter/go/**
55-
- synnax/**
5656
- x/cpp/**
5757
- x/go/**
5858
- WORKSPACE
@@ -91,7 +91,7 @@ jobs:
9191
strategy:
9292
fail-fast: false
9393
matrix:
94-
os: [macos-15, ubuntu-22.04, ubuntu-latest, windows-latest]
94+
os: [macos-latest, ubuntu-22.04, ubuntu-latest, windows-latest]
9595
runs-on: ${{ matrix.os }}
9696
steps:
9797
- name: Checkout Repository
@@ -129,8 +129,10 @@ jobs:
129129
130130
- name: Build Driver (Windows)
131131
if: matrix.os == 'windows-latest'
132-
run: bazel --output_user_root=C:/tmp build --enable_platform_specific_config -c opt --announce_rc //driver
133-
132+
run:
133+
bazel --output_user_root=C:/tmp build --enable_platform_specific_config -c opt
134+
--announce_rc //driver
135+
134136
- name: Download relic for Windows signing
135137
if: matrix.os == 'windows-latest' && github.event_name == 'push'
136138
run: |
@@ -148,7 +150,7 @@ jobs:
148150
id: os
149151
shell: bash
150152
run: |
151-
if [ "${{ matrix.os }}" = "macos-15" ]; then
153+
if [ "${{ matrix.os }}" = "macos-latest" ]; then
152154
echo "OS=macos" >> $GITHUB_OUTPUT
153155
elif [ "${{ matrix.os }}" = "ubuntu-latest" ]; then
154156
echo "OS=linux" >> $GITHUB_OUTPUT
@@ -169,7 +171,7 @@ jobs:
169171
fi
170172
171173
- name: Import Apple Developer Certificate
172-
if: matrix.os == 'macos-15' && github.event_name == 'push'
174+
if: matrix.os == 'macos-latest' && github.event_name == 'push'
173175
env:
174176
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
175177
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
@@ -183,7 +185,7 @@ jobs:
183185
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" build.keychain
184186
185187
- name: Sign macOS Driver Binary
186-
if: matrix.os == 'macos-15' && github.event_name == 'push'
188+
if: matrix.os == 'macos-latest' && github.event_name == 'push'
187189
run: |
188190
# Create entitlements file to disable library validation for LabJack support
189191
cat > driver-entitlements.plist << 'EOF'
@@ -196,7 +198,7 @@ jobs:
196198
</dict>
197199
</plist>
198200
EOF
199-
201+
200202
CERT_INFO=$(security find-identity -v -p codesigning build.keychain | grep "Developer ID Application")
201203
CERT_ID=$(echo "$CERT_INFO" | awk -F'"' '{print $2}')
202204
codesign --force --options runtime --timestamp --entitlements driver-entitlements.plist --sign "$CERT_ID" bazel-bin/driver/driver
@@ -248,9 +250,9 @@ jobs:
248250
shell: bash
249251
run: |
250252
if [ "${{ github.event_name }}" = "push" ]; then
251-
mv synnax-driver-v${{ needs.setup.outputs.VERSION }}-${{ steps.os.outputs.OS }}${{ steps.executable.outputs.EXECUTABLE }} synnax/pkg/service/hardware/embedded/assets/driver${{ steps.executable.outputs.EXECUTABLE }}
253+
mv synnax-driver-v${{ needs.setup.outputs.VERSION }}-${{ steps.os.outputs.OS }}${{ steps.executable.outputs.EXECUTABLE }} core/pkg/service/hardware/embedded/assets/driver${{ steps.executable.outputs.EXECUTABLE }}
252254
else
253-
mv bazel-bin/driver/driver${{ steps.executable.outputs.EXECUTABLE }} synnax/pkg/service/hardware/embedded/assets/driver${{ steps.executable.outputs.EXECUTABLE }}
255+
mv bazel-bin/driver/driver${{ steps.executable.outputs.EXECUTABLE }} core/pkg/service/hardware/embedded/assets/driver${{ steps.executable.outputs.EXECUTABLE }}
254256
fi
255257
256258
- name: Create Driver Install Script for NI Linux RT
@@ -293,21 +295,21 @@ jobs:
293295
- name: Copy Console Assets to Server
294296
shell: bash
295297
run: |
296-
mkdir -p synnax/pkg/service/console/dist
297-
cp -r console/dist/* synnax/pkg/service/console/dist/
298+
mkdir -p core/pkg/service/console/dist
299+
cp -r console/dist/* core/pkg/service/console/dist/
298300
299301
- name: Download Dependencies
300-
working-directory: synnax
302+
working-directory: core
301303
run: go mod download
302304

303305
- name: Build
304-
working-directory: synnax
306+
working-directory: core
305307
run: |
306308
go build -tags driver,console -o synnax-v${{ needs.setup.outputs.VERSION }}-${{ steps.os.outputs.OS }}${{ steps.executable.outputs.EXECUTABLE }}
307309
308310
- name: Sign macOS Server Binary
309-
if: matrix.os == 'macos-15' && github.event_name == 'push'
310-
working-directory: synnax
311+
if: matrix.os == 'macos-latest' && github.event_name == 'push'
312+
working-directory: core
311313
run: |
312314
CERT_INFO=$(security find-identity -v -p codesigning build.keychain | grep "Developer ID Application")
313315
CERT_ID=$(echo "$CERT_INFO" | awk -F'"' '{print $2}')
@@ -321,14 +323,14 @@ jobs:
321323
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
322324
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
323325
run: |
324-
relic sign --file ./synnax/synnax-v${{ needs.setup.outputs.VERSION }}-windows.exe --key azure --config relic.conf
326+
relic sign --file core/synnax-v${{ needs.setup.outputs.VERSION }}-windows.exe --key azure --config relic.conf
325327
326328
- name: Upload Release Asset
327329
if: github.event_name == 'push'
328330
env:
329331
GITHUB_TOKEN: ${{ github.token }}
330332
run: |
331-
gh release upload --clobber synnax-v${{ needs.setup.outputs.VERSION }} ./synnax/synnax-v${{ needs.setup.outputs.VERSION }}-${{ steps.os.outputs.OS }}${{ steps.executable.outputs.EXECUTABLE }}
333+
gh release upload --clobber synnax-v${{ needs.setup.outputs.VERSION }} core/synnax-v${{ needs.setup.outputs.VERSION }}-${{ steps.os.outputs.OS }}${{ steps.executable.outputs.EXECUTABLE }}
332334
333335
- name: Build Windows Installer
334336
if: matrix.os == 'windows-latest' && github.event_name == 'push'
@@ -339,7 +341,7 @@ jobs:
339341
Copy-Item -Force .\scripts\EnVar.dll "$pluginPath\EnVar.dll"
340342
341343
# Prepare the binary for packaging
342-
Copy-Item -Force .\synnax\synnax-v${{ needs.setup.outputs.VERSION }}-windows.exe .\scripts\synnax-server.exe
344+
Copy-Item -Force .\core\synnax-v${{ needs.setup.outputs.VERSION }}-windows.exe .\scripts\synnax-server.exe
343345
344346
# Build the installer
345347
& makensis /DVERSION=${{ needs.setup.outputs.VERSION }} .\scripts\windows-installer.nsi
@@ -388,7 +390,7 @@ jobs:
388390
- name: Build Image
389391
if: matrix.os == 'ubuntu-latest' && github.event_name == 'push'
390392
run: earthly --push +docker -tag=${{ needs.setup.outputs.VERSION }}
391-
working-directory: ./synnax
393+
working-directory: core
392394

393395
- name: Push to Github Container Registry
394396
if: matrix.os == 'ubuntu-latest' && github.event_name == 'push'
@@ -413,4 +415,4 @@ jobs:
413415
elif [ "${{ github.ref }}" = "refs/heads/rc" ]; then
414416
docker tag ghcr.io/synnaxlabs/synnax:${{ needs.setup.outputs.VERSION }} synnaxlabs/synnax:rc
415417
docker push synnaxlabs/synnax:rc
416-
fi
418+
fi

0 commit comments

Comments
 (0)