@@ -21,10 +21,10 @@ jobs:
2121 apps : scalafmt
2222 jvm : " temurin:17"
2323 - name : Check formatting
24- run : scalafmt --test
24+ run : .github/fmt.sh --test
2525
2626 bridges :
27- name : Test platform bridges
27+ name : Server bridges tests
2828 runs-on : ${{ matrix.os }}
2929 strategy :
3030 fail-fast : false
5151 fail-fast : false
5252 matrix :
5353 os : [ubuntu-latest, windows-latest, macOS-latest]
54- name : Test
54+ name : Server tests
5555 steps :
5656 - uses : actions/checkout@v3
5757 with :
@@ -71,15 +71,92 @@ jobs:
7171 ./mill -i 'frontend[2.12.17].test'
7272 shell : bash
7373
74+ jvm-tests :
75+ name : Client JVM tests
76+ runs-on : ubuntu-latest
77+ steps :
78+ - uses : actions/checkout@v3
79+ with :
80+ fetch-depth : 0
81+ submodules : true
82+ - uses : coursier/cache-action@v6.4
83+ - uses : coursier/setup-action@v1.2.0
84+ with :
85+ jvm : " zulu:17"
86+ - run : |
87+ ./mill -i __.publishLocal &&\
88+ ./mill -i integration.test.jvm
89+ if: runner.os != 'Windows'
90+ - run : |
91+ @call ./mill.bat -i __.publishLocal
92+ @call ./mill.bat -i integration.test.jvm
93+ shell: cmd
94+ if: runner.os == 'Windows'
95+
96+ native-tests :
97+ name : Client native tests
98+ runs-on : ${{ matrix.os }}
99+ strategy :
100+ fail-fast : false
101+ matrix :
102+ os : [ubuntu-latest, windows-latest, macos-latest]
103+ steps :
104+ - uses : actions/checkout@v3
105+ with :
106+ fetch-depth : 0
107+ submodules : true
108+ - uses : coursier/cache-action@v6.4
109+ - uses : coursier/setup-action@v1.2.0
110+ with :
111+ jvm : " zulu:17"
112+ - run : |
113+ ./mill -i "cli.writeNativeImageScript" generate.sh "" && \
114+ export USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM=false &&
115+ ./generate.sh && \
116+ ./mill -i "cli.copyToArtifacts" artifacts/
117+ if: runner.os != 'Windows'
118+ - run : |
119+ export USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM=false
120+ .github/scripts/generate-native-image-windows.sh
121+ shell: bash
122+ if: runner.os == 'Windows'
123+ - uses : actions/upload-artifact@v3
124+ with :
125+ name : launchers
126+ path : artifacts/
127+ if-no-files-found : error
128+ retention-days : 1
129+ - run : |
130+ ./mill -i __.publishLocal &&\
131+ ./mill -i "integration.test.native"
132+ if: github.event_name == 'push'
133+
134+ upload-launchers :
135+ name : Upload CLI
136+ needs : [scalafmt, jvm-tests, native-tests]
137+ runs-on : ubuntu-latest
138+ if : github.event_name == 'push'
139+ steps :
140+ - uses : actions/checkout@v3
141+ with :
142+ fetch-depth : 0
143+ submodules : true
144+ - uses : coursier/cache-action@v6.4
145+ - uses : coursier/setup-action@v1.2.0
146+ with :
147+ jvm : " zulu:17"
148+ - uses : actions/download-artifact@v3
149+ with :
150+ name : launchers
151+ path : artifacts/
152+ - run : ./mill -i ci.upload artifacts/
153+ env :
154+ UPLOAD_GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
155+
74156 release :
75157 name : Release
76158 runs-on : ubuntu-latest
77159 if : github.event_name == 'push'
78- env :
79- SONATYPE_USER : ${{ secrets.SONATYPE_USER }}
80- SONATYPE_PASSWORD : ${{ secrets.SONATYPE_PASSWORD }}
81- PGP_PASSWORD : ${{ secrets.PGP_PASSWORD }}
82- PGP_PASSPHRASE : ${{ secrets.PGP_PASSWORD }}
83160 steps :
84161 - uses : actions/checkout@v3
85162 with :
@@ -88,6 +165,10 @@ jobs:
88165 - uses : coursier/setup-action@v1.3.0
89166 with :
90167 jvm : " temurin:17"
168+ - name : GPG setup
169+ run : .github/scripts/gpg-setup.sh
170+ env :
171+ PGP_SECRET : ${{ secrets.PGP_SECRET }}
91172 - name : Release
92173 run : ./mill -i io.kipp.mill.ci.release.ReleaseModule/publishAll
93174 env :
0 commit comments