-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Split main Java CI build into gradle.yml workflow from Snapshot GPC d…
…eploy in snapshot.yml adjust Java versions, the snapshot workflow is now run manually so the desired branch or tag can be deployed
- Loading branch information
1 parent
3231e32
commit 692cff0
Showing
2 changed files
with
226 additions
and
205 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,220 @@ | ||
name: "Java CI" | ||
on: | ||
push: | ||
branches: | ||
- '[6-9]+.[0-9]+.x' | ||
pull_request: | ||
branches: | ||
- '[6-9]+.[0-9]+.x' | ||
workflow_dispatch: | ||
jobs: | ||
build: | ||
name: "Build Project" | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
java: ['11', '17'] | ||
steps: | ||
- name: "📥 Checkout repository" | ||
uses: actions/checkout@v4 | ||
- name: "☕️ Setup JDK" | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'liberica' | ||
java-version: ${{ matrix.java }} | ||
- name: "🐘 Setup Gradle" | ||
uses: gradle/actions/setup-gradle@v4 | ||
with: | ||
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} | ||
- name: "🔨 Run Build" | ||
id: build | ||
env: | ||
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }} | ||
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }} | ||
run: ./gradlew build | ||
- name: "✅ Verify CLI" | ||
if: success() | ||
run: | | ||
cp grails-cli/build/distributions/grails-cli-*.zip cli.zip | ||
unzip cli -d tmp | ||
mv tmp/grails-cli-* tmp/cli | ||
./tmp/cli/bin/grails --version | ||
- name: "📤 Publish to Sonatype OSSRH" | ||
id: publish | ||
if: success() && github.event_name == 'push' && matrix.java == '11' | ||
env: | ||
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }} | ||
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }} | ||
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | ||
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | ||
run: ./gradlew publishToSonatype | ||
linux: | ||
name: "Build Linux Native CLI" | ||
runs-on: ubuntu-latest | ||
needs: build | ||
steps: | ||
- name: "📥 Checkout the repository" | ||
uses: actions/checkout@v4 | ||
- name: "☕️ Setup GraalVM CE" | ||
uses: graalvm/setup-graalvm@v1 | ||
with: | ||
java-version: '17' | ||
distribution: 'graalvm-community' | ||
components: 'native-image' | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
- name: "🐘 Setup Gradle" | ||
uses: gradle/actions/setup-gradle@v4 | ||
with: | ||
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} | ||
- name: "📸 Build the Native Image" | ||
env: | ||
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }} | ||
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }} | ||
run: ./gradlew grails-cli:nativeCompile --no-daemon | ||
- name: "✅ Verify Build" | ||
run: ./grails-cli/build/native/nativeCompile/grails --version | ||
- name: "✅ Verify Create App" | ||
run: ./grails-cli/build/native/nativeCompile/grails create-app test | ||
- name: "📦 Package Build" | ||
env: | ||
VERSION: ${{ github.event.release.tag_name }} | ||
run: | | ||
mkdir -p grails-linux-amd64-snapshot/bin | ||
mv ./grails-cli/build/native/nativeCompile/grails grails-linux-amd64-snapshot/bin | ||
cp ./LICENSE grails-linux-amd64-snapshot/ | ||
zip -r grails-linux-amd64-snapshot.zip ./grails-linux-amd64-snapshot | ||
- name: "📤 Upload Artifact to Workflow Summary Page" | ||
if: success() && github.event_name == 'push' && github.ref == 'refs/heads/6.0.x' | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: grails-linux-amd64-snapshot | ||
path: grails-linux-amd64-snapshot.zip | ||
macos: | ||
name: "Build OS X Intel Native CLI" | ||
runs-on: macos-13 | ||
needs: build | ||
steps: | ||
- name: "📥 Checkout the repository" | ||
uses: actions/checkout@v4 | ||
- name: "☕️ Setup GraalVM CE" | ||
uses: graalvm/setup-graalvm@v1 | ||
with: | ||
java-version: '17' | ||
distribution: 'graalvm-community' | ||
components: 'native-image' | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
- name: "🐘 Setup Gradle" | ||
uses: gradle/actions/setup-gradle@v4 | ||
with: | ||
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} | ||
- name: "📸 Build the Native Image" | ||
env: | ||
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }} | ||
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }} | ||
run: ./gradlew grails-cli:nativeCompile --no-daemon | ||
- name: "✅ Verify Build" | ||
run: ./grails-cli/build/native/nativeCompile/grails --version | ||
- name: "✅ Verify Create App" | ||
run: ./grails-cli/build/native/nativeCompile/grails create-app test | ||
- name: "📦 Package Build" | ||
env: | ||
VERSION: ${{ github.event.release.tag_name }} | ||
run: | | ||
mkdir -p grails-darwin-amd64-snapshot/bin | ||
mv ./grails-cli/build/native/nativeCompile/grails grails-darwin-amd64-snapshot/bin | ||
cp ./LICENSE grails-darwin-amd64-snapshot/ | ||
zip -r grails-darwin-amd64-snapshot.zip ./grails-darwin-amd64-snapshot -x '*.DS_Store*' -x '__MAC_OSX' | ||
- name: "📤 Upload Artifact to Workflow Summary Page" | ||
if: success() && github.event_name == 'push' && github.ref == 'refs/heads/6.0.x' | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: grails-darwin-amd64-snapshot | ||
path: grails-darwin-amd64-snapshot.zip | ||
macos-arm: | ||
name: "Build OS X Arm Native CLI" | ||
runs-on: macos-latest | ||
needs: [build] | ||
steps: | ||
- name: "📥 Checkout repository" | ||
uses: actions/checkout@v4 | ||
- name: "☕️ Setup GraalVM CE" | ||
uses: graalvm/setup-graalvm@v1 | ||
with: | ||
java-version: '17' | ||
distribution: 'graalvm-community' | ||
components: 'native-image' | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
- name: "🐘 Setup Gradle" | ||
uses: gradle/actions/setup-gradle@v4 | ||
with: | ||
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} | ||
- name: "📸 Build the Native Image" | ||
env: | ||
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }} | ||
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }} | ||
run: ./gradlew grails-cli:nativeCompile --no-daemon | ||
- name: "✅ Verify Build" | ||
run: ./grails-cli/build/native/nativeCompile/grails --version | ||
- name: "✅ Verify Create App" | ||
run: ./grails-cli/build/native/nativeCompile/grails create-app test | ||
- name: "📦 Package Build" | ||
env: | ||
VERSION: ${{ github.event.release.tag_name }} | ||
run: | | ||
mkdir -p grails-darwin-aarch64-snapshot/bin | ||
mv ./grails-cli/build/native/nativeCompile/grails grails-darwin-aarch64-snapshot/bin | ||
cp ./LICENSE grails-darwin-aarch64-snapshot/ | ||
zip -r grails-darwin-aarch64-snapshot.zip grails-darwin-aarch64-snapshot/ -x '*.DS_Store*' -x '__MAC_OSX' | ||
- name: "📤 Upload Artifact to Workflow Summary Page" | ||
if: success() && github.event_name == 'push' && github.ref == 'refs/heads/6.0.x' | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: grails-darwin-aarch64-snapshot | ||
path: grails-darwin-aarch64-snapshot.zip | ||
windows: | ||
name: "Build Windows Native CLI" | ||
runs-on: windows-latest | ||
needs: build | ||
steps: | ||
- name: "📥 Checkout the repository" | ||
uses: actions/checkout@v4 | ||
- name: "☕️ Setup GraalVM CE" | ||
uses: graalvm/setup-graalvm@v1 | ||
with: | ||
java-version: '17' | ||
distribution: 'graalvm-community' | ||
components: 'native-image' | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
- name: "🐘 Setup Gradle" | ||
uses: gradle/actions/setup-gradle@v4 | ||
with: | ||
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} | ||
- name: "📸 Build the Native Image" | ||
env: | ||
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }} | ||
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }} | ||
run: ./gradlew grails-cli:nativeCompile --no-daemon | ||
- name: "✅ Verify Build (Powershell)" | ||
shell: powershell | ||
run: ./grails-cli/build/native/nativeCompile/grails.exe --version | ||
- name: "✅ Verify Create App (Powershell)" | ||
shell: powershell | ||
run: ./grails-cli/build/native/nativeCompile/grails.exe create-app test | ||
- name: "✅ Verify Build (CMD)" | ||
shell: cmd | ||
run: grails-cli\\build\\native\\nativeCompile\\grails --version | ||
- name: "✅ Verify Create App (CMD)" | ||
shell: cmd | ||
run: grails-cli\\build\\native\\nativeCompile\\grails create-app test2 | ||
- name: "📦 ZIP Archive" | ||
run: | | ||
New-Item "./grails-win-amd64-snapshot/bin" -ItemType Directory -ea 0 | ||
Move-Item -Path ./grails-cli/build/native/nativeCompile/grails.exe -Destination "./grails-win-amd64-snapshot/bin" | ||
Copy-Item "./LICENSE" -Destination "./grails-win-amd64-snapshot" | ||
Compress-Archive -Path "./grails-win-amd64-snapshot" -Update -DestinationPath ./grails-win-amd64-snapshot.zip | ||
- name: "📤 Upload Artifact to Workflow Summary Page" | ||
if: success() && github.event_name == 'push' && github.ref == 'refs/heads/6.0.x' | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: grails-win-amd64-snapshot | ||
path: ./grails-win-amd64-snapshot.zip |
Oops, something went wrong.