Skip to content

Commit 62d7561

Browse files
authored
Merge branch 'main' into manifest-destiny
2 parents 7e1fe16 + 4b833fc commit 62d7561

File tree

8 files changed

+325
-223
lines changed

8 files changed

+325
-223
lines changed

Diff for: .github/workflows/release.yml

+88-27
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ jobs:
2323
x86_64-unknown-linux-gnu,
2424
x86_64-unknown-linux-musl,
2525
x86_64-unknown-linux-musl-portable,
26+
x86_64-unknown-freebsd,
2627
i686-pc-windows-msvc-windowsstore,
2728
i686-pc-windows-msvc-windowsappinstaller,
2829
i686-pc-windows-gnu-msi,
@@ -114,6 +115,13 @@ jobs:
114115
features: dummy
115116
rustflags: -C target-feature=+crt-static
116117
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
117125
- label: i686-pc-windows-msvc-windowsstore
118126
target: i686-pc-windows-msvc
119127
bins: --bin juliaup --bin julialauncher
@@ -194,10 +202,12 @@ jobs:
194202
platform: x86
195203
version: 12.2.0
196204
- uses: actions-rust-lang/setup-rust-toolchain@v1
205+
if: ${{ ! contains(matrix.target, 'freebsd') }}
197206
with:
198207
toolchain: ${{matrix.toolchain}}
199208
target: ${{matrix.target}}
200209
- name: Release build
210+
if: ${{ ! contains(matrix.target, 'freebsd') }}
201211
uses: clechasseur/rs-cargo@v2
202212
with:
203213
command: build
@@ -207,6 +217,20 @@ jobs:
207217
CARGO_TARGET_x86_64-unknown-linux-musl: ${{matrix.rustflags}}
208218
CARGO_TARGET_i686-unknown-linux-musl: ${{matrix.rustflags}}
209219
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}}
210234
- uses: actions/upload-artifact@v4
211235
with:
212236
name: juliaup-${{matrix.label}}
@@ -234,6 +258,7 @@ jobs:
234258
x86_64-apple-darwin,
235259
x86_64-unknown-linux-gnu,
236260
x86_64-unknown-linux-musl,
261+
x86_64-unknown-freebsd,
237262
i686-pc-windows-msvc,
238263
]
239264
include:
@@ -262,6 +287,11 @@ jobs:
262287
features: dummy,binjulialauncher
263288
rustflags: -C target-feature=+crt-static
264289
toolchain: stable
290+
- target: x86_64-unknown-freebsd
291+
os: ubuntu
292+
features: dummy,binjulialauncher
293+
rustflags:
294+
toolchain: stable
265295
- target: i686-pc-windows-msvc
266296
os: windows
267297
features: dummy,binjulialauncher
@@ -282,10 +312,12 @@ jobs:
282312
platform: x86
283313
version: 12.2.0
284314
- uses: actions-rust-lang/setup-rust-toolchain@v1
315+
if: ${{ ! contains(matrix.target, 'freebsd') }}
285316
with:
286317
toolchain: ${{matrix.toolchain}}
287318
target: ${{matrix.target}}
288319
- name: Test
320+
if: ${{ ! contains(matrix.target, 'freebsd') }}
289321
uses: clechasseur/rs-cargo@v2
290322
with:
291323
command: test
@@ -295,8 +327,21 @@ jobs:
295327
CARGO_TARGET_x86_64-unknown-linux-musl: ${{matrix.rustflags}}
296328
CARGO_TARGET_i686-unknown-linux-musl: ${{matrix.rustflags}}
297329
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:
300345
needs: [build-juliaup,test-juliaup]
301346
environment: package
302347
runs-on: ubuntu-latest
@@ -342,6 +387,11 @@ jobs:
342387
with:
343388
name: juliaup-aarch64-unknown-linux-musl
344389
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
345395
- name: Download installer artifacts for x86_64-apple-darwin
346396
uses: actions/download-artifact@v4
347397
with:
@@ -382,6 +432,11 @@ jobs:
382432
with:
383433
name: juliainstaller-aarch64-apple-darwin
384434
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
385440
- name: Set permissions
386441
run: |
387442
chmod a+rx target/x86_64-unknown-linux-gnu/juliaup
@@ -400,6 +455,8 @@ jobs:
400455
chmod a+rx target/aarch64-unknown-linux-gnu/julialauncher
401456
chmod a+rx target/aarch64-unknown-linux-musl/juliaup
402457
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
403460
- name: Export version
404461
run: |
405462
export VERSION=$(echo $GH_REF | sed 's:refs/tags/v::')
@@ -416,7 +473,7 @@ jobs:
416473
417474
cd ../../target/x86_64-unknown-linux-musl
418475
tar -czvf ../../public/bin/juliaup-${{ env.VERSION }}-x86_64-unknown-linux-musl.tar.gz .
419-
476+
420477
cd ../../target/i686-unknown-linux-gnu
421478
tar -czvf ../../public/bin/juliaup-${{ env.VERSION }}-i686-unknown-linux-gnu.tar.gz .
422479
@@ -435,12 +492,16 @@ jobs:
435492
cd ../../target/aarch64-unknown-linux-musl
436493
tar -czvf ../../public/bin/juliaup-${{ env.VERSION }}-aarch64-unknown-linux-musl.tar.gz .
437494
495+
cd ../../target/x86_64-unknown-freebsd
496+
tar -czvf ../../public/bin/juliaup-${{ env.VERSION }}-x86_64-unknown-freebsd.tar.gz .
497+
438498
cd ../..
439499
- name: Rename and move juliainstaller
440500
run: |
441501
mv target/installer/x86_64-apple-darwin/juliainstaller public/bin/juliainstaller-${{ env.VERSION }}-x86_64-apple-darwin
442502
mv target/installer/x86_64-unknown-linux-gnu/juliainstaller public/bin/juliainstaller-${{ env.VERSION }}-x86_64-unknown-linux-gnu
443503
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
444505
mv target/installer/i686-unknown-linux-gnu/juliainstaller public/bin/juliainstaller-${{ env.VERSION }}-i686-unknown-linux-gnu
445506
mv target/installer/i686-unknown-linux-musl/juliainstaller public/bin/juliainstaller-${{ env.VERSION }}-i686-unknown-linux-musl
446507
mv target/installer/aarch64-unknown-linux-gnu/juliainstaller public/bin/juliainstaller-${{ env.VERSION }}-aarch64-unknown-linux-gnu
@@ -456,7 +517,7 @@ jobs:
456517
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
457518
SOURCE_DIR: 'public'
458519

459-
package-mac-linux-portable:
520+
package-unix-portable:
460521
needs: [build-juliaup,test-juliaup]
461522
environment: package
462523
runs-on: ubuntu-latest
@@ -514,7 +575,7 @@ jobs:
514575
515576
cd ../../target/x86_64-unknown-linux-musl-portable
516577
tar -czvf ../../public/juliaup-${{ env.VERSION }}-x86_64-unknown-linux-musl-portable.tar.gz .
517-
578+
518579
cd ../../target/i686-unknown-linux-musl-portable
519580
tar -czvf ../../public/juliaup-${{ env.VERSION }}-i686-unknown-linux-musl-portable.tar.gz .
520581
@@ -619,7 +680,7 @@ jobs:
619680
- name: Install StoreBroker
620681
run: Install-Module -Name StoreBroker -Force
621682
- name: Download and extract bundled Julia versions
622-
run: |
683+
run: |
623684
$x64Versions = Get-Content versiondb\versiondb-x86_64-pc-windows-msvc.json | ConvertFrom-Json
624685
$x64VersionFromChannel = $x64Versions.AvailableChannels.release.Version
625686
$x64DownloadUrl = $x64Versions.AvailableVersions.$x64VersionFromChannel.UrlPath
@@ -726,7 +787,7 @@ jobs:
726787
with:
727788
name: winappinstaller
728789
path: target\msix\winappinstaller\Julia.appinstaller
729-
790+
730791
package-windows-msi:
731792
needs: [build-juliaup,test-juliaup]
732793
runs-on: windows-latest
@@ -816,7 +877,7 @@ jobs:
816877
env:
817878
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
818879
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
819-
880+
820881
create-github-release:
821882
needs: [test-juliaup]
822883
runs-on: ubuntu-latest
@@ -830,7 +891,7 @@ jobs:
830891
generateReleaseNotes: true
831892

832893
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]
834895
runs-on: ubuntu-latest
835896
if: startsWith(github.ref, 'refs/tags/')
836897
steps:
@@ -851,7 +912,7 @@ jobs:
851912
prerelease: true
852913

853914
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]
855916
environment: dev-channel
856917
runs-on: windows-latest
857918
if: startsWith(github.ref, 'refs/tags/')
@@ -863,12 +924,12 @@ jobs:
863924
curl -sLO https://github.com/PowerShell/PowerShell/releases/download/v7.2.17/PowerShell-7.2.17-win-x64.zip
864925
RMDIR "%extractPath%" /S /Q
865926
7z x PowerShell-7.2.17-win-x64.zip -o"%extractPath%"
866-
pwsh --version
927+
pwsh --version
867928
- name: Install StoreBroker
868929
run: Install-Module -Name StoreBroker -Force
869930
- uses: actions/download-artifact@v4
870931
with:
871-
name: storepackage
932+
name: storepackage
872933
- name: Authenticate with store
873934
env:
874935
TENANTID: ${{ secrets.TENANTID }}
@@ -881,7 +942,7 @@ jobs:
881942
Update-ApplicationFlightSubmission -ReplacePackages -AppId 9NJNWW8PVKMN -FlightId 2e2f9fe8-3950-4273-b80d-7f752296ca86 -SubmissionDataPath ".\Upload.json" -PackagePath ".\Upload.zip" -AutoCommit -Force
882943
883944
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]
885946
environment: release-preview-channel
886947
runs-on: windows-latest
887948
if: startsWith(github.ref, 'refs/tags/')
@@ -893,12 +954,12 @@ jobs:
893954
curl -sLO https://github.com/PowerShell/PowerShell/releases/download/v7.2.17/PowerShell-7.2.17-win-x64.zip
894955
RMDIR "%extractPath%" /S /Q
895956
7z x PowerShell-7.2.17-win-x64.zip -o"%extractPath%"
896-
pwsh --version
957+
pwsh --version
897958
- name: Install StoreBroker
898959
run: Install-Module -Name StoreBroker -Force
899960
- uses: actions/download-artifact@v4
900961
with:
901-
name: storepackage
962+
name: storepackage
902963
- name: Authenticate with store
903964
env:
904965
TENANTID: ${{ secrets.TENANTID }}
@@ -911,7 +972,7 @@ jobs:
911972
Update-ApplicationFlightSubmission -ReplacePackages -AppId 9NJNWW8PVKMN -FlightId 732b234a-7ea9-4b65-8c9f-b9d9eaefb578 -SubmissionDataPath ".\Upload.json" -PackagePath ".\Upload.zip" -AutoCommit -Force
912973
913974
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]
915976
environment: release-channel
916977
runs-on: windows-latest
917978
if: startsWith(github.ref, 'refs/tags/')
@@ -923,12 +984,12 @@ jobs:
923984
curl -sLO https://github.com/PowerShell/PowerShell/releases/download/v7.2.17/PowerShell-7.2.17-win-x64.zip
924985
RMDIR "%extractPath%" /S /Q
925986
7z x PowerShell-7.2.17-win-x64.zip -o"%extractPath%"
926-
pwsh --version
987+
pwsh --version
927988
- name: Install StoreBroker
928989
run: Install-Module -Name StoreBroker -Force
929990
- uses: actions/download-artifact@v4
930991
with:
931-
name: storepackage
992+
name: storepackage
932993
- name: Authenticate with store
933994
env:
934995
TENANTID: ${{ secrets.TENANTID }}
@@ -941,7 +1002,7 @@ jobs:
9411002
Update-ApplicationSubmission -ReplacePackages -AppId 9NJNWW8PVKMN -SubmissionDataPath ".\Upload.json" -PackagePath ".\Upload.zip" -AutoCommit -Force
9421003
9431004
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]
9451006
environment: release-channel
9461007
runs-on: macos-latest
9471008
if: startsWith(github.ref, 'refs/tags/')
@@ -954,7 +1015,7 @@ jobs:
9541015
force: true
9551016

9561017
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]
9581019
environment: release-channel
9591020
runs-on: ubuntu-latest
9601021
if: startsWith(github.ref, 'refs/tags/')
@@ -990,9 +1051,9 @@ jobs:
9901051
git push origin master
9911052
env:
9921053
GH_REF: ${{ github.ref }}
993-
1054+
9941055
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]
9961057
environment: dev-channel
9971058
runs-on: ubuntu-latest
9981059
if: startsWith(github.ref, 'refs/tags/')
@@ -1007,7 +1068,7 @@ jobs:
10071068
run: |
10081069
export VERSION=$(echo $GH_REF | sed 's:refs/tags/v::')
10091070
echo "VERSION=$VERSION" >> $GITHUB_ENV
1010-
echo "$VERSION" > public/DEVCHANNELVERSION
1071+
echo "$VERSION" > public/DEVCHANNELVERSION
10111072
env:
10121073
GH_REF: ${{ github.ref }}
10131074
- uses: actions/download-artifact@v4
@@ -1041,7 +1102,7 @@ jobs:
10411102
SOURCE_DIR: 'publicscript'
10421103

10431104
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]
10451106
environment: release-preview-channel
10461107
runs-on: ubuntu-latest
10471108
if: startsWith(github.ref, 'refs/tags/')
@@ -1086,7 +1147,7 @@ jobs:
10861147
SOURCE_DIR: 'publicscript'
10871148

10881149
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]
10901151
environment: release-channel
10911152
runs-on: ubuntu-latest
10921153
if: startsWith(github.ref, 'refs/tags/')
@@ -1141,7 +1202,7 @@ jobs:
11411202
SOURCE_DIR: 'publicscript'
11421203

11431204
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]
11451206
environment: release-channel
11461207
runs-on: ubuntu-latest
11471208
if: startsWith(github.ref, 'refs/tags/')
@@ -1154,7 +1215,7 @@ jobs:
11541215
allowUpdates: true
11551216

11561217
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]
11581219
environment: release-channel
11591220
runs-on: ubuntu-latest
11601221
if: startsWith(github.ref, 'refs/tags/')

0 commit comments

Comments
 (0)