-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2533 from objectcomputing/feature-2532/graal
Graal support
- Loading branch information
Showing
40 changed files
with
483 additions
and
89 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
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,39 @@ | ||
name: Gradle Build - Native - Feature / Bug | ||
on: | ||
push: | ||
branches: | ||
- 'feature-**/*' | ||
- 'bugfix-**/*' | ||
- 'chore-**/*' | ||
- 'doc-**/*' | ||
- 'hotfix-**/*' | ||
- 'dependabot/**/*' | ||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: Set up Node LTS | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: '20' | ||
- name: Set up GraalVM 21 | ||
uses: graalvm/[email protected] | ||
with: | ||
distribution: 'graalvm' | ||
java-version: '21' | ||
- name: Cache Gradle packages | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/.gradle/caches | ||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} | ||
restore-keys: ${{ runner.os }}-gradle | ||
- name: Validate Gradle wrapper | ||
uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b | ||
- name: Gradle runs tests | ||
uses: gradle/gradle-build-action@4137be6a8bf7d7133955359dbd952c0ca73b1021 | ||
with: | ||
arguments: nativeTest |
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,22 @@ | ||
name: Gradle Dependency Submission | ||
|
||
on: | ||
push: | ||
branches: [ 'develop', 'master', 'feature-2532/graal' ] | ||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
dependency-submission: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v4 | ||
- name: Setup Java | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: 21 | ||
- name: Generate and submit dependency graph | ||
uses: gradle/actions/dependency-submission@v4 |
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 |
---|---|---|
|
@@ -3,84 +3,87 @@ on: | |
push: | ||
branches: | ||
- 'develop' | ||
|
||
env: | ||
PROJECT_ID: ${{ secrets.RUN_PROJECT }} | ||
RUN_REGION: us-central1 | ||
SERVICE_NAME: checkins-develop | ||
TARGET_URL: https://checkins-develop-tuvcfzotpq-uc.a.run.app | ||
jobs: | ||
build: | ||
test: | ||
runs-on: ubuntu-latest | ||
environment: | ||
name: Development | ||
url: https://checkins-develop-tuvcfzotpq-uc.a.run.app/ | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis | ||
fetch-depth: 0 | ||
- name: Set up Node LTS | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: '20' | ||
- name: Set up JDK 21 | ||
- name: Set up Temurin 21 | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' # See 'Supported distributions' for available options | ||
distribution: 'temurin' | ||
java-version: 21 | ||
- name: Cache SonarQube packages | ||
- name: Cache Gradle packages | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/.sonar/cache | ||
key: ${{ runner.os }}-sonar | ||
restore-keys: ${{ runner.os }}-sonar | ||
path: ~/.gradle/caches | ||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} | ||
restore-keys: ${{ runner.os }}-gradle | ||
- name: Setup Gradle | ||
uses: gradle/actions/setup-gradle@v4 | ||
- name: Run tests with Gradle | ||
run: ./gradlew check | ||
deploy: | ||
permissions: | ||
contents: 'read' | ||
id-token: 'write' | ||
runs-on: ubuntu-latest | ||
environment: | ||
name: Development | ||
url: ${{ env.TARGET_URL }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: Set up Node LTS | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: '20' | ||
- name: Set up Temurin 21 | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: 21 | ||
- name: Cache Gradle packages | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/.gradle/caches | ||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} | ||
restore-keys: ${{ runner.os }}-gradle | ||
- name: Validate Gradle wrapper | ||
uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b | ||
- name: Build with Gradle | ||
uses: gradle/gradle-build-action@4137be6a8bf7d7133955359dbd952c0ca73b1021 | ||
with: | ||
arguments: assemble | ||
env: | ||
VITE_APP_API_URL: https://checkins-develop-tuvcfzotpq-uc.a.run.app | ||
- name: Gradle runs tests | ||
uses: gradle/gradle-build-action@4137be6a8bf7d7133955359dbd952c0ca73b1021 | ||
- name: Setup Gradle | ||
uses: gradle/actions/setup-gradle@v4 | ||
- id: 'auth' | ||
uses: 'google-github-actions/auth@v2' | ||
with: | ||
arguments: check | ||
# - name: Do SonarQube checks | ||
# uses: gradle/gradle-build-action@4137be6a8bf7d7133955359dbd952c0ca73b1021 | ||
# with: | ||
# arguments: sonarqube --info | ||
# env: | ||
# GITHUB_TOKEN: ${{ secrets.GIT_HUB_TOKEN }} | ||
# SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} | ||
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | ||
- name: Setup python | ||
run: | | ||
sudo apt-get install python2.7 | ||
- name: Export gcloud related env variable | ||
run: export CLOUDSDK_PYTHON="/usr/bin/python2" | ||
# Setup gcloud CLI | ||
- uses: google-github-actions/setup-gcloud@v0 | ||
project_id: 'oci-intern-2019' | ||
workload_identity_provider: 'projects/832140020593/locations/global/workloadIdentityPools/github/providers/my-repo' | ||
- name: 'Set up Cloud SDK' | ||
uses: google-github-actions/setup-gcloud@v2 | ||
with: | ||
version: "290.0.1" | ||
service_account_key: ${{ secrets.RUN_SA_KEY }} | ||
project_id: ${{ secrets.RUN_PROJECT }} | ||
- name: Auth Configure Docker | ||
version: '>= 363.0.0' | ||
- name: 'Auth Configure Docker' | ||
run: |- | ||
gcloud --quiet auth configure-docker | ||
- name: Build the Docker image | ||
run: |- | ||
./gradlew assemble | ||
cd server | ||
docker build --tag "gcr.io/$PROJECT_ID/$SERVICE_NAME:$GITHUB_SHA" . | ||
env: | ||
VITE_APP_API_URL: ${{ env.TARGET_URL }} | ||
- name: Push the Docker image to Google Container Registry | ||
run: |- | ||
cd server | ||
docker push "gcr.io/$PROJECT_ID/$SERVICE_NAME:$GITHUB_SHA" | ||
run: docker push "gcr.io/$PROJECT_ID/$SERVICE_NAME:$GITHUB_SHA" | ||
- name: Deploy image to Cloud Run | ||
run: |- | ||
gcloud run deploy "$SERVICE_NAME" \ | ||
|
@@ -103,7 +106,7 @@ jobs: | |
--set-env-vars "MJ_APIKEY_PUBLIC=${{ secrets.MJ_APIKEY_PUBLIC }}" \ | ||
--set-env-vars "MJ_APIKEY_PRIVATE=${{ secrets.MJ_APIKEY_PRIVATE }}" \ | ||
--set-env-vars "GIT_HUB_TOKEN=${{ secrets.GIT_HUB_TOKEN }}" \ | ||
--set-env-vars "WEB_ADDRESS=https://checkins-develop-tuvcfzotpq-uc.a.run.app" \ | ||
--set-env-vars "WEB_ADDRESS=${{ env.TARGET_URL }}" \ | ||
--set-env-vars "[email protected]" \ | ||
--set-env-vars "FROM_NAME=Check-Ins - DEVELOP" \ | ||
--set-env-vars "^@^MICRONAUT_ENVIRONMENTS=dev,cloud,google,gcp" \ | ||
|
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,114 @@ | ||
name: Gradle Build & Deploy - Native - Develop | ||
on: | ||
push: | ||
branches: | ||
- 'develop' | ||
env: | ||
PROJECT_ID: ${{ secrets.RUN_PROJECT }} | ||
RUN_REGION: us-central1 | ||
SERVICE_NAME: checkins-develop-native | ||
TARGET_URL: https://checkins-develop-native-832140020593.us-central1.run.app | ||
jobs: | ||
test: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: Set up Node LTS | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: '20' | ||
- name: Set up GraalVM 21 | ||
uses: graalvm/[email protected] | ||
with: | ||
distribution: 'graalvm' | ||
java-version: '21' | ||
- name: Cache Gradle packages | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/.gradle/caches | ||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} | ||
restore-keys: ${{ runner.os }}-gradle | ||
- name: Setup Gradle | ||
uses: gradle/actions/setup-gradle@v4 | ||
- name: Run tests with Gradle | ||
run: ./gradlew nativeTest | ||
deploy: | ||
permissions: | ||
contents: 'read' | ||
id-token: 'write' | ||
runs-on: ubuntu-latest | ||
environment: | ||
name: Development - Native | ||
url: ${{ env.TARGET_URL }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: Set up Node LTS | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: '20' | ||
- name: Set up GraalVM 21 | ||
uses: graalvm/[email protected] | ||
with: | ||
distribution: 'graalvm' | ||
java-version: '21' | ||
- name: Cache Gradle packages | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/.gradle/caches | ||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} | ||
restore-keys: ${{ runner.os }}-gradle | ||
- name: Setup Gradle | ||
uses: gradle/actions/setup-gradle@v4 | ||
- id: 'auth' | ||
uses: 'google-github-actions/auth@v2' | ||
with: | ||
project_id: 'oci-intern-2019' | ||
workload_identity_provider: 'projects/832140020593/locations/global/workloadIdentityPools/github/providers/my-repo' | ||
- name: 'Set up Cloud SDK' | ||
uses: google-github-actions/setup-gcloud@v2 | ||
with: | ||
version: '>= 363.0.0' | ||
- name: 'Auth Configure Docker' | ||
run: |- | ||
gcloud --quiet auth configure-docker | ||
- name: Build a native docker image | ||
run: ./gradlew dockerBuildNative | ||
env: | ||
VITE_APP_API_URL: ${{ env.TARGET_URL }} | ||
- name: Push the Docker image to Google Container Registry | ||
run: |- | ||
cd server | ||
docker push "gcr.io/$PROJECT_ID/$SERVICE_NAME:$GITHUB_SHA" | ||
- name: Deploy image to Cloud Run | ||
run: |- | ||
gcloud run deploy "$SERVICE_NAME" \ | ||
--quiet \ | ||
--region "$RUN_REGION" \ | ||
--image "gcr.io/$PROJECT_ID/$SERVICE_NAME:$GITHUB_SHA" \ | ||
--memory 1Gi \ | ||
--add-cloudsql-instances ${{ secrets.DB_CONNECTION_NAME }} \ | ||
--set-env-vars "CLOUD_DB_CONNECTION_NAME=${{ secrets.DB_CONNECTION_NAME }}" \ | ||
--set-env-vars "DB_NAME=${{ secrets.DB_NAME }}" \ | ||
--set-env-vars "DATASOURCES_DEFAULT_PASSWORD=${{ secrets.DB_PASSWORD }}" \ | ||
--set-env-vars "DATASOURCES_DEFAULT_USERNAME=${{ secrets.DB_USERNAME }}" \ | ||
--set-env-vars "AES_KEY=${{ secrets.AES_KEY }}" \ | ||
--set-env-vars "OAUTH_CLIENT_ID=${{ secrets.OAUTH_CLIENT_ID }}" \ | ||
--set-env-vars "OAUTH_CLIENT_SECRET=${{ secrets.OAUTH_CLIENT_SECRET }}" \ | ||
--set-env-vars "OAUTH_CALLBACK_URI"=${{ secrets.OAUTH_CALLBACK_URI }} \ | ||
--set-env-vars "DIRECTORY_ID=${{ secrets.DIRECTORY_ID }}" \ | ||
--set-env-vars "SERVICE_ACCOUNT_CREDENTIALS=${{ secrets.SERVICE_ACCOUNT_CREDENTIALS }}" \ | ||
--set-env-vars "GSUITE_SUPER_ADMIN=${{ secrets.GSUITE_SUPER_ADMIN }}" \ | ||
--set-env-vars "MJ_APIKEY_PUBLIC=${{ secrets.MJ_APIKEY_PUBLIC }}" \ | ||
--set-env-vars "MJ_APIKEY_PRIVATE=${{ secrets.MJ_APIKEY_PRIVATE }}" \ | ||
--set-env-vars "GIT_HUB_TOKEN=${{ secrets.GIT_HUB_TOKEN }}" \ | ||
--set-env-vars "WEB_ADDRESS=${{ env.TARGET_URL }}" \ | ||
--set-env-vars "[email protected]" \ | ||
--set-env-vars "FROM_NAME=Check-Ins - DEVELOP" \ | ||
--set-env-vars "^@^MICRONAUT_ENVIRONMENTS=dev,cloud,google,gcp" \ | ||
--platform "managed" \ | ||
--max-instances 2 \ | ||
--allow-unauthenticated |
Oops, something went wrong.