|
1 | | -name: CI |
| 1 | +name: CI/CD Process |
2 | 2 | on: |
3 | | - push: |
4 | | - tags: '*' |
5 | | - branches-ignore: |
6 | | - - 'autodelivery**' |
7 | | - - 'bump-**' |
8 | | - - 'renovate/**' |
9 | | - - 'dependabot/**' |
10 | | - paths-ignore: |
11 | | - - 'CHANGELOG.md' |
12 | | - - 'renovate.json' |
13 | | - - '.gitignore' |
14 | | - pull_request: |
| 3 | + workflow_call: |
15 | 4 | workflow_dispatch: |
16 | 5 |
|
17 | 6 | jobs: |
18 | 7 | build: |
19 | 8 | strategy: |
20 | 9 | matrix: |
21 | | - os: [ windows, macos, ubuntu ] |
| 10 | + os: [windows, macos, ubuntu] |
22 | 11 | runs-on: ${{ matrix.os }}-latest |
23 | | - timeout-minutes: 60 |
24 | 12 | steps: |
25 | 13 | - name: Checkout |
26 | | - uses: danysk/action-checkout@0.2.1 |
| 14 | + uses: DanySK/action-checkout@0.2.1 |
27 | 15 | - uses: DanySK/build-check-deploy-gradle-action@2.1.0 |
28 | 16 | with: |
29 | | - deploy-command: | |
30 | | - ./gradlew closeJavaMavenOnMavenCentralNexus --parallel |
31 | | - should-run-codecov: ${{ contains('Linux', runner.os) }} |
| 17 | + deploy-command: >- |
| 18 | + ./gradlew uploadJava close --parallel |
| 19 | + || ./gradlew uploadJava close --parallel |
| 20 | + || ./gradlew uploadJava close --parallel |
| 21 | + should-run-codecov: ${{ runner.os == 'Linux' }} |
32 | 22 | should-deploy: >- |
33 | 23 | ${{ |
34 | | - contains('Linux', runner.os) |
35 | | - && contains(github.repository, 'DanySK/java-quadtree') |
36 | | - && contains('push workflow_dispatch', github.event_name) |
| 24 | + runner.os == 'Linux' |
| 25 | + && !github.event.repository.fork |
| 26 | + && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) |
37 | 27 | }} |
38 | 28 | maven-central-password: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} |
39 | 29 | signing-key: ${{ secrets.SIGNING_KEY }} |
40 | 30 | signing-password: ${{ secrets.SIGNING_PASSWORD }} |
41 | | - Release: |
| 31 | + release: |
42 | 32 | needs: |
43 | 33 | - build |
44 | 34 | runs-on: ubuntu-latest |
45 | 35 | if: >- |
46 | | - contains('push workflow_dispatch', github.event_name) |
47 | | - && contains(github.repository, 'DanySK/java-quadtree') |
| 36 | + !github.event.repository.fork |
| 37 | + && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) |
| 38 | + concurrency: |
| 39 | + group: release |
48 | 40 | steps: |
49 | 41 | - name: Checkout |
50 | 42 | uses: actions/checkout@v3.0.2 |
| 43 | + with: |
| 44 | + token: ${{ secrets.DEPLOYMENT_TOKEN }} |
51 | 45 | - uses: DanySK/build-check-deploy-gradle-action@2.1.0 |
52 | 46 | with: |
53 | 47 | build-command: true |
|
62 | 56 | maven-central-password: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} |
63 | 57 | signing-key: ${{ secrets.SIGNING_KEY }} |
64 | 58 | signing-password: ${{ secrets.SIGNING_PASSWORD }} |
| 59 | + success: |
| 60 | + runs-on: ubuntu-latest |
| 61 | + needs: |
| 62 | + - build |
| 63 | + - release |
| 64 | + if: >- |
| 65 | + always() && ( |
| 66 | + contains(join(needs.*.result, ','), 'failure') |
| 67 | + || !contains(join(needs.*.result, ','), 'cancelled') |
| 68 | + ) |
| 69 | + steps: |
| 70 | + - name: Verify that the workflow executed and there were no failures |
| 71 | + run: ${{ !contains(join(needs.*.result, ','), 'failure') }} |
0 commit comments