Skip to content

Commit

Permalink
Merge branch '6.2.x' into renovate/picocliversion
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesfredley authored Feb 7, 2025
2 parents 0613636 + 4aceff7 commit 76a8e37
Show file tree
Hide file tree
Showing 132 changed files with 1,708 additions and 793 deletions.
27 changes: 0 additions & 27 deletions .github/workflows/deploy.yml

This file was deleted.

163 changes: 42 additions & 121 deletions .github/workflows/snapshot.yml → .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "Snapshot"
name: "Java CI"
on:
push:
branches:
Expand All @@ -9,21 +9,28 @@ on:
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: 'temurin'
java-version: '17'
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:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
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()
Expand All @@ -34,121 +41,17 @@ jobs:
./tmp/cli/bin/grails --version
- name: "📤 Publish to Sonatype OSSRH"
id: publish
if: steps.build.outcome == 'success' && github.event_name == 'push'
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 }}
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
run: ./gradlew publishToSonatype
deploy:
name: "Deploy To Google Cloud Run"
runs-on: ubuntu-latest
if: github.event_name != 'pull_request'
needs: [build]
env:
IMAGE_NAME: gcr.io/${{ secrets.GCP_PROJECT_ID }}/${{ secrets.GCP_APP_NAME }}:snapshot
steps:
- name: "🔑 Login"
uses: google-github-actions/setup-gcloud@v0
with:
project_id: ${{ secrets.GCP_PROJECT_ID }}
service_account_email: ${{ secrets.GCP_EMAIL }}
service_account_key: ${{ secrets.GCP_CREDENTIALS }}
- name: "🐋 Configure Docker"
run: gcloud auth configure-docker --quiet
- name: "📥 Checkout repository"
uses: actions/checkout@v4
- name: "☕️ Setup JDK"
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
- name: "✅ Run Tests"
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
run: >
./gradlew
grails-forge-api:test
grails-forge-web-netty:test
- name: "🔨 Build Docker image"
# To deploy native executables built with GraalVM replace dockerBuild with dockerBuildNative and dockerPush with dockerPushNative. First, try that it works locally.
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
run: >
./gradlew
grails-forge-web-netty:dockerBuildNative
-PdockerImageName=${{ env.IMAGE_NAME }}
- name: "📤 Push image to Google Cloud Container Registry"
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
run: >
./gradlew
grails-forge-web-netty:dockerPushNative
-PdockerImageName=${{ env.IMAGE_NAME }}
- name: "🚀 Deploy Docker image"
run: >
gcloud run deploy ${{ secrets.GCP_PROJECT_ID }}-snapshot
--image $IMAGE_NAME
--region us-central1
--update-env-vars=HOSTNAME="snapshot.grails.org",CORS_ALLOWED_ORIGIN="https://start.grails.org",GITHUB_OAUTH_APP_CLIENT_ID=${{ secrets.GH_OAUTH_SNAPSHOT_CLIENT_ID }},GITHUB_OAUTH_APP_CLIENT_SECRET=${{ secrets.GH_OAUTH_SNAPSHOT_CLIENT_SECRET }},GITHUB_USER_AGENT=${{ secrets.GH_USER_AGENT }},GITHUB_REDIRECT_URL=${{ secrets.GH_REDIRECT_URL }}
--platform managed
--allow-unauthenticated
--service-account=${{ secrets.GCLOUD_EMAIL }}
deployAnalytics:
name: "Deploy Analytics To Google Cloud Run"
runs-on: ubuntu-latest
if: github.event_name != 'pull_request'
needs: [build]
env:
IMAGE_NAME: gcr.io/${{ secrets.GCP_PROJECT_ID }}/${{ secrets.GCP_APP_NAME }}-analytics:snapshot
steps:
- name: "🔑 Login"
uses: google-github-actions/setup-gcloud@v0
with:
project_id: ${{ secrets.GCP_PROJECT_ID }}
service_account_email: ${{ secrets.GCP_EMAIL }}
service_account_key: ${{ secrets.GCP_CREDENTIALS }}
- name: "🐋 Configure Docker"
run: gcloud auth configure-docker --quiet
- name: "📥 Checkout repository"
uses: actions/checkout@v4
- name: "☕️ Setup JDK"
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
- name: "✅ Run Tests"
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
run: ./gradlew grails-forge-analytics-postgres:test
- name: "🔨 Build Docker image"
# To deploy native executables built with GraalVM replace dockerBuild with dockerBuildNative and dockerPush with dockerPushNative. First, try that it works locally.
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
run: >
./gradlew
grails-forge-analytics-postgres:dockerBuildNative
-PdockerImageName=${{ env.IMAGE_NAME }}
- name: "📤 Push image to Google Cloud Container Registry"
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
run: >
./gradlew
grails-forge-analytics-postgres:dockerPushNative
-PdockerImageName=${{ env.IMAGE_NAME }}
- name: "🚀 Deploy Docker image"
run: |
gcloud components install beta --quiet
gcloud run deploy ${{ secrets.GCP_PROJECT_ID }}-analytics-snapshot --image $IMAGE_NAME --region us-central1 --platform managed --allow-unauthenticated --service-account=${{ secrets.GCLOUD_EMAIL }}
linux:
name: "Build Linux Native CLI"
runs-on: ubuntu-latest
needs: [build]
needs: build
steps:
- name: "📥 Checkout the repository"
uses: actions/checkout@v4
Expand All @@ -161,7 +64,12 @@ jobs:
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
Expand All @@ -175,7 +83,7 @@ jobs:
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 Snapshot
- name: "📤 Upload Artifact to Workflow Summary Page"
if: success() && github.event_name == 'push' && github.ref == 'refs/heads/6.2.x'
uses: actions/upload-artifact@v4
with:
Expand All @@ -184,7 +92,7 @@ jobs:
macos:
name: "Build OS X Intel Native CLI"
runs-on: macos-13
needs: [build]
needs: build
steps:
- name: "📥 Checkout the repository"
uses: actions/checkout@v4
Expand All @@ -197,7 +105,12 @@ jobs:
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
Expand All @@ -211,7 +124,7 @@ jobs:
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 Snapshot"
- name: "📤 Upload Artifact to Workflow Summary Page"
if: success() && github.event_name == 'push' && github.ref == 'refs/heads/6.2.x'
uses: actions/upload-artifact@v4
with:
Expand All @@ -220,8 +133,6 @@ jobs:
macos-arm:
name: "Build OS X Arm Native CLI"
runs-on: macos-latest
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
needs: [build]
steps:
- name: "📥 Checkout repository"
Expand All @@ -235,7 +146,12 @@ jobs:
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
Expand All @@ -249,7 +165,7 @@ jobs:
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 Snapshot"
- name: "📤 Upload Artifact to Workflow Summary Page"
if: success() && github.event_name == 'push' && github.ref == 'refs/heads/6.2.x'
uses: actions/upload-artifact@v4
with:
Expand All @@ -258,7 +174,7 @@ jobs:
windows:
name: "Build Windows Native CLI"
runs-on: windows-latest
needs: [build]
needs: build
steps:
- name: "📥 Checkout the repository"
uses: actions/checkout@v4
Expand All @@ -271,7 +187,12 @@ jobs:
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
Expand All @@ -291,9 +212,9 @@ jobs:
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: "📤 Publish artifact"
- name: "📤 Upload Artifact to Workflow Summary Page"
if: success() && github.event_name == 'push' && github.ref == 'refs/heads/6.2.x'
uses: actions/upload-artifact@v4
with:
name: grails-win-amd64-snapshot
path: ./grails-win-amd64-snapshot.zip
path: ./grails-win-amd64-snapshot.zip
9 changes: 6 additions & 3 deletions .github/workflows/mavenCentral.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,12 @@ jobs:
- name: "☕️ Setup JDK"
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
distribution: 'liberica'
java-version: '11'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- name: "🔐 Generate secring file"
env:
SECRING_FILE: ${{ secrets.SECRING_FILE }}
Expand All @@ -31,7 +33,8 @@ jobs:
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
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
-Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
Expand Down
Loading

0 comments on commit 76a8e37

Please sign in to comment.