Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the workflows for building PRs to main and main itself. #2

Merged
merged 13 commits into from
Mar 14, 2024
Merged
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