Skip to content

Commit

Permalink
Merge branch 'develop' into feature/sootup-support-refactor
Browse files Browse the repository at this point in the history
# Conflicts:
#	README.md
#	boomerangPDS/pom.xml
#	idealPDS/pom.xml
  • Loading branch information
swissiety committed Oct 15, 2024
2 parents e5bb632 + b87f8f1 commit 7ffa1ce
Show file tree
Hide file tree
Showing 9 changed files with 157 additions and 26 deletions.
25 changes: 25 additions & 0 deletions .github/workflows/approve_dependabotifications.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Dependabot auto-approve
on: pull_request

permissions:
contents: write
pull-requests: write

jobs:
dependabot:
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]'
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v2
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"

# Note: If you use status checks to test pull requests, you should enable Require status checks to pass before merging for the target branch for Dependabot pull requests. This branch protection rule ensures that pull requests are not merged unless all the required status checks pass. For more information, see "Managing a branch protection rule."
- name: Enable auto-merge for Dependabot PRs
# if: steps.metadata.outputs.update-type == 'version-update:semver-patch' && contains(steps.metadata.outputs.dependency-names, 'my-dependency')
run: gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
102 changes: 102 additions & 0 deletions .github/workflows/version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: Version handling

on:
pull_request:
types:
- closed
branches:
- master

