Skip to content

Commit

Permalink
Merge branch 'main' into task-70
Browse files Browse the repository at this point in the history
  • Loading branch information
Chrylo authored Mar 14, 2024
2 parents 3579307 + b170d26 commit 474602b
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 10 deletions.
14 changes: 7 additions & 7 deletions .github/actions/run-tests/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,29 @@ description: Runs Unit and Integration Test. Tests will be executed on a Databro
inputs:
upload-test-reports:
description: "Uploads the resulting test reports if enabled"
required: false
default: 'false'
upload-code-coverage-reports:
description: "Executes Code Coverage Generation and uploads the resulting reports if enabled"
required: false
default: 'false'
databroker-version:
description: "Databroker Version"
required: false
default: 'master'
kotest-tag:
description: >
The Kotest Tag to use when executing the tests. Check Tag.kt for valid options. Different Tags might require the
Databroker to be started in a different mode. Currently only unsecured mode (no tls, no authentication) is
supported.
default: '!CustomDatabroker'

runs:
using: "composite"
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: "Run Docker Container of Databroker in detached mode"
run: docker run --pull=always --rm --publish 55556:55556/tcp --detach --name databroker ghcr.io/eclipse/kuksa.val/databroker:${{ inputs.databroker-version }} --port 55556 --insecure
shell: bash

- name: Run 'test' with Gradle Wrapper
run: ./gradlew test -Dkotest.tags="!CustomDatabroker"
run: ./gradlew test -Dkotest.tags="${{ inputs.kotest-tag}}"
shell: bash

- name: Upload Test Reports
Expand Down
24 changes: 24 additions & 0 deletions .github/workflows/daily_integration_main-master.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: SDK:main <-> Databroker:master

on:
schedule:
- cron: "0 0 * * *"

jobs:
integration-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: main

- name: Setup Project
uses: ./.github/actions/setup-project

- name: Run Tests
uses: ./.github/actions/run-tests
with:
upload-test-reports: true
databroker-version: master
kotest-tag: "Integration & DefaultDatabroker"
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# kuksa-sdk-android

This is an Android SDK for the [KUKSA Vehicle Abstraction Layer](https://github.com/eclipse/kuksa.val).


[![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0)
[![Gitter](https://img.shields.io/gitter/room/kuksa-val/community)](https://gitter.im/kuksa-val/community)

![SDK:main <-> Databroker:master](https://github.com/eclipse-kuksa/kuksa-android-sdk/actions/workflows/daily_integration_main-master.yaml/badge.svg)

This is an Android SDK for the [KUKSA Vehicle Abstraction Layer](https://github.com/eclipse/kuksa.val).

## Overview

The KUKSA Android SDK allows you to interact with [VSS data](https://covesa.github.io/vehicle_signal_specification/)
Expand Down
35 changes: 35 additions & 0 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,38 @@ Used for detecting static code quality issues. It is recommended to install the
#### [ktlint](https://pinterest.github.io/ktlint)

Used for detecting static code style issues.

### Fail-Early-Builds

We have multiple Fail-Early-Builds which run different versions of the KUKSA Android SDK against the KUKSA Databroker.
Our goal is to have an early indication which allows us more easily to find breaking or behavioral changes when running our SDK on a specific version of the Databroker.

When one of these builds fail a short validity check should be done:
- Were the correct versions of the SDK and Databroker used?
- Is it a sporadically failing test? Does a re-run fixes it?
- Is apparent if the issue is inside the SDK (e.g. wrongly written test, bug) or inside the Databroker (e.g. behavioral change, bug)?

Using different versions of the SDK and Databroker give different indications with varying importance. See the following list:

**SDK:latestRelease -> Databroker:latestRelease**
This means that issues exist between the latest released version of the SDK and the latest released version of the Databroker.

If this build fails it should be considered as a potential bigger issue
=> A hotfix or new release needs to be done

**SDK:latestRelease -> Databroker:master**
This means, that the latest released version of the SDK is not compatible with the currently developed version of the Databroker.

If this build fails it should be considered as a warning
=> Required fixes should be part of the next SDK release

**SDK:main -> Databroker:master**

![SDK:main <-> Databroker:master](https://github.com/eclipse-kuksa/kuksa-android-sdk/actions/workflows/daily_integration_main-master.yaml/badge.svg)

This means both the SDK and Databroker are running in a kind of "bleeding edge" state in their currently developed version.

If this build fails, it should be considered as a warning.
=> It is okay for the pipeline to fail for a short period of time. Longer periods should be avoided.
=> No explicit release / hotfix required, both components should be compatible before a release

0 comments on commit 474602b

Please sign in to comment.