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