Skip to content

Commit

Permalink
Add the workflows for building PRs to main and main itself. (#2)
Browse files Browse the repository at this point in the history
* Add the workflows for building PRs to main and main itself.
  • Loading branch information
gjong authored Mar 14, 2024
1 parent 86b046c commit e27de10
Show file tree
Hide file tree
Showing 20 changed files with 163 additions and 248 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/component-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Build flow

on: [workflow_call]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure Java version
uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'temurin'
architecture: x64
- name: Setup Gradle
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5
- name: Build code
run: ./gradlew check
- name: Upload build results
uses: actions/upload-artifact@v4
with:
name: build-artifact
path: |
**/build/classes/**
**/build/libs/*.jar
**/build/jacoco/*.exec
- name: Upload test results
uses: actions/upload-artifact@v4
with:
name: test-artifact
path: |
**/build/test-results/**
24 changes: 0 additions & 24 deletions .github/workflows/feature-build.yml

This file was deleted.

27 changes: 27 additions & 0 deletions .github/workflows/pull-request-gate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Validate Pull Request

on:
pull_request:
branches:
- master

jobs:
build:
uses: ./.github/workflows/component-build.yml
code-quality:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
- name: Configure Java version
uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'temurin'
architecture: x64
- name: Download build artifact
uses: actions/download-artifact@v4
with:
name: build-artifact
- name: Quality gate
run: ./gradlew sonar -Dsonar.token=${{ secrets.SONAR_TOKEN }} -Dsonar.gradle.skipCompile=true -Dsonar.host.url=https://sonarcloud.io
27 changes: 27 additions & 0 deletions .github/workflows/release-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Build Rest Application Release

on:
push:
branches:
- master

jobs:
build:
uses: ./.github/workflows/component-build.yml
release:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
- name: Configure Java version
uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'temurin'
architecture: x64
- name: Publish artifacts
run: ./gradlew publish -x check
env:
NEXUS_PASSWORD: ${{ GITHUB_ACTOR }}
NEXUS_USER: ${{ secrets.GITHUB_TOKEN }}

6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# FinTrack
![Sonatype Nexus (Releases)](https://img.shields.io/nexus/r/com.jongsoft.finance/fintrack-api?server=https%3A%2F%2Foss.sonatype.org)
![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/com.jongsoft.finance/fintrack-api?server=https%3A%2F%2Foss.sonatype.org)
![Bitbucket Pipelines](https://img.shields.io/bitbucket/pipelines/jongsoftdev/fintrack-application/master)
[![SonarCloud Quality](https://sonarcloud.io/api/project_badges/measure?project=FinTrack%3AAPI&metric=alert_status&style=flat-square)](https://sonarcloud.io/dashboard?id=FinTrack%3AAPI)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=FinTrack%3AAPI&metric=coverage&style=flat-square)](https://sonarcloud.io/dashboard?id=FinTrack%3AAPI)
![Release Build](https://github.com/pledger-io/rest-application/actions/workflows/release-build.yml/badge.svg)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=pledger-io_rest-application&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=pledger-io_rest-application)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=pledger-io_rest-application&metric=coverage)](https://sonarcloud.io/summary/new_code?id=pledger-io_rest-application)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

-----------------------
Expand Down
80 changes: 0 additions & 80 deletions bitbucket-pipelines.yml

This file was deleted.

5 changes: 2 additions & 3 deletions bpmn-process/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ micronaut {

dependencies {
annotationProcessor(mn.lombok)
testAnnotationProcessor(mn.lombok)

implementation(libs.lang)
implementation(libs.lang.xml)
Expand All @@ -19,15 +18,15 @@ dependencies {
// Investigate if this can be swapped for micronaut serde
implementation(mn.micronaut.jackson.databind)
implementation(mn.micronaut.serde.jackson)
implementation(mn.validation)

implementation(project(":core"))
implementation(project(":domain"))
implementation(project(":rule-engine"))

// needed for the testing of the application
runtimeOnly(mn.h2)
runtimeOnly(mn.snakeyaml)
implementation(mn.validation)

testRuntimeOnly(mn.logback.classic)
testImplementation(mn.micronaut.test.junit5)
testImplementation(libs.bundles.junit)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.jongsoft.finance.bpmn.process.RuntimeContext;
import com.jongsoft.finance.domain.account.Account;
import com.jongsoft.lang.Control;
import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
import org.apache.commons.lang3.mutable.MutableObject;
import org.assertj.core.api.Assertions;
import org.camunda.bpm.engine.variable.Variables;
Expand All @@ -14,6 +15,7 @@
import java.math.BigDecimal;
import java.math.RoundingMode;

@MicronautTest
@ProcessExtension
@DisplayName("Account reconciliation feature")
class AccountReconcileIT {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.jongsoft.finance.domain.user.Budget;
import com.jongsoft.finance.providers.SettingProvider;
import com.jongsoft.lang.Collections;
import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
import jakarta.inject.Inject;
import org.assertj.core.api.Assertions;
import org.camunda.bpm.engine.variable.Variables;
Expand All @@ -16,6 +17,7 @@
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;

@MicronautTest
@ProcessExtension
@DisplayName("Budget analysis feature")
public class BudgetAnalysisIT {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.jongsoft.finance.core.MailDaemon;
import com.jongsoft.finance.domain.account.Account;
import com.jongsoft.finance.domain.account.Contract;
import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
Expand All @@ -17,6 +18,7 @@
import java.util.Map;
import java.util.Properties;

@MicronautTest
@ProcessExtension
@DisplayName("Contract warning feature")
public class ContractWarningIT {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import com.jongsoft.finance.domain.transaction.Transaction;
import com.jongsoft.finance.providers.AccountProvider;
import com.jongsoft.finance.serialized.ImportConfigJson;
import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
Expand All @@ -17,6 +18,7 @@
import java.util.Map;
import java.util.Set;

@MicronautTest
@ProcessExtension
@DisplayName("CSV Import feature")
public class ImportJobIT {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.jongsoft.finance.bpmn.process.ProcessExtension;
import com.jongsoft.finance.bpmn.process.RuntimeContext;
import com.jongsoft.finance.schedule.Periodicity;
import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
import org.apache.commons.lang3.mutable.MutableObject;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.DisplayName;
Expand All @@ -13,6 +14,7 @@
import java.util.Date;
import java.util.Map;

@MicronautTest
@ProcessExtension
@DisplayName("Process Scheduler feature")
class ProcessSchedulerIT {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.jongsoft.finance.domain.account.Account;
import com.jongsoft.finance.domain.user.Budget;
import com.jongsoft.lang.collection.Sequence;
import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
Expand All @@ -14,6 +15,7 @@
import java.time.LocalDate;
import java.util.Map;

@MicronautTest
@ProcessExtension
@DisplayName("Profile import feature")
public class ProfileImportIT {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@
import com.jongsoft.finance.bpmn.process.RuntimeContext;
import com.jongsoft.finance.domain.account.Account;
import com.jongsoft.finance.domain.transaction.ScheduledTransaction;
import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
import org.assertj.core.api.Assertions;
import org.camunda.bpm.engine.variable.Variables;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

import java.time.LocalDate;

@MicronautTest
@ProcessExtension
@DisplayName("Scheduled Transaction feature")
class ScheduledTransactionIT {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package com.jongsoft.finance.bpmn.process;

import io.micronaut.context.annotation.Executable;
import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.extension.ExtendWith;

import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@MicronautTest
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@ExtendWith({
ProcessTestExtension.class
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package com.jongsoft.finance.bpmn.process;

import lombok.extern.slf4j.Slf4j;
import org.assertj.core.api.Assertions;
import org.assertj.core.api.ListAssert;
import org.camunda.bpm.engine.ProcessEngine;
import org.camunda.bpm.engine.runtime.ProcessInstance;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.HashMap;
import java.util.Map;
import java.util.function.Consumer;

@Slf4j
public class RunningProcessExecution implements ProcessTestExtension.ProcessExecution<RunningProcessExecution> {

private final static Logger log = LoggerFactory.getLogger(RunningProcessExecution.class);
private final ProcessEngine processEngine;
private final ProcessInstance processInstance;

Expand Down
Loading

0 comments on commit e27de10

Please sign in to comment.