jobs:
version-update:
# This version does not run on self-opened PRs
if: ${{ github.event.pull_request.merged == true && github.event.pull_request.user.login != 'github-actions[bot]' }}
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v4
with:
fetch-depth: 0
# Sets up Java version
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-package: jdk
java-version: '11'
# Semantic versioning
- name: Semantic versioning
id: versioning
uses: paulhatch/[email protected]
with:
tag_prefix: ""
# A string which, if present in a git commit, indicates that a change represents a
# major (breaking) change, supports regular expressions wrapped with '/'
major_pattern: "(MAJOR)"
# Same as above except indicating a minor change, supports regular expressions wrapped with '/'
minor_pattern: "(MINOR)"
# A string to determine the format of the version output
version_format: "${major}.${minor}.${patch}"
# Check, whether there is an existing branch "version_<version" or an open PR "version_<version>" -> "master"
# and store the results as environment variables
- name: Check if branch and PR exist
# The second command was copied from https://stackoverflow.com/questions/73812503/github-action-stop-the-action-if-pr-already-exists
run: |
echo VERSION_BRANCH_EXISTS=$(git ls-remote --heads origin refs/heads/version_${{ steps.versioning.outputs.version }} | wc -l) >> $GITHUB_ENV
echo PR_EXISTS=$(gh pr list \
--repo "$GITHUB_REPOSITORY" \
--json baseRefName,headRefName \
--jq '
map(select(.baseRefName == "master" and .headRefName == "version_${{ steps.versioning.outputs.version }}"))
| length
') >> $GITHUB_ENV
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# If the branch "version_<version>" does not exist, create the branch and update the version in all files
- name: Create branch and update SPDS version
if: ${{ env.VERSION_BRANCH_EXISTS == '0' }}
run: |
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
git checkout -b version_${{ steps.versioning.outputs.version }}
mvn build-helper:parse-version versions:set -DnewVersion=\${{ steps.versioning.outputs.version }} versions:commit
git ls-files | grep 'pom.xml$' | xargs git add
git commit --allow-empty -am "Update SPDS version to ${{ steps.versioning.outputs.version }}"
git push origin version_${{ steps.versioning.outputs.version }}
# If a PR "version_<version>" -> "master" does not exist, create the PR
- name: Open pull request for version update
if: ${{ env.PR_EXISTS == '0' }}
run: |
gh pr create -B master -H version_${{ steps.versioning.outputs.version }} -t "Update SPDS version to ${{ steps.versioning.outputs.version }}" -b "This PR was created by the version-update workflow. Please make sure to delete the branch after merging, otherwise future workflows might fail."
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

version-release:
# This job runs only on merged PRs, which were opened by the version-update job
if: ${{ github.event.pull_request.merged == true && github.event.pull_request.user.login == 'github-actions[bot]' }}
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v4
with:
fetch-depth: 0
# Semantic versioning
- name: Semantic versioning
id: versioning
uses: paulhatch/[email protected]
with:
tag_prefix: ""
# A string which, if present in a git commit, indicates that a change represents a
# major (breaking) change, supports regular expressions wrapped with '/'
major_pattern: "(MAJOR)"
# Same as above except indicating a minor change, supports regular expressions wrapped with '/'
minor_pattern: "(MINOR)"
# A string to determine the format of the version output
version_format: "${major}.${minor}.${patch}"
# Create a tag with the newest version to prepare a release
- name: Create tag for new version
run: |
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
git config --global user.name "${{ github.actor }}"
git tag -a ${{ steps.versioning.outputs.version }} -m "SPDS version ${{ steps.versioning.outputs.version }}"
git push origin ${{ steps.versioning.outputs.version }}
25 changes: 16 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,26 @@ Additionally, it contains an implementation of [Boomerang](boomerangPDS) and [ID

## Use as Maven dependency

The projects are released on [Maven Central](https://central.sonatype.com/artifact/de.fraunhofer.iem/SPDS) and can be included as a dependency in `.pom` files:
The projects are released on [Maven Central](https://central.sonatype.com/artifact/de.fraunhofer.iem/SPDS) and can be included as a dependency in `.pom` files (replace `x.y.z` with the latest version).

To include a dependency from this repository to your poject, you first have to add the repository to your pom file:
- Boomerang can be included with the following dependency:

```.xml
<dependency>
<groupId>de.fraunhofer.iem</groupId>
<artifactId>boomerangPDS</artifactId>
<version>x.y.z</version>
</dependency>
```

- IDEal can be included with the following dependency:

```.xml
<dependencies>
<dependency>
<groupId>de.fraunhofer.iem</groupId>
<artifactId>SPDS</artifactId>
<version>3.1.2-SNAPSHOT</version>
</dependency>
</dependencies>
<dependency>
<groupId>de.fraunhofer.iem</groupId>
<artifactId>idealPDS</artifactId>
<version>x.y.z</version>
</dependency>
```

## Checkout, Build and Install
Expand Down
2 changes: 1 addition & 1 deletion SparseBoomerangCorrectness/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.3.0-jre</version>
<version>33.3.1-jre</version>
</dependency>
</dependencies>

Expand Down
2 changes: 1 addition & 1 deletion SynchronizedPDS/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.4.0</version>
<version>3.5.1</version>
<configuration>
<argLine>-Xmx8G -Xss128m</argLine>
</configuration>
Expand Down
4 changes: 2 additions & 2 deletions boomerangPDS/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.4.0</version>
<version>3.5.1</version>
<configuration>
<argLine>-Xmx8G -Xss128m</argLine>
</configuration>
Expand Down Expand Up @@ -73,7 +73,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.4.0</version>
<version>3.5.1</version>
<executions>
<execution>
<phase>integration-test</phase>
Expand Down
2 changes: 1 addition & 1 deletion boomerangScope-WALA/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<artifactId>boomerangScope-WALA</artifactId>

<properties>
<wala.version>1.6.6</wala.version>
<wala.version>1.6.7</wala.version>
</properties>
<dependencies>
<dependency>
Expand Down
5 changes: 2 additions & 3 deletions idealPDS/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,12 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.4.0</version>
<version>3.5.1</version>
<executions>
<execution>
<phase>integration-test</phase>
</execution>
</executions>
<configuration>
</executions> <configuration>
<argLine>-Xmx8G -Xss128m</argLine>
<excludes>
<exclude>**/*LongTest.java</exclude>
Expand Down
16 changes: 7 additions & 9 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,7 @@
<contributors>
<contributor>
<name>Johannes Spaeth</name>
<email>[email protected]</email>
<organization>CodeShield GmbH</organization>
<organizationUrl>https://codeshield.de/</organizationUrl>
<email>[email protected]</email>
</contributor>
<contributor>
<name>Manuel Benz</name>
Expand Down Expand Up @@ -71,7 +69,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.4.0</version>
<version>3.5.1</version>
<configuration>
<argLine>-Xmx8G -Xss128m</argLine>
</configuration>
Expand Down Expand Up @@ -133,7 +131,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.8.0</version>
<version>3.10.1</version>
<configuration>
<source>8</source>
<additionalOptions>
Expand Down Expand Up @@ -167,7 +165,7 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.3.0-jre</version>
<version>33.3.1-jre</version>
</dependency>
<dependency>
<groupId>junit</groupId>
Expand All @@ -178,7 +176,7 @@
<dependency>
<groupId>de.fraunhofer.iem</groupId>
<artifactId>pathexpression</artifactId>
<version>1.0.2</version>
<version>1.0.4</version>
</dependency>
<dependency>
<groupId>org.soot-oss</groupId>
Expand All @@ -188,7 +186,7 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.16.0</version>
<version>3.17.0</version>
</dependency>
<dependency>
<groupId>de.fraunhofer.iem</groupId>
Expand Down Expand Up @@ -240,7 +238,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.5</version>
<version>3.2.7</version>
<executions>
<execution>
<id>sign-artifacts</id>
Expand Down

0 comments on commit 7ffa1ce

Please sign in to comment.