Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build jar-file of latest version containing all dependencies | |
on: | |
workflow_dispatch: | |
pull_request: | |
branches: | |
- master | |
paths: # only build new jar file if pom.xml or java sources have changed | |
- pom.xml | |
- src/main/** | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'adopt' # You can choose other distributions like 'zulu' or 'temurin' | |
java-version: '11' | |
- name: Pull branch | |
run: | | |
git checkout -b ${{ github.event.pull_request.head.ref }} | |
git pull origin ${{ github.event.pull_request.head.ref }} --rebase || echo "No changes to pull" | |
- name: Build and package JAR with dependencies | |
run: mvn clean package | |
- name: commit changes of jar file | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
mkdir -p latest-version | |
pwd | |
ls -al latest-version/ | |
git status | |
if ! cmp -s target/*-jar-with-dependencies.jar latest-version/mongodb-performance-test.jar; then | |
mv target/*-jar-with-dependencies.jar latest-version/mongodb-performance-test.jar | |
ls -al latest-version/ | |
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) | |
git config --local user.email "[email protected]" | |
git config --local user.name "github-actions[bot]" | |
git add latest-version/mongodb-performance-test.jar | |
git commit -m "Add latest version ($VERSION) of mongodb-performance-test.jar" | |
git push origin ${{ github.event.pull_request.head.ref }} | |
# Delete the local tag if it exists | |
git tag -d "v$VERSION" || true # Ignore if the tag doesn't exist | |
git tag -a "v$VERSION" -m "Tagging version $VERSION" | |
git push origin :refs/tags/v$VERSION || true # delete remote tag, if exists | |
git push origin "v$VERSION" # create remote tag | |
echo "### Version updated to $VERSION" >> $GITHUB_STEP_SUMMARY | |
echo "The [latest-version/mongodb-performance-test.jar](https://github.com/idealo/mongodb-performance-test/tree/master/latest-version/mongodb-performance-test.jar) is now $VERSION" >> $GITHUB_STEP_SUMMARY | |
else | |
echo "### Build unchanged" >> $GITHUB_STEP_SUMMARY | |
echo "The [latest-version/mongodb-performance-test.jar](https://github.com/idealo/mongodb-performance-test/tree/master/latest-version/mongodb-performance-test.jar) is unchanged" >> $GITHUB_STEP_SUMMARY | |
fi | |