|
1 | 1 | name: Build and Deploy Java Parser |
2 | 2 |
|
3 | 3 | on: |
4 | | - push: |
5 | | - branches: [develop, main] |
6 | | - tags: ['v*'] |
7 | | - |
| 4 | + release: |
| 5 | + types: [published] |
| 6 | + |
8 | 7 | jobs: |
9 | 8 | build: |
10 | 9 | runs-on: ubuntu-latest |
@@ -41,27 +40,12 @@ jobs: |
41 | 40 | - name: Install ANTLR4 |
42 | 41 | run: make dev |
43 | 42 |
|
44 | | - - name: Set SNAPSHOT version (develop branch) |
45 | | - if: github.ref == 'refs/heads/develop' |
46 | | - run: | |
47 | | - cd java |
48 | | - BASE_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout | sed 's/-SNAPSHOT//') |
49 | | - mvn versions:set -DnewVersion="${BASE_VERSION}-SNAPSHOT" -DgenerateBackupPoms=false |
50 | | -
|
51 | | - - name: Set release version (main branch) |
52 | | - if: github.ref == 'refs/heads/main' |
| 43 | + - name: Set release version |
53 | 44 | run: | |
54 | 45 | cd java |
55 | 46 | BASE_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout | sed 's/-SNAPSHOT//') |
56 | 47 | mvn versions:set -DnewVersion="${BASE_VERSION}" -DgenerateBackupPoms=false |
57 | 48 |
|
58 | | - - name: Set release version (tag) |
59 | | - if: startsWith(github.ref, 'refs/tags/v') |
60 | | - run: | |
61 | | - cd java |
62 | | - TAG_VERSION=${GITHUB_REF_NAME#v} |
63 | | - mvn versions:set -DnewVersion="${TAG_VERSION}" -DgenerateBackupPoms=false |
64 | | -
|
65 | 49 | - name: Generate and Compile Java Code |
66 | 50 | run: make java_parser |
67 | 51 |
|
|
72 | 56 | key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} |
73 | 57 | restore-keys: ${{ runner.os }}-m2 |
74 | 58 |
|
75 | | - - name: Deploy SNAPSHOT to Sonatype Snapshots |
76 | | - if: github.ref == 'refs/heads/develop' |
77 | | - run: cd java && mvn clean deploy -DskipCentralPublishing=true |
78 | | - env: |
79 | | - MAVEN_USERNAME: ${{ secrets.SONATYPE_USERNAME }} |
80 | | - MAVEN_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} |
81 | | - MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} |
82 | | - |
83 | 59 | - name: Deploy Release to Central Portal |
84 | | - if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') |
85 | 60 | run: cd java && mvn clean deploy |
86 | 61 | env: |
87 | 62 | MAVEN_USERNAME: ${{ secrets.SONATYPE_USERNAME }} |
|
0 commit comments