|
10 | 10 | release: |
11 | 11 | types: [released] |
12 | 12 |
|
13 | | -env: |
14 | | - PROJECT_NAME: spongeapi |
15 | | - |
16 | 13 | jobs: |
17 | | - build: |
18 | | - # Only run on PRs if the source branch is on someone else's repo |
19 | | - if: "${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}" |
20 | | - |
21 | | - runs-on: "${{ matrix.os }}" |
22 | | - strategy: |
23 | | - matrix: |
24 | | - os: [ubuntu-20.04, windows-latest] |
25 | | - steps: |
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 |
38 | | - |
39 | | - # Actually build |
40 | | - - uses: actions/cache@v2 |
41 | | - with: |
42 | | - path: | |
43 | | - ~/.gradle/caches |
44 | | - ~/.gradle/wrapper |
45 | | - key: "${{ runner.os }}-spongeapi-${{ hashFiles('**/*.gradle*') }}" |
46 | | - restore-keys: | |
47 | | - ${{ runner.os }}-spongeapi- |
48 | | - - name: Setup env variables |
49 | | - run: | |
50 | | - echo "GIT_COMMIT=${GITHUB_SHA}" >> $GITHUB_ENV |
51 | | - echo "GIT_BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV |
52 | | - echo "BUILD_NUMBER=${GITHUB_RUN_NUMBER}" >> $GITHUB_ENV |
53 | | - - name: Build with Gradle |
54 | | - run: ./gradlew build |
55 | | - - name: Archive test results |
56 | | - if: "${{ always() }}" |
57 | | - uses: actions/upload-artifact@v2 |
58 | | - with: |
59 | | - name: "test-results-${{ matrix.os }}" |
60 | | - path: | |
61 | | - build/reports/ |
62 | | - */build/reports/ |
63 | | -
|
64 | | - # Then publish if we are all set up to do so |
65 | | - - name: Determine status |
66 | | - if: "${{ runner.os == 'Linux' }}" |
67 | | - run: | |
68 | | - VERSION=$(./gradlew :properties | awk '/^version:/ { print $2; }') |
69 | | - if [ "$(echo $VERSION | grep '\-SNAPSHOT')" ]; then |
70 | | - echo "STATUS=snapshot" >> $GITHUB_ENV |
71 | | - else |
72 | | - echo "STATUS=release" >> $GITHUB_ENV |
73 | | - fi |
74 | | - echo "PROJECT_VERSION=$VERSION" >> $GITHUB_ENV |
75 | | - - name: Publish with Gradle |
76 | | - if: "${{ runner.os == 'Linux' && ((env.STATUS != 'release' && github.event_name == 'push' && startsWith(github.ref, 'refs/heads/api-')) || (env.STATUS == 'release' && github.event_name == 'release')) }}" |
77 | | - run: ./gradlew -PforceSign=true publish closeAndReleaseStagingRepository |
78 | | - env: |
79 | | - ORG_GRADLE_PROJECT_githubPackagesUsername: "${{ github.actor }}" |
80 | | - ORG_GRADLE_PROJECT_githubPackagesPassword: "${{ secrets.GITHUB_TOKEN }}" |
81 | | - ORG_GRADLE_PROJECT_spongeSnapshotRepo: "${{ secrets.SPONGE_MAVEN_SNAPSHOT_REPO_URL }}" |
82 | | - ORG_GRADLE_PROJECT_spongeReleaseRepo: "${{ secrets.SPONGE_MAVEN_RELEASE_REPO_URL }}" |
83 | | - ORG_GRADLE_PROJECT_spongeUsername: "${{ secrets.SPONGE_MAVEN_REPO_USER }}" |
84 | | - ORG_GRADLE_PROJECT_spongePassword: "${{ secrets.SPONGE_MAVEN_REPO_PASSWORD }}" |
85 | | - ORG_GRADLE_PROJECT_sonatypeUsername: "${{ secrets.SPONGE_MAVEN_OSSRH_USER }}" |
86 | | - ORG_GRADLE_PROJECT_sonatypePassword: "${{ secrets.SPONGE_MAVEN_OSSRH_PASSWORD }}" |
87 | | - ORG_GRADLE_PROJECT_spongeSigningKey: "${{ secrets.SPONGE_SIGNING_KEY }}" |
88 | | - ORG_GRADLE_PROJECT_spongeSigningPassword: "${{ secrets.SPONGE_SIGNING_PASSWORD }}" |
89 | | - - name: Publish Javadoc |
90 | | - if: "${{ runner.os == 'Linux' && ((env.STATUS != 'release' && github.event_name == 'push' && startsWith(github.ref, 'refs/heads/api-')) || (env.STATUS == 'release' && github.event_name == 'release')) }}" |
91 | | - run: | |
92 | | - git clone [email protected]:SpongePowered/APIJavadocs.git publish-jd -b data -c core.sshCommand="$(git config --local --get core.sshCommand)" -c user.name=Spongie -c user.email="[email protected]" |
93 | | - cd publish-jd |
94 | | - DESTDIR="$PROJECT_NAME/$PROJECT_VERSION" |
95 | | - rm -rf $DESTDIR |
96 | | - mkdir -p $DESTDIR |
97 | | - cp -R ../build/docs/javadoc/* $DESTDIR |
98 | | - git add . |
99 | | - git commit -m "Publishing javadoc for $PROJECT_NAME $PROJECT_VERSION" |
100 | | - git push origin |
101 | | - cd .. |
102 | | - rm -rf publish-jd |
| 14 | + call-build: |
| 15 | + uses: SpongePowered/.github/.github/workflows/shared-ci.yaml@master |
| 16 | + with: |
| 17 | + publish_snapshot_javadoc: true |
| 18 | + secrets: inherit |
0 commit comments