Skip to content

Commit

Permalink
build: Reestructure Github Actions workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
felipebz committed May 30, 2024
1 parent bd12517 commit 870e699
Showing 1 changed file with 56 additions and 36 deletions.
92 changes: 56 additions & 36 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,47 @@ on:
branches:
- main

env:
JAVA_VERSION: 21

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ env.JAVA_VERSION }}

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Build with Gradle
run: ./gradlew build publishToMavenLocal --build-cache

- name: Build custom rules example
run: ./gradlew build -p plsql-custom-rules

- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: build-artifacts
path: '**/build/'
retention-days: 1

- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: gradle-cache
path: '~/.gradle/caches/'
retention-days: 1

integration-tests:
name: IT
needs: build
runs-on: ubuntu-latest
strategy:
fail-fast: false
Expand All @@ -27,51 +65,36 @@ jobs:
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
java-version: ${{ env.JAVA_VERSION }}

- name: Build with Gradle
run: ./gradlew build publishToMavenLocal -x dokkaJavadoc -x test --refresh-dependencies
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
path: '~/.gradle/caches'

- name: Build custom rules example
run: ./gradlew build -p plsql-custom-rules
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: gradle-cache

- if: ${{ !contains(matrix.sqVersion, 'SNAPSHOT') }}
name: Run integration test
run: ./gradlew integrationTest -Dsonar.runtimeVersion=${{ matrix.sqVersion }} --info

run: ./gradlew integrationTest -Dsonar.runtimeVersion=${{ matrix.sqVersion }}
#
- if: ${{ contains(matrix.sqVersion, 'SNAPSHOT') }}
name: Run integration test
run: |
curl -s -L "https://nexus.felipezorzo.com.br/service/rest/v1/search/assets/download?repository=maven-snapshots&maven.groupId=org.sonarsource.sonarqube&maven.artifactId=sonar-application&maven.extension=zip&sort=version&maven.baseVersion=${{ matrix.sqVersion }}" \
-u "$AUTH_REPOSITORY" \
-o sonar-zpa-plugin/sonar-application-${{ matrix.sqVersion }}.zip
./gradlew integrationTest -Dsonar.zipFile=sonar-application-${{ matrix.sqVersion }}.zip --info
./gradlew integrationTest -Dsonar.zipFile=sonar-application-${{ matrix.sqVersion }}.zip
env:
AUTH_REPOSITORY: ${{ secrets.AUTH_REPOSITORY }}

windows-build:
name: Test on Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Build with Gradle
run: ./gradlew test

linux-build:
name: Build and release
needs: [integration-tests, windows-build]
release:
name: Release
needs: integration-tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -81,14 +104,11 @@ jobs:
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
java-version: ${{ env.JAVA_VERSION }}

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Build with Gradle
run: ./gradlew build --refresh-dependencies

- if: github.ref == 'refs/heads/main'
name: Run SonarQube Scanner
run: ./gradlew sonar --info
Expand Down Expand Up @@ -116,7 +136,7 @@ jobs:
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
java-version: ${{ env.JAVA_VERSION }}

- name: Generate and submit dependency graph
uses: gradle/actions/dependency-submission@v3

0 comments on commit 870e699

Please sign in to comment.