1010 release :
1111 types : [released]
1212
13+ env :
14+ PROJECT_NAME : math
15+
1316jobs :
1417 build :
1518 # Only run on PRs if the source branch is on someone else's repo
@@ -20,63 +23,67 @@ jobs:
2023 matrix :
2124 os : [ubuntu-latest, windows-latest]
2225 steps :
23- # Setup
24- - name : Check out
25- uses : actions/checkout@v2
26- - name : Setup JDK 11
27- uses : actions/setup-java@v2
28- with :
29- distribution : adopt
30- java-version : 11
31- - name : Validate Gradle wrapper
32- uses : gradle/wrapper-validation-action@v1
26+ # Setup
27+ - name : Check out
28+ uses : actions/checkout@v2
29+ with :
30+ ssh-key : ${{ secrets.SPONGE_JD_DEPLOY_KEY }}
31+ - name : Setup JDK 11
32+ uses : actions/setup-java@v2
33+ with :
34+ distribution : adopt
35+ java-version : 11
36+ - name : Validate Gradle wrapper
37+ uses : gradle/wrapper-validation-action@v1
3338
34- # Actually build
35- - name : Build with Gradle
36- run : ./gradlew build
37- - name : Archive test results
38- if : " ${{ always() }}"
39- uses : actions/upload-artifact@v2
40- with :
41- name : " test-results-${{ matrix.os }} "
42- path : |
43- build/reports/
44- */build/reports/
39+ # Actually build
40+ - name : Build with Gradle
41+ run : ./gradlew build
42+ - name : Archive test results
43+ if : " ${{ always() }}"
44+ uses : actions/upload-artifact@v2
45+ with :
46+ name : test-results
47+ path : |
48+ build/reports/
49+ */build/reports/
4550
46- # Then publish if we are all set up to do so
47- - name : Determine status
48- if : " ${{ runner.os == 'Linux' }}"
49- run : |
50- if [ "$(./gradlew properties | awk '/^version:/ { print $2; }' | grep '\-SNAPSHOT')" ]; then
51- echo "STATUS=snapshot" >> $GITHUB_ENV
52- else
53- echo "STATUS=release" >> $GITHUB_ENV
54- fi
55- - name : Publish with Gradle (snapshot)
56- if : " ${{ runner.os == 'Linux' && env.STATUS != 'release' && github.event_name == 'push' && github.ref == 'refs/heads/master' }}"
57- run : ./gradlew -PforceSign=true publish
58- env :
59- ORG_GRADLE_PROJECT_githubPackagesUsername : " ${{ github.actor }}"
60- ORG_GRADLE_PROJECT_githubPackagesPassword : " ${{ secrets.GITHUB_TOKEN }}"
61- ORG_GRADLE_PROJECT_spongeSnapshotRepo : " ${{ secrets.SPONGE_MAVEN_SNAPSHOT_REPO_URL }}"
62- ORG_GRADLE_PROJECT_spongeReleaseRepo : " ${{ secrets.SPONGE_MAVEN_RELEASE_REPO_URL }}"
63- ORG_GRADLE_PROJECT_spongeUsername : " ${{ secrets.SPONGE_MAVEN_REPO_USER }}"
64- ORG_GRADLE_PROJECT_spongePassword : " ${{ secrets.SPONGE_MAVEN_REPO_PASSWORD }}"
65- ORG_GRADLE_PROJECT_sonatypeUsername : " ${{ secrets.SPONGE_MAVEN_OSSRH_USER }}"
66- ORG_GRADLE_PROJECT_sonatypePassword : " ${{ secrets.SPONGE_MAVEN_OSSRH_PASSWORD }}"
67- ORG_GRADLE_PROJECT_spongeSigningKey : " ${{ secrets.SPONGE_SIGNING_KEY }}"
68- ORG_GRADLE_PROJECT_spongeSigningPassword : " ${{ secrets.SPONGE_SIGNING_PASSWORD }}"
69- - name : Publish with Gradle (release)
70- if : " ${{ runner.os == 'Linux' && env.STATUS == 'release' && github.event_name == 'release' }}"
71- run : ./gradlew publish closeSonatypeStagingRepository
72- env :
73- ORG_GRADLE_PROJECT_githubPackagesUsername : " ${{ github.actor }}"
74- ORG_GRADLE_PROJECT_githubPackagesPassword : " ${{ secrets.GITHUB_TOKEN }}"
75- ORG_GRADLE_PROJECT_spongeSnapshotRepo : " ${{ secrets.SPONGE_MAVEN_SNAPSHOT_REPO_URL }}"
76- ORG_GRADLE_PROJECT_spongeReleaseRepo : " ${{ secrets.SPONGE_MAVEN_RELEASE_REPO_URL }}"
77- ORG_GRADLE_PROJECT_spongeUsername : " ${{ secrets.SPONGE_MAVEN_REPO_USER }}"
78- ORG_GRADLE_PROJECT_spongePassword : " ${{ secrets.SPONGE_MAVEN_REPO_PASSWORD }}"
79- ORG_GRADLE_PROJECT_sonatypeUsername : " ${{ secrets.SPONGE_MAVEN_OSSRH_USER }}"
80- ORG_GRADLE_PROJECT_sonatypePassword : " ${{ secrets.SPONGE_MAVEN_OSSRH_PASSWORD }}"
81- ORG_GRADLE_PROJECT_spongeSigningKey : " ${{ secrets.SPONGE_SIGNING_KEY }}"
82- ORG_GRADLE_PROJECT_spongeSigningPassword : " ${{ secrets.SPONGE_SIGNING_PASSWORD }}"
51+ # Then publish if we are all set up to do so
52+ - name : Determine status
53+ if : " ${{ runner.os == 'Linux' }}"
54+ run : |
55+ VERSION=$(./gradlew :properties | awk '/^version:/ { print $2; }')
56+ if [ "$(echo $VERSION | grep '\-SNAPSHOT')" ]; then
57+ echo "STATUS=snapshot" >> $GITHUB_ENV
58+ else
59+ echo "STATUS=release" >> $GITHUB_ENV
60+ fi
61+ echo "PROJECT_VERSION=$VERSION" >> $GITHUB_ENV
62+ - name : Publish with Gradle
63+ if : " ${{ runner.os == 'Linux' && ((env.STATUS != 'release' && github.event_name == 'push' && github.ref == 'refs/heads/master') || (env.STATUS == 'release' && github.event_name == 'release')) }}"
64+ run : ./gradlew -PforceSign=true publish
65+ env :
66+ ORG_GRADLE_PROJECT_githubPackagesUsername : " ${{ github.actor }}"
67+ ORG_GRADLE_PROJECT_githubPackagesPassword : " ${{ secrets.GITHUB_TOKEN }}"
68+ ORG_GRADLE_PROJECT_spongeSnapshotRepo : " ${{ secrets.SPONGE_MAVEN_SNAPSHOT_REPO_URL }}"
69+ ORG_GRADLE_PROJECT_spongeReleaseRepo : " ${{ secrets.SPONGE_MAVEN_RELEASE_REPO_URL }}"
70+ ORG_GRADLE_PROJECT_spongeUsername : " ${{ secrets.SPONGE_MAVEN_REPO_USER }}"
71+ ORG_GRADLE_PROJECT_spongePassword : " ${{ secrets.SPONGE_MAVEN_REPO_PASSWORD }}"
72+ ORG_GRADLE_PROJECT_sonatypeUsername : " ${{ secrets.SPONGE_MAVEN_OSSRH_USER }}"
73+ ORG_GRADLE_PROJECT_sonatypePassword : " ${{ secrets.SPONGE_MAVEN_OSSRH_PASSWORD }}"
74+ ORG_GRADLE_PROJECT_spongeSigningKey : " ${{ secrets.SPONGE_SIGNING_KEY }}"
75+ ORG_GRADLE_PROJECT_spongeSigningPassword : " ${{ secrets.SPONGE_SIGNING_PASSWORD }}"
76+ - name : Publish Javadoc
77+ if : " ${{ runner.os == 'Linux' && ((env.STATUS != 'release' && github.event_name == 'push' && github.ref == 'refs/heads/master') || (env.STATUS == 'release' && github.event_name == 'release')) }}"
78+ run : |
79+ git clone git@github.com:SpongePowered/APIJavadocs.git publish-jd -b data -c core.sshCommand="$(git config --local --get core.sshCommand)" -c user.name=Spongie -c user.email="staff@spongepowered.org"
80+ cd publish-jd
81+ DESTDIR="$PROJECT_NAME/$PROJECT_VERSION"
82+ rm -rf $DESTDIR
83+ mkdir -p $DESTDIR
84+ cp -R ../build/docs/javadoc/* $DESTDIR
85+ git add .
86+ git commit -m "Publishing javadoc for $PROJECT_NAME $PROJECT_VERSION"
87+ git push origin
88+ cd ..
89+ rm -rf publish-jd
0 commit comments