1- name : Java CI
1+ name : Grace CI
22on :
33 push :
44 branches :
5- - ' [6-9]+.[0-9]+.x '
5+ - 2023.3.x
66 pull_request :
77 branches :
8- - ' [6-9]+.[0-9]+.x '
8+ - 2023.3.x
99 workflow_dispatch :
10- inputs :
11- message :
12- description : ' Snapshot information (e.g. New Core Snapshot Tue Dec 15 00:07:18 UTC 2020 f212f54)'
13- required : true
1410jobs :
1511 build :
12+ permissions :
13+ contents : read # to fetch code (actions/checkout)
1614 runs-on : ubuntu-latest
17- continue-on-error : true
18- env :
19- WORKSPACE : ${{ github.workspace }}
20- GRADLE_OPTS : -Xmx1500m -Dfile.encoding=UTF-8
2115 strategy :
2216 matrix :
23- mongodb-version : ['4.4', '5.0', '6.0' ]
17+ java : ['17']
18+ env :
19+ WORKSPACE : ${{ github.workspace }}
2420 steps :
25- - uses : actions/checkout@v4
21+ - name : Checkout repository
22+ env :
23+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
24+ uses : actions/checkout@v4
25+ with :
26+ token : ${{ secrets.GITHUB_TOKEN }}
2627 - name : Set up JDK
2728 uses : actions/setup-java@v4
2829 with :
2930 distribution : ' adopt'
30- java-version : ' 11'
31- - name : Start MongoDB
32- uses : supercharge/mongodb-github-action@v1.10.0
33- with :
34- mongodb-version : ${{ matrix.mongodb-version }}
31+ java-version : ${{ matrix.java }}
3532 - name : Run Build
33+ id : build
3634 uses : gradle/gradle-build-action@v3
37- env :
38- GRADLE_ENTERPRISE_ACCESS_KEY : ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
3935 with :
40- arguments : build -Dgeb.env=chromeHeadless
36+ arguments : build
4137 publish :
42- runs-on : ubuntu-latest
4338 if : github.event_name == 'push'
44- needs : [build]
45- env :
46- WORKSPACE : ${{ github.workspace }}
39+ needs : ["build"]
40+ permissions :
41+ contents : read # to fetch code (actions/checkout)
42+ checks : write
43+ runs-on : ubuntu-latest
44+ strategy :
45+ matrix :
46+ java : ['17']
4747 steps :
48- - uses : actions/checkout@v4
49- - name : Set up JDK
50- uses : actions/setup-java@v4
51- with :
52- distribution : ' adopt'
53- java-version : ' 11'
54- - name : Publish to repo.grails.org
55- id : publish
56- uses : gradle/gradle-build-action@v3
57- env :
58- GRADLE_ENTERPRISE_ACCESS_KEY : ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
59- ARTIFACTORY_USERNAME : ${{ secrets.ARTIFACTORY_USERNAME }}
60- ARTIFACTORY_PASSWORD : ${{ secrets.ARTIFACTORY_PASSWORD }}
61- with :
62- arguments : -Dorg.gradle.internal.publish.checksums.insecure=true publish
63- - name : Build Docs
64- id : docs
65- if : steps.build.outcome == 'success'
66- uses : gradle/gradle-build-action@v3
67- env :
68- GRADLE_ENTERPRISE_ACCESS_KEY : ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
69- with :
70- arguments : docs:docs
71- - name : Determine docs target repository
72- if : steps.docs.outcome == 'success'
73- uses : haya14busa/action-cond@v1
74- id : docs_target
75- with :
76- cond : ${{ github.repository == 'grails/gorm-mongodb' }}
77- if_true : " grails/grails-data-mapping"
78- if_false : ${{ github.repository }}
79- - name : Publish to Github Pages
80- if : steps.docs.outcome == 'success'
81- uses : micronaut-projects/github-pages-deploy-action@master
82- env :
83- TARGET_REPOSITORY : ${{ steps.docs_target.outputs.value }}
84- GH_TOKEN : ${{ secrets.GH_TOKEN }}
85- BRANCH : gh-pages
86- FOLDER : docs/build/docs
87- DOC_SUB_FOLDER : mongodb
88- DOC_FOLDER : gh-pages
89- COMMIT_EMAIL : behlp@objectcomputing.com
90- COMMIT_NAME : Puneet Behl
48+ - name : Checkout repository
49+ env :
50+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
51+ uses : actions/checkout@v4
52+ with :
53+ token : ${{ secrets.GITHUB_TOKEN }}
54+ - name : Set up JDK 17
55+ uses : actions/setup-java@v4
56+ with :
57+ distribution : ' adopt'
58+ java-version : ${{ matrix.java }}
59+ - name : Generate secring file
60+ env :
61+ SECRING_FILE : ${{ secrets.SECRING_FILE }}
62+ run : echo $SECRING_FILE | base64 -d > ${{ github.workspace }}/secring.gpg
63+ - name : Publish to Sonatype OSSRH
64+ id : publish
65+ uses : gradle/gradle-build-action@v3
66+ env :
67+ SONATYPE_USERNAME : ${{ secrets.SONATYPE_USERNAME }}
68+ SONATYPE_PASSWORD : ${{ secrets.SONATYPE_PASSWORD }}
69+ SONATYPE_NEXUS_URL : ${{ secrets.SONATYPE_NEXUS_URL }}
70+ SONATYPE_STAGING_PROFILE_ID : ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
71+ SIGNING_KEY : ${{ secrets.SIGNING_KEY }}
72+ SIGNING_PASSPHRASE : ${{ secrets.SIGNING_PASSPHRASE }}
73+ SECRING_FILE : ${{ secrets.SECRING_FILE }}
74+ with :
75+ arguments : -Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg publishToSonatype closeAndReleaseSonatypeStagingRepository
0 commit comments