Skip to content

Commit db19a44

Browse files
committed
add github actions
1 parent ca4b93b commit db19a44

File tree

2 files changed

+111
-0
lines changed

2 files changed

+111
-0
lines changed

.github/workflows/build.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Nebula Build
2+
on:
3+
push:
4+
branches:
5+
- 'main'
6+
pull_request:
7+
8+
jobs:
9+
buildmultijdk:
10+
runs-on: ubuntu-latest
11+
strategy:
12+
matrix:
13+
# test against latest update of some major Java version(s), as well as specific LTS version(s)
14+
java: [17, 21, 25]
15+
name: Gradle Build without Publish
16+
steps:
17+
- uses: actions/checkout@v4
18+
- name: Setup git user
19+
run: |
20+
git config --global user.name "Nebula Plugin Maintainers"
21+
git config --global user.email "nebula-plugins-oss@netflix.com"
22+
- name: Set up JDKs
23+
uses: actions/setup-java@v4
24+
with:
25+
distribution: 'zulu'
26+
java-version: |
27+
11
28+
21
29+
${{ matrix.java }}
30+
java-package: jdk
31+
- name: Setup Gradle
32+
uses: gradle/actions/setup-gradle@v5
33+
with:
34+
cache-overwrite-existing: true
35+
- name: Gradle build
36+
run: ./gradlew --stacktrace build
37+
env:
38+
JDK_VERSION_FOR_TESTS: ${{ matrix.java }}

.github/workflows/publish.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Nebula Publish
2+
on:
3+
push:
4+
tags:
5+
- v*.*.*
6+
- v*.*.*-rc.*
7+
8+
jobs:
9+
validatepluginpublication:
10+
runs-on: ubuntu-latest
11+
name: Gradle Plugin Publication Validation
12+
env:
13+
NETFLIX_OSS_SONATYPE_USERNAME: ${{ secrets.ORG_SONATYPE_USERNAME }}
14+
NETFLIX_OSS_SONATYPE_PASSWORD: ${{ secrets.ORG_SONATYPE_PASSWORD }}
15+
steps:
16+
- uses: actions/checkout@v4
17+
- name: Setup git user
18+
run: |
19+
git config --global user.name "Nebula Plugin Maintainers"
20+
git config --global user.email "nebula-plugins-oss@netflix.com"
21+
- name: Set up JDKs
22+
uses: actions/setup-java@v4
23+
with:
24+
distribution: 'zulu'
25+
java-version: |
26+
11
27+
21
28+
java-package: jdk
29+
- name: Setup Gradle
30+
uses: gradle/actions/setup-gradle@v5
31+
with:
32+
cache-overwrite-existing: true
33+
- name: Verify plugin publication
34+
if: (!contains(github.ref, '-rc.'))
35+
run: ./gradlew --stacktrace -Dgradle.publish.key=${{ secrets.gradlePublishKey }} -Dgradle.publish.secret=${{ secrets.gradlePublishSecret }} -Prelease.useLastTag=true final publishPlugin --validate-only -x check
36+
publish:
37+
if: github.event.base_ref == 'refs/heads/main' # tags must be pushed to main
38+
needs: validatepluginpublication
39+
runs-on: ubuntu-latest
40+
name: Gradle Build and Publish
41+
env:
42+
NETFLIX_OSS_SONATYPE_USERNAME: ${{ secrets.ORG_SONATYPE_USERNAME }}
43+
NETFLIX_OSS_SONATYPE_PASSWORD: ${{ secrets.ORG_SONATYPE_PASSWORD }}
44+
NETFLIX_OSS_SIGNING_KEY: ${{ secrets.ORG_SIGNING_KEY }}
45+
NETFLIX_OSS_SIGNING_PASSWORD: ${{ secrets.ORG_SIGNING_PASSWORD }}
46+
NETFLIX_OSS_REPO_USERNAME: ${{ secrets.ORG_NETFLIXOSS_USERNAME }}
47+
NETFLIX_OSS_REPO_PASSWORD: ${{ secrets.ORG_NETFLIXOSS_PASSWORD }}
48+
steps:
49+
- uses: actions/checkout@v4
50+
- name: Setup git user
51+
run: |
52+
git config --global user.name "Nebula Plugin Maintainers"
53+
git config --global user.email "nebula-plugins-oss@netflix.com"
54+
- name: Set up JDKs
55+
uses: actions/setup-java@v4
56+
with:
57+
distribution: 'zulu'
58+
java-version: |
59+
11
60+
21
61+
java-package: jdk
62+
- name: Setup Gradle
63+
uses: gradle/actions/setup-gradle@v5
64+
with:
65+
cache-overwrite-existing: true
66+
- name: Gradle build
67+
run: ./gradlew --stacktrace build
68+
- name: Publish candidate
69+
if: contains(github.ref, '-rc.')
70+
run: ./gradlew --info --stacktrace -Prelease.useLastTag=true candidate
71+
- name: Publish release
72+
if: (!contains(github.ref, '-rc.'))
73+
run: ./gradlew --info --stacktrace -Dgradle.publish.key=${{ secrets.gradlePublishKey }} -Dgradle.publish.secret=${{ secrets.gradlePublishSecret }} -Prelease.useLastTag=true final

0 commit comments

Comments
 (0)