11name : Gradle Tests and Nightly (CI)
22
3+ env :
4+ GH_PKG_URL : " https://maven.pkg.github.com/${{ github.repository }}"
5+
36on :
47 workflow_dispatch :
8+ inputs :
9+ diagnostic_mode :
10+ description : Diagnostic Mode
11+ type : boolean
12+ default : false
13+ required : true
14+
515 push :
616 branches :
717 - ' **'
1525jobs :
1626 vars :
1727 name : Get Variables
18- runs-on : ubuntu-latest
28+ runs-on : ubuntu-22.04
1929 outputs :
2030 version : ${{steps.version.outputs.version }}
2131 build : ${{steps.build.outputs.buildver}}
3747 buildver=$(git describe --tags --match v* | cut -d- -f2)
3848 echo "build = $buildver"
3949 echo "buildver=$buildver" >> $GITHUB_OUTPUT
50+
51+ build-info :
52+ name : Build Info
53+ runs-on : ubuntu-22.04
54+ needs : [ vars ]
55+ steps :
56+ - name : Output
57+ run : |
58+ echo "Version: ${{ needs.vars.outputs.version }}"
59+ echo "Build Number: ${{ needs.vars.outputs.build }}"
60+ echo "Packages URL: ${{ env.GH_PKG_URL }}"
61+
4062 tests :
4163 name : Gradle Tests
42- runs-on : ubuntu-latest
64+ runs-on : ubuntu-22.04
4365 needs : [ vars ]
4466 steps :
4567 - name : Checkout
@@ -51,22 +73,47 @@ jobs:
5173 - name : Set up JDK
5274 uses : actions/setup-java@v3
5375 with :
54- distribution : microsoft
76+ distribution : temurin
5577 java-version : 17
5678
57- - name : Generate Datagen Assets
79+ - name : Prepare Gradle
5880 uses : gradle/gradle-build-action@v2
59- with :
60- arguments : runData
81+
82+ - name : Diagnostic Output
83+ if : inputs.diagnostic_mode
84+ run : |
85+ echo "Java Home: ${{env.JAVA_HOME}}"
86+ ./gradlew -q dependencies
87+
88+ - name : Make Directories
89+ run : |
90+ mkdir run
91+ mkdir run/data
92+ mkdir run/test
93+
94+ - name : Generate Datagen Assets
95+ run : ./gradlew runData --stacktrace --info
6196 env :
6297 CC_RELEASE : false
6398 CC_SEMVER_VERSION : ${{ needs.vars.outputs.version }}
6499 CC_BUILD_NUM : ${{ needs.vars.outputs.build }}
65100
66- - name : Test JAR with GameTest Server
67- uses : gradle/gradle-build-action@v2
101+ - name : Store Built Assets
102+ if : success()
103+ uses : actions/upload-artifact@v3
68104 with :
69- arguments : runGameTestServer
105+ name : generated-data
106+ path : src/generated/resources
107+
108+ - name : Upload Failure
109+ if : failure()
110+ uses : actions/upload-artifact@v3
111+ with :
112+ name : generated-data-failure
113+ path : .
114+
115+ - name : Test JAR with GameTest Server
116+ run : ./gradlew runGameTestServer
70117 env :
71118 CC_RELEASE : false
72119 CC_SEMVER_VERSION : ${{ needs.vars.outputs.version }}
81128
82129 nightly :
83130 name : Publish Nightly
84- runs-on : ubuntu-latest
131+ runs-on : ubuntu-22.04
85132 needs : [ vars, tests ]
86133 steps :
87134 - name : Checkout
@@ -96,19 +143,17 @@ jobs:
96143 distribution : temurin
97144 java-version : 17
98145
99- - name : Generate Resources
146+ - name : Setup Gradle
100147 uses : gradle/gradle-build-action@v2
148+
149+ - name : Pull Built Data
150+ uses : actions/download-artifact@v2
101151 with :
102- arguments : runData
103- env :
104- CC_RELEASE : false
105- CC_SEMVER_VERSION : ${{ needs.vars.outputs.version }}
106- CC_BUILD_NUM : ${{ needs.vars.outputs.build }}
152+ name : generated-data
153+ path : src/generated/resources
107154
108155 - name : Publish gradle nightly jar
109- uses : gradle/gradle-build-action@v2
110- with :
111- arguments : publishMainPublicationToGitHubPackagesRepository
156+ run : ./gradlew publishMainPublicationToGitHubPackagesRepository
112157 env :
113158 CC_RELEASE : false
114159 CC_SEMVER_VERSION : ${{ needs.vars.outputs.version }}
0 commit comments