Merge pull request #43 from mirolm/dependabot/maven/org.jetbrains-ann… #126
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
# Automatically build, run unit and integration tests to detect errors early (CI provided by GitHub) | |
# Human readable name in the actions tab | |
name: Java CI | |
# Build on every push and pull request regardless of the branch | |
# Wiki: https://help.github.com/en/actions/reference/events-that-trigger-workflows | |
on: [push, pull_request] | |
jobs: | |
# job id | |
build_and_test: | |
# Environment image - always newest OS | |
runs-on: ubuntu-latest | |
# Run steps | |
steps: | |
# Pull changes | |
- uses: actions/checkout@v4 | |
# Cache artifacts - however this has the downside that we don't get notified of | |
# artifact resolution failures like invalid repository | |
# Nevertheless the repositories should be more stable and it makes no sense to pull | |
# a same version every time | |
# A dry run would make more sense | |
- uses: actions/cache@v4 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-maven- | |
# Setup Java | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
# Use Java 21, because it's latest LTS | |
java-version: '21' | |
# Build and test (included in package) | |
- name: Build with Maven and test | |
# Run non-interactive, package (with compile+test), | |
# ignore snapshot updates, because they are likely to have breaking changes, enforce checksums to validate | |
# possible errors in dependencies | |
run: mvn clean test package --batch-mode --no-snapshot-updates --strict-checksums --file pom.xml | |
# Build plugin and upload | |
- name: Upload plugin file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: zPermissions | |
path: target/zPermissions.jar |