Merge pull request #7 from bcgov/feat/be/FSADT1-751 #1
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
name: Merge to Main | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- ".github/ISSUE_TEMPLATE/*" | |
- "**.md" | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }} | |
cancel-in-progress: true | |
jobs: | |
tests-java: | |
name: Integrated Tests | |
if: github.event_name != 'pull_request' || !github.event.pull_request.draft | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: bcgov-nr/[email protected] | |
name: Core Coverage | |
with: | |
commands: | | |
mvn -B verify -P all-tests checkstyle:checkstyle -Dcheckstyle.skip=false --file pom.xml | |
dir: core | |
java-cache: maven | |
java-distribution: temurin | |
java-version: "17" | |
sonar_args: > | |
-Dsonar.organization=bcgov-sonarcloud | |
-Dsonar.projectKey=bcgov_nr-forest-client-commons | |
sonar_project_token: ${{ secrets.SONAR_TOKEN_COMMONS }} | |
- uses: bcgov-nr/[email protected] | |
name: Spring Coverage | |
with: | |
commands: | | |
mvn -B verify -P all-tests checkstyle:checkstyle -Dcheckstyle.skip=false --file pom.xml | |
dir: spring | |
java-cache: maven | |
java-distribution: temurin | |
java-version: "17" | |
sonar_args: > | |
-Dsonar.organization=bcgov-sonarcloud | |
-Dsonar.projectKey=bcgov_nr-forest-client-commons | |
sonar_project_token: ${{ secrets.SONAR_TOKEN_COMMONS }} | |
codeql: | |
name: Semantic Code Analysis | |
runs-on: ubuntu-22.04 | |
needs: | |
- tests-java | |
permissions: | |
actions: read | |
contents: read | |
security-events: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Initialize | |
uses: github/codeql-action/init@v2 | |
with: | |
languages: javascript,java | |
# Autobuild failed for Java, so building manually | |
- name: Set up JDK 17 and Caching maven dependencies | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version: "17" | |
cache: "maven" | |
- name: Build Core | |
run: | | |
cd core | |
mvn clean package | |
- name: Build Spring | |
run: | | |
cd spring | |
mvn clean package | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v2 | |
release: | |
name: Release dependencies | |
outputs: | |
version: ${{ steps.changelog.outputs.version }} | |
needs: | |
- codeql | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: "17" | |
distribution: "temurin" | |
cache: "maven" | |
server-id: "github" | |
- name: Conventional Changelog | |
uses: TriPSs/conventional-changelog-action@v3 | |
id: changelog | |
continue-on-error: true | |
with: | |
github-token: ${{ github.token }} | |
output-file: "CHANGELOG.md" | |
skip-version-file: "true" | |
skip-commit: "true" | |
git-push: "false" | |
skip-on-empty: "false" | |
- name: Set version | |
run: | | |
cd core | |
mvn versions:set -DnewVersion='${{ steps.changelog.outputs.version }}' -DskipTests -Dtests.skip=true --file pom.xml | |
mvn versions:commit | |
cd ../spring | |
mvn versions:use-dep-version -DdepVersion=${{ steps.changelog.outputs.version }} -Dincludes=ca.bc.gov.nrs-commons:forest-client-core -DforceVersion=true --file pom.xml | |
mvn versions:set -DnewVersion='${{ steps.changelog.outputs.version }}' -DskipTests -Dtests.skip=true --file pom.xml | |
mvn versions:commit --file pom.xml | |
- name: Create Release | |
uses: softprops/action-gh-release@v1 | |
if: ${{ steps.changelog.outputs.tag != '' }} | |
continue-on-error: true | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
token: ${{ github.token }} | |
tag_name: ${{ steps.changelog.outputs.tag }} | |
name: ${{ steps.changelog.outputs.tag }} | |
body: ${{ steps.changelog.outputs.clean_changelog }} | |
release-core: | |
name: Build Core | |
runs-on: ubuntu-22.04 | |
needs: | |
- release | |
permissions: | |
packages: write | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: "17" | |
distribution: "temurin" | |
cache: "maven" | |
server-id: "github" | |
- uses: bcgov-nr/[email protected] | |
name: Core Coverage | |
with: | |
commands: | | |
mvn -B verify -P all-tests checkstyle:checkstyle -Dcheckstyle.skip=false --file pom.xml | |
dir: core | |
java-cache: maven | |
java-distribution: temurin | |
java-version: "17" | |
sonar_args: > | |
-Dsonar.organization=bcgov-sonarcloud | |
-Dsonar.projectKey=bcgov_nr-forest-client-commons | |
sonar_project_token: ${{ secrets.SONAR_TOKEN_COMMONS }} | |
- name: Publish Core | |
working-directory: ./core | |
run: | | |
mvn versions:set -DnewVersion='${{ needs.release.outputs.version }}' -DskipTests -Dtests.skip=true --file pom.xml | |
mvn versions:commit | |
mvn -B source:jar deploy --file pom.xml | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
release-spring: | |
name: Build Spring | |
runs-on: ubuntu-22.04 | |
needs: | |
- release | |
- release-core | |
permissions: | |
packages: write | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: "17" | |
distribution: "temurin" | |
cache: "maven" | |
server-id: "github" | |
- uses: bcgov-nr/[email protected] | |
name: Spring Coverage | |
with: | |
commands: | | |
mvn versions:use-dep-version -DdepVersion=${{ needs.release.outputs.version }} -Dincludes=ca.bc.gov.nrs-commons:forest-client-core -DforceVersion=true --file pom.xml | |
mvn -B verify -P all-tests checkstyle:checkstyle -Dcheckstyle.skip=false --file pom.xml | |
dir: spring | |
java-cache: maven | |
java-distribution: temurin | |
java-version: "17" | |
sonar_args: > | |
-Dsonar.organization=bcgov-sonarcloud | |
-Dsonar.projectKey=bcgov_nr-forest-client-commons | |
sonar_project_token: ${{ secrets.SONAR_TOKEN_COMMONS }} | |
- name: Publish Spring | |
working-directory: ./spring | |
run: | | |
mvn versions:use-dep-version -DdepVersion=${{ needs.release.outputs.version }} -Dincludes=ca.bc.gov.nrs-commons:forest-client-core -DforceVersion=true --file pom.xml | |
mvn versions:set -DnewVersion='${{ needs.release.outputs.version }}' -DskipTests -Dtests.skip=true --file pom.xml | |
mvn versions:commit --file pom.xml | |
mvn -B source:jar deploy --file pom.xml | |
env: | |
GITHUB_TOKEN: ${{ github.token }} |