1
+ # ##################################################################################################
2
+ # ## THIS IS A REUSABLE WORKFLOW TO BUILD THE SCALA LAUNCHERS ###
3
+ # ## HOW TO USE: ###
4
+ # ## - THSI WORKFLOW WILL PACKAGE THE ALL THE LAUNCHERS AND UPLOAD THEM TO GITHUB ARTIFACTS ###
5
+ # ## ###
6
+ # ## NOTE: ###
7
+ # ## - SEE THE WORFLOW FOR THE NAMES OF THE ARTIFACTS ###
8
+ # ##################################################################################################
9
+
10
+
11
+ name : Build Scala Launchers
12
+ run-name : Build Scala Launchers
13
+
14
+ on :
15
+ workflow_call :
16
+ inputs :
17
+ java-version :
18
+ type : string
19
+ required : true
20
+ outputs :
21
+ universal-id :
22
+ description : ID of the `universal` package from GitHub Artifacts (Authentication Required)
23
+ value : ${{ jobs.build.outputs.universal-id }}
24
+ linux-x86_64-id :
25
+ description : ID of the `linux x86-64` package from GitHub Artifacts (Authentication Required)
26
+ value : ${{ jobs.build.outputs.linux-x86_64-id }}
27
+ linux-aarch64-id :
28
+ description : ID of the `linux aarch64` package from GitHub Artifacts (Authentication Required)
29
+ value : ${{ jobs.build.outputs.linux-aarch64-id }}
30
+ mac-x86_64-id :
31
+ description : ID of the `mac x86-64` package from GitHub Artifacts (Authentication Required)
32
+ value : ${{ jobs.build.outputs.mac-x86_64-id }}
33
+ mac-aarch64-id :
34
+ description : ID of the `mac aarch64` package from GitHub Artifacts (Authentication Required)
35
+ value : ${{ jobs.build.outputs.mac-aarch64-id }}
36
+ win-x86_64-id :
37
+ description : ID of the `win x86-64` package from GitHub Artifacts (Authentication Required)
38
+ value : ${{ jobs.build.outputs.win-x86_64-id }}
39
+
40
+
41
+ jobs :
42
+ build :
43
+ runs-on : ubuntu-latest
44
+ outputs :
45
+ universal-id : ${{ steps.universal.outputs.artifact-id }}
46
+ linux-x86_64-id : ${{ steps.linux-x86_64.outputs.artifact-id }}
47
+ linux-aarch64-id : ${{ steps.linux-aarch64.outputs.artifact-id }}
48
+ mac-x86_64-id : ${{ steps.mac-x86_64.outputs.artifact-id }}
49
+ mac-aarch64-id : ${{ steps.mac-aarch64.outputs.artifact-id }}
50
+ win-x86_64-id : ${{ steps.win-x86_64.outputs.artifact-id }}
51
+ steps :
52
+ - uses : actions/checkout@v4
53
+ - uses : actions/setup-java@v4
54
+ with :
55
+ distribution : temurin
56
+ java-version : ${{ inputs.java-version }}
57
+ cache : sbt
58
+ - name : Build and pack the SDK (universal)
59
+ run : ./project/scripts/sbt dist/Universal/stage
60
+ - name : Build and pack the SDK (linux x86-64)
61
+ run : ./project/scripts/sbt dist-linux-x86_64/Universal/stage
62
+ - name : Build and pack the SDK (linux aarch64)
63
+ run : ./project/scripts/sbt dist-linux-aarch64/Universal/stage
64
+ - name : Build and pack the SDK (mac x86-64)
65
+ run : ./project/scripts/sbt dist-mac-x86_64/Universal/stage
66
+ - name : Build and pack the SDK (mac aarch64)
67
+ run : ./project/scripts/sbt dist-mac-aarch64/Universal/stage
68
+ - name : Build and pack the SDK (win x86-64)
69
+ run : ./project/scripts/sbt dist-win-x86_64/Universal/stage
70
+ - name : Upload zip archive to GitHub Artifact (universal)
71
+ uses : actions/upload-artifact@v4
72
+ id : universal
73
+ with :
74
+ path : ./dist/target/universal/stage
75
+ name : scala3-universal
76
+ - name : Upload zip archive to GitHub Artifact (linux x86-64)
77
+ uses : actions/upload-artifact@v4
78
+ id : linux-x86_64
79
+ with :
80
+ path : ./dist/linux-x86_64/target/universal/stage
81
+ name : scala3-x86_64-pc-linux
82
+ - name : Upload zip archive to GitHub Artifact (linux aarch64)
83
+ uses : actions/upload-artifact@v4
84
+ id : linux-aarch64
85
+ with :
86
+ path : ./dist/linux-aarch64/target/universal/stage
87
+ name : scala3-aarch64-pc-linux
88
+ - name : Upload zip archive to GitHub Artifact (mac x86-64)
89
+ uses : actions/upload-artifact@v4
90
+ id : mac-x86_64
91
+ with :
92
+ path : ./dist/mac-x86_64/target/universal/stage
93
+ name : scala3-x86_64-apple-darwin
94
+ - name : Upload zip archive to GitHub Artifact (mac aarch64)
95
+ uses : actions/upload-artifact@v4
96
+ id : mac-aarch64
97
+ with :
98
+ path : ./dist/mac-aarch64/target/universal/stage
99
+ name : scala3-aarch64-apple-darwin
100
+ - name : Upload zip archive to GitHub Artifact (win x86-64)
101
+ uses : actions/upload-artifact@v4
102
+ id : win-x86_64
103
+ with :
104
+ path : ./dist/win-x86_64/target/universal/stage
105
+ name : scala3-x86_64-pc-win32
106
+
0 commit comments