23
23
x86_64-unknown-linux-gnu,
24
24
x86_64-unknown-linux-musl,
25
25
x86_64-unknown-linux-musl-portable,
26
+ x86_64-unknown-freebsd,
26
27
i686-pc-windows-msvc-windowsstore,
27
28
i686-pc-windows-msvc-windowsappinstaller,
28
29
i686-pc-windows-gnu-msi,
@@ -114,6 +115,13 @@ jobs:
114
115
features : dummy
115
116
rustflags : -C target-feature=+crt-static
116
117
toolchain : stable
118
+ - label : x86_64-unknown-freebsd
119
+ target : x86_64-unknown-freebsd
120
+ bins : --bin juliaup --bin julialauncher --bin juliainstaller
121
+ os : ubuntu
122
+ features : selfupdate,binjuliainstaller,binjulialauncher
123
+ rustflags :
124
+ toolchain : stable
117
125
- label : i686-pc-windows-msvc-windowsstore
118
126
target : i686-pc-windows-msvc
119
127
bins : --bin juliaup --bin julialauncher
@@ -194,10 +202,12 @@ jobs:
194
202
platform : x86
195
203
version : 12.2.0
196
204
- uses : actions-rust-lang/setup-rust-toolchain@v1
205
+ if : ${{ ! contains(matrix.target, 'freebsd') }}
197
206
with :
198
207
toolchain : ${{matrix.toolchain}}
199
208
target : ${{matrix.target}}
200
209
- name : Release build
210
+ if : ${{ ! contains(matrix.target, 'freebsd') }}
201
211
uses : clechasseur/rs-cargo@v2
202
212
with :
203
213
command : build
@@ -207,6 +217,20 @@ jobs:
207
217
CARGO_TARGET_x86_64-unknown-linux-musl : ${{matrix.rustflags}}
208
218
CARGO_TARGET_i686-unknown-linux-musl : ${{matrix.rustflags}}
209
219
CARGO_TARGET_aarch64-unknown-linux-musl : ${{matrix.rustflags}}
220
+ - name : FreeBSD release build
221
+ if : ${{ contains(matrix.target, 'freebsd') }}
222
+ uses : vmactions/freebsd-vm@v1
223
+ with :
224
+ release : " 13.2"
225
+ usesh : true
226
+ mem : 8192
227
+ copyback : true
228
+ prepare : |
229
+ pkg install -y curl
230
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain ${{matrix.toolchain}}
231
+ run : |
232
+ . "${HOME}/.cargo/env"
233
+ cargo build --release ${{matrix.bins}} --target ${{matrix.target}} --features ${{matrix.features}}
210
234
- uses : actions/upload-artifact@v4
211
235
with :
212
236
name : juliaup-${{matrix.label}}
@@ -234,6 +258,7 @@ jobs:
234
258
x86_64-apple-darwin,
235
259
x86_64-unknown-linux-gnu,
236
260
x86_64-unknown-linux-musl,
261
+ x86_64-unknown-freebsd,
237
262
i686-pc-windows-msvc,
238
263
]
239
264
include :
@@ -262,6 +287,11 @@ jobs:
262
287
features : dummy,binjulialauncher
263
288
rustflags : -C target-feature=+crt-static
264
289
toolchain : stable
290
+ - target : x86_64-unknown-freebsd
291
+ os : ubuntu
292
+ features : dummy,binjulialauncher
293
+ rustflags :
294
+ toolchain : stable
265
295
- target : i686-pc-windows-msvc
266
296
os : windows
267
297
features : dummy,binjulialauncher
@@ -282,10 +312,12 @@ jobs:
282
312
platform : x86
283
313
version : 12.2.0
284
314
- uses : actions-rust-lang/setup-rust-toolchain@v1
315
+ if : ${{ ! contains(matrix.target, 'freebsd') }}
285
316
with :
286
317
toolchain : ${{matrix.toolchain}}
287
318
target : ${{matrix.target}}
288
319
- name : Test
320
+ if : ${{ ! contains(matrix.target, 'freebsd') }}
289
321
uses : clechasseur/rs-cargo@v2
290
322
with :
291
323
command : test
@@ -295,8 +327,21 @@ jobs:
295
327
CARGO_TARGET_x86_64-unknown-linux-musl : ${{matrix.rustflags}}
296
328
CARGO_TARGET_i686-unknown-linux-musl : ${{matrix.rustflags}}
297
329
CARGO_TARGET_aarch64-unknown-linux-musl : ${{matrix.rustflags}}
298
-
299
- package-mac-linux :
330
+ - name : Test FreeBSD
331
+ if : ${{ contains(matrix.target, 'freebsd') }}
332
+ uses : vmactions/freebsd-vm@v1
333
+ with :
334
+ release : " 13.2"
335
+ usesh : true
336
+ mem : 8192
337
+ copyback : false
338
+ prepare : |
339
+ pkg install -y curl
340
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain ${{matrix.toolchain}}
341
+ run : |
342
+ . "${HOME}/.cargo/env"
343
+ cargo test --target ${{matrix.target}} --features ${{matrix.features}}
344
+ package-unix :
300
345
needs : [build-juliaup,test-juliaup]
301
346
environment : package
302
347
runs-on : ubuntu-latest
@@ -342,6 +387,11 @@ jobs:
342
387
with :
343
388
name : juliaup-aarch64-unknown-linux-musl
344
389
path : target/aarch64-unknown-linux-musl
390
+ - name : Download FreeBSD x64 juliaup artifact
391
+ uses : actions/download-artifact@v4
392
+ with :
393
+ name : juliaup-x86_64-unknown-freebsd
394
+ path : target/x86_64-unknown-freebsd
345
395
- name : Download installer artifacts for x86_64-apple-darwin
346
396
uses : actions/download-artifact@v4
347
397
with :
@@ -382,6 +432,11 @@ jobs:
382
432
with :
383
433
name : juliainstaller-aarch64-apple-darwin
384
434
path : target/installer/aarch64-apple-darwin
435
+ - name : Download installer artifacts for x86_64-unknown-freebsd
436
+ uses : actions/download-artifact@v4
437
+ with :
438
+ name : juliainstaller-x86_64-unknown-freebsd
439
+ path : target/installer/x86_64-unknown-freebsd
385
440
- name : Set permissions
386
441
run : |
387
442
chmod a+rx target/x86_64-unknown-linux-gnu/juliaup
@@ -400,6 +455,8 @@ jobs:
400
455
chmod a+rx target/aarch64-unknown-linux-gnu/julialauncher
401
456
chmod a+rx target/aarch64-unknown-linux-musl/juliaup
402
457
chmod a+rx target/aarch64-unknown-linux-musl/julialauncher
458
+ chmod a+rx target/x86_64-unknown-freebsd/juliaup
459
+ chmod a+rx target/x86_64-unknown-freebsd/julialauncher
403
460
- name : Export version
404
461
run : |
405
462
export VERSION=$(echo $GH_REF | sed 's:refs/tags/v::')
@@ -416,7 +473,7 @@ jobs:
416
473
417
474
cd ../../target/x86_64-unknown-linux-musl
418
475
tar -czvf ../../public/bin/juliaup-${{ env.VERSION }}-x86_64-unknown-linux-musl.tar.gz .
419
-
476
+
420
477
cd ../../target/i686-unknown-linux-gnu
421
478
tar -czvf ../../public/bin/juliaup-${{ env.VERSION }}-i686-unknown-linux-gnu.tar.gz .
422
479
@@ -435,12 +492,16 @@ jobs:
435
492
cd ../../target/aarch64-unknown-linux-musl
436
493
tar -czvf ../../public/bin/juliaup-${{ env.VERSION }}-aarch64-unknown-linux-musl.tar.gz .
437
494
495
+ cd ../../target/x86_64-unknown-freebsd
496
+ tar -czvf ../../public/bin/juliaup-${{ env.VERSION }}-x86_64-unknown-freebsd.tar.gz .
497
+
438
498
cd ../..
439
499
- name : Rename and move juliainstaller
440
500
run : |
441
501
mv target/installer/x86_64-apple-darwin/juliainstaller public/bin/juliainstaller-${{ env.VERSION }}-x86_64-apple-darwin
442
502
mv target/installer/x86_64-unknown-linux-gnu/juliainstaller public/bin/juliainstaller-${{ env.VERSION }}-x86_64-unknown-linux-gnu
443
503
mv target/installer/x86_64-unknown-linux-musl/juliainstaller public/bin/juliainstaller-${{ env.VERSION }}-x86_64-unknown-linux-musl
504
+ mv target/installer/x86_64-unknown-freebsd/juliainstaller public/bin/juliainstaller-${{ env.VERSION }}-x86_64-unknown-freebsd
444
505
mv target/installer/i686-unknown-linux-gnu/juliainstaller public/bin/juliainstaller-${{ env.VERSION }}-i686-unknown-linux-gnu
445
506
mv target/installer/i686-unknown-linux-musl/juliainstaller public/bin/juliainstaller-${{ env.VERSION }}-i686-unknown-linux-musl
446
507
mv target/installer/aarch64-unknown-linux-gnu/juliainstaller public/bin/juliainstaller-${{ env.VERSION }}-aarch64-unknown-linux-gnu
@@ -456,7 +517,7 @@ jobs:
456
517
AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
457
518
SOURCE_DIR : ' public'
458
519
459
- package-mac-linux -portable :
520
+ package-unix -portable :
460
521
needs : [build-juliaup,test-juliaup]
461
522
environment : package
462
523
runs-on : ubuntu-latest
@@ -514,7 +575,7 @@ jobs:
514
575
515
576
cd ../../target/x86_64-unknown-linux-musl-portable
516
577
tar -czvf ../../public/juliaup-${{ env.VERSION }}-x86_64-unknown-linux-musl-portable.tar.gz .
517
-
578
+
518
579
cd ../../target/i686-unknown-linux-musl-portable
519
580
tar -czvf ../../public/juliaup-${{ env.VERSION }}-i686-unknown-linux-musl-portable.tar.gz .
520
581
@@ -619,7 +680,7 @@ jobs:
619
680
- name : Install StoreBroker
620
681
run : Install-Module -Name StoreBroker -Force
621
682
- name : Download and extract bundled Julia versions
622
- run : |
683
+ run : |
623
684
$x64Versions = Get-Content versiondb\versiondb-x86_64-pc-windows-msvc.json | ConvertFrom-Json
624
685
$x64VersionFromChannel = $x64Versions.AvailableChannels.release.Version
625
686
$x64DownloadUrl = $x64Versions.AvailableVersions.$x64VersionFromChannel.UrlPath
@@ -726,7 +787,7 @@ jobs:
726
787
with :
727
788
name : winappinstaller
728
789
path : target\msix\winappinstaller\Julia.appinstaller
729
-
790
+
730
791
package-windows-msi :
731
792
needs : [build-juliaup,test-juliaup]
732
793
runs-on : windows-latest
@@ -816,7 +877,7 @@ jobs:
816
877
env :
817
878
AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
818
879
AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
819
-
880
+
820
881
create-github-release :
821
882
needs : [test-juliaup]
822
883
runs-on : ubuntu-latest
@@ -830,7 +891,7 @@ jobs:
830
891
generateReleaseNotes : true
831
892
832
893
deploy-github-release-binaries :
833
- needs : [create-github-release, package-mac-linux -portable, package-windows-portable]
894
+ needs : [create-github-release, package-unix -portable, package-windows-portable]
834
895
runs-on : ubuntu-latest
835
896
if : startsWith(github.ref, 'refs/tags/')
836
897
steps :
@@ -851,7 +912,7 @@ jobs:
851
912
prerelease : true
852
913
853
914
deploy-dev-channel-winstore :
854
- needs : [create-github-release,package-mac-linux ,package-windows-msix,package-windows-msi]
915
+ needs : [create-github-release,package-unix ,package-windows-msix,package-windows-msi]
855
916
environment : dev-channel
856
917
runs-on : windows-latest
857
918
if : startsWith(github.ref, 'refs/tags/')
@@ -863,12 +924,12 @@ jobs:
863
924
curl -sLO https://github.com/PowerShell/PowerShell/releases/download/v7.2.17/PowerShell-7.2.17-win-x64.zip
864
925
RMDIR "%extractPath%" /S /Q
865
926
7z x PowerShell-7.2.17-win-x64.zip -o"%extractPath%"
866
- pwsh --version
927
+ pwsh --version
867
928
- name : Install StoreBroker
868
929
run : Install-Module -Name StoreBroker -Force
869
930
- uses : actions/download-artifact@v4
870
931
with :
871
- name : storepackage
932
+ name : storepackage
872
933
- name : Authenticate with store
873
934
env :
874
935
TENANTID : ${{ secrets.TENANTID }}
@@ -881,7 +942,7 @@ jobs:
881
942
Update-ApplicationFlightSubmission -ReplacePackages -AppId 9NJNWW8PVKMN -FlightId 2e2f9fe8-3950-4273-b80d-7f752296ca86 -SubmissionDataPath ".\Upload.json" -PackagePath ".\Upload.zip" -AutoCommit -Force
882
943
883
944
deploy-releasepreview-channel-winstore :
884
- needs : [create-github-release,package-mac-linux ,package-windows-msix,package-windows-msi]
945
+ needs : [create-github-release,package-unix ,package-windows-msix,package-windows-msi]
885
946
environment : release-preview-channel
886
947
runs-on : windows-latest
887
948
if : startsWith(github.ref, 'refs/tags/')
@@ -893,12 +954,12 @@ jobs:
893
954
curl -sLO https://github.com/PowerShell/PowerShell/releases/download/v7.2.17/PowerShell-7.2.17-win-x64.zip
894
955
RMDIR "%extractPath%" /S /Q
895
956
7z x PowerShell-7.2.17-win-x64.zip -o"%extractPath%"
896
- pwsh --version
957
+ pwsh --version
897
958
- name : Install StoreBroker
898
959
run : Install-Module -Name StoreBroker -Force
899
960
- uses : actions/download-artifact@v4
900
961
with :
901
- name : storepackage
962
+ name : storepackage
902
963
- name : Authenticate with store
903
964
env :
904
965
TENANTID : ${{ secrets.TENANTID }}
@@ -911,7 +972,7 @@ jobs:
911
972
Update-ApplicationFlightSubmission -ReplacePackages -AppId 9NJNWW8PVKMN -FlightId 732b234a-7ea9-4b65-8c9f-b9d9eaefb578 -SubmissionDataPath ".\Upload.json" -PackagePath ".\Upload.zip" -AutoCommit -Force
912
973
913
974
deploy-release-channel-winstore :
914
- needs : [create-github-release,package-mac-linux ,package-windows-msix,package-windows-msi]
975
+ needs : [create-github-release,package-unix ,package-windows-msix,package-windows-msi]
915
976
environment : release-channel
916
977
runs-on : windows-latest
917
978
if : startsWith(github.ref, 'refs/tags/')
@@ -923,12 +984,12 @@ jobs:
923
984
curl -sLO https://github.com/PowerShell/PowerShell/releases/download/v7.2.17/PowerShell-7.2.17-win-x64.zip
924
985
RMDIR "%extractPath%" /S /Q
925
986
7z x PowerShell-7.2.17-win-x64.zip -o"%extractPath%"
926
- pwsh --version
987
+ pwsh --version
927
988
- name : Install StoreBroker
928
989
run : Install-Module -Name StoreBroker -Force
929
990
- uses : actions/download-artifact@v4
930
991
with :
931
- name : storepackage
992
+ name : storepackage
932
993
- name : Authenticate with store
933
994
env :
934
995
TENANTID : ${{ secrets.TENANTID }}
@@ -941,7 +1002,7 @@ jobs:
941
1002
Update-ApplicationSubmission -ReplacePackages -AppId 9NJNWW8PVKMN -SubmissionDataPath ".\Upload.json" -PackagePath ".\Upload.zip" -AutoCommit -Force
942
1003
943
1004
deploy-release-channel-brew :
944
- needs : [create-github-release,package-mac-linux ,package-windows-msix,package-windows-msi]
1005
+ needs : [create-github-release,package-unix ,package-windows-msix,package-windows-msi]
945
1006
environment : release-channel
946
1007
runs-on : macos-latest
947
1008
if : startsWith(github.ref, 'refs/tags/')
@@ -954,7 +1015,7 @@ jobs:
954
1015
force : true
955
1016
956
1017
deploy-release-channel-aur :
957
- needs : [create-github-release,package-mac-linux ,package-windows-msix,package-windows-msi]
1018
+ needs : [create-github-release,package-unix ,package-windows-msix,package-windows-msi]
958
1019
environment : release-channel
959
1020
runs-on : ubuntu-latest
960
1021
if : startsWith(github.ref, 'refs/tags/')
@@ -990,9 +1051,9 @@ jobs:
990
1051
git push origin master
991
1052
env :
992
1053
GH_REF : ${{ github.ref }}
993
-
1054
+
994
1055
deploy-dev-channel-s3 :
995
- needs : [create-github-release,package-mac-linux ,package-windows-msix,package-windows-msi]
1056
+ needs : [create-github-release,package-unix ,package-windows-msix,package-windows-msi]
996
1057
environment : dev-channel
997
1058
runs-on : ubuntu-latest
998
1059
if : startsWith(github.ref, 'refs/tags/')
@@ -1007,7 +1068,7 @@ jobs:
1007
1068
run : |
1008
1069
export VERSION=$(echo $GH_REF | sed 's:refs/tags/v::')
1009
1070
echo "VERSION=$VERSION" >> $GITHUB_ENV
1010
- echo "$VERSION" > public/DEVCHANNELVERSION
1071
+ echo "$VERSION" > public/DEVCHANNELVERSION
1011
1072
env :
1012
1073
GH_REF : ${{ github.ref }}
1013
1074
- uses : actions/download-artifact@v4
@@ -1041,7 +1102,7 @@ jobs:
1041
1102
SOURCE_DIR : ' publicscript'
1042
1103
1043
1104
deploy-releasepreview-channel-s3 :
1044
- needs : [create-github-release,package-mac-linux ,package-windows-msix,package-windows-msi]
1105
+ needs : [create-github-release,package-unix ,package-windows-msix,package-windows-msi]
1045
1106
environment : release-preview-channel
1046
1107
runs-on : ubuntu-latest
1047
1108
if : startsWith(github.ref, 'refs/tags/')
@@ -1086,7 +1147,7 @@ jobs:
1086
1147
SOURCE_DIR : ' publicscript'
1087
1148
1088
1149
deploy-release-channel-s3 :
1089
- needs : [create-github-release,package-mac-linux ,package-windows-msix,package-windows-msi]
1150
+ needs : [create-github-release,package-unix ,package-windows-msix,package-windows-msi]
1090
1151
environment : release-channel
1091
1152
runs-on : ubuntu-latest
1092
1153
if : startsWith(github.ref, 'refs/tags/')
@@ -1141,7 +1202,7 @@ jobs:
1141
1202
SOURCE_DIR : ' publicscript'
1142
1203
1143
1204
deploy-release-channel-github :
1144
- needs : [create-github-release,package-mac-linux ,package-windows-msix,package-windows-msi]
1205
+ needs : [create-github-release,package-unix ,package-windows-msix,package-windows-msi]
1145
1206
environment : release-channel
1146
1207
runs-on : ubuntu-latest
1147
1208
if : startsWith(github.ref, 'refs/tags/')
@@ -1154,7 +1215,7 @@ jobs:
1154
1215
allowUpdates : true
1155
1216
1156
1217
deploy-release-channel-crates :
1157
- needs : [create-github-release,package-mac-linux ,package-windows-msix,package-windows-msi]
1218
+ needs : [create-github-release,package-unix ,package-windows-msix,package-windows-msi]
1158
1219
environment : release-channel
1159
1220
runs-on : ubuntu-latest
1160
1221
if : startsWith(github.ref, 'refs/tags/')
0 commit comments