Skip to content

Commit

Permalink
Merge branch 'main' into static-blocks-caching
Browse files Browse the repository at this point in the history
  • Loading branch information
tillschallau authored Oct 29, 2024
2 parents 6d72145 + 4160a46 commit 6f2f57e
Show file tree
Hide file tree
Showing 64 changed files with 3,571 additions and 234 deletions.
32 changes: 26 additions & 6 deletions .github/workflows/analyze-build-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Analyze, Build and Deploy

on:
pull_request:
types: [opened, synchronize]
types: [opened, synchronize, ready_for_review]
branches:
- main
push:
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:
uses: gradle/actions/setup-gradle@v4

- name: Discover Projects and save into matrix
run: |
run: |
./gradlew projects --quiet | grep "Project ':" | awk -F"'" '{print $2}' | sed 's/^://' > projects.txt
projects=$(cat projects.txt | sed '/^$/d' | awk '{print "\""$0"\""}' | paste -sd "," - | sed 's/^/[/' | sed 's/$/]/')
echo "matrix=${projects}" >> $GITHUB_OUTPUT
Expand Down Expand Up @@ -106,7 +106,7 @@ jobs:
mkdir sarif &&
find * -name detekt.sarif -print0 |
xargs -n1 -0 bash -c 'cp "$1" "sarif/${1//\//-}"' '{}'
- name: Upload SARIF file
uses: github/codeql-action/upload-sarif@v3
with:
Expand Down Expand Up @@ -142,10 +142,30 @@ jobs:

- name: Upload test results
uses: mikepenz/action-junit-report@v4
if: always() # Must execute after failed tests
if: ${{ !cancelled() }} # Must execute after failed tests
with:
report_paths: '**/build/test-results/test/TEST-*.xml'

reproduction:
name: Trigger reproduction check
needs: compile
runs-on: ubuntu-latest
steps:
- name: Trigger GitLab
run: |
curl -X POST \
--fail \
-F token=$REPRODUCTION_RUNNER_TRIGGER_TOKEN \
-F ref=main \
-F variables[TARGET_BRANCH]=${{ github.head_ref || github.ref_name }} \
-F variables[IS_DRAFT]=${{ github.event.pull_request.draft }} \
-F variables[TARGET_SHA]=${{ github.event.pull_request.head.sha }} \
-s -o /dev/null \
$REPRODUCTION_RUNNER_URL
env:
REPRODUCTION_RUNNER_TRIGGER_TOKEN: ${{ secrets.REPRODUCTION_RUNNER_TRIGGER_TOKEN }}
REPRODUCTION_RUNNER_URL: ${{ secrets.REPRODUCTION_RUNNER_URL }}

spotless:
name: Run Spotless (${{ matrix.project }})
needs: discover-projects
Expand Down Expand Up @@ -173,11 +193,11 @@ jobs:
run: ./gradlew :${{ matrix.project }}:spotlessCheck

- name: Apply Spotless fixes
if: failure()
if: ${{ failure() }}
run: ./gradlew :${{ matrix.project }}:spotlessApply

- name: Generate diff
if: failure()
if: ${{ failure() }}
shell: sh
run: |
echo "# Spotless violations" >> $GITHUB_STEP_SUMMARY
Expand Down
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,23 @@ All notable changes to this project will be documented in this file.
- Add `identifier` field to `TSC`.
- Add `euclideanDistance` function to `Location`.
- Add `vehicleType` field to `Vehicle`.
- Add `loggerIdentifier` field to `Loggable` interface.
- Add `Serializable` interface.
- This adds the functionality to compare your current analysis results with the previous run or a specified baseline.

### Changed
- `TSCEvaluation` now accepts multiple `TSCs` instead of `TSCProjections`.
- `registerMetricProviders` now throws an `IllegalArgumentException` when multiple instances of the same `MetricProvider` class is registered.
- Root nodes in a `TSC` now **must not** have a condition.
- Move `label` from `TSCEdge` to `TSCNode`.
- All default metrics now implement the new `Serializable` interface.
- Rename `ProjectionMetricProvider` to `TSCMetricProvider`.
- Rename `ProjectionAndTSCInstanceNodeMetricProvider` to `TSCAndTSCInstanceNodeMetricProvider`.
- Rename `InvalidTSCInstancesPerProjectionMetric` to `InvalidTSCInstancesPerTSCMetric`.
- Rename `ValidTSCInstancesPerProjectionMetric` to `ValidTSCInstancesPerTSCMetric`.
- Rename `MissedTSCInstancesPerProjectionMetric` to `MissedTSCInstancesPerTSCMetric`.
- Rename `MissingPredicateCombinationsPerProjectionMetric` to `MissingPredicateCombinationsPerTSCMetric`.
- Root nodes in a `TSC` now must not have a condition.
- Rename `DataSaver` to `PlotDataSaver`.

### Fixed
- Fix `toString()` function of `TSCNode` to include the root node's label.
Expand Down
2 changes: 1 addition & 1 deletion contrib/detekt-rules.yml
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ style:
SafeCast:
active: true
SerialVersionUIDInSerializableClass:
active: true
active: false
SpacingBetweenPackageAndImports:
# Rationale: handled by spotless
active: false
Expand Down
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ letsplot-imageexport = { group = "org.jetbrains.lets-plot", name = "lets-plot-im
kotlin-test = { group = "org.jetbrains.kotlin", name="kotlin-test" }

# Gradle Plugins
gradle-kotlin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version = "2.0.0" }
gradle-kotlin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version = "2.0.21" }
gradle-dokka = { group = "org.jetbrains.dokka", name = "dokka-gradle-plugin", version = "1.9.20" }
gradle-detekt = { group = "io.gitlab.arturbosch.detekt", name = "detekt-gradle-plugin", version = "1.23.6" }
gradle-bmVersions = { group = "com.github.ben-manes", name = "gradle-versions-plugin", version = "0.51.0" }
Expand Down
6 changes: 5 additions & 1 deletion stars-core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@
* limitations under the License.
*/

plugins { id("tools.aqua.stars.library-conventions") }
plugins {
id("tools.aqua.stars.library-conventions")
kotlin("plugin.serialization") version "2.0.10"
}

mavenMetadata {
name.set("STARS Core Library")
Expand All @@ -27,4 +30,5 @@ dependencies {
implementation(libs.letsplot.imageexport)
implementation(libs.slf4j.api)
implementation(libs.slf4j.simple)
implementation(libs.kotlinx.serialization.json)
}
Loading

0 comments on commit 6f2f57e

Please sign in to comment.