diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..775617232 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,57 @@ +name: CI + +on: + pull_request: + branches: [ develop ] + push: + branches: [ develop ] + +jobs: + build-and-test: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up JDK 24 + uses: actions/setup-java@v4 + with: + java-version: '24' + distribution: 'temurin' + + - name: Cache Maven dependencies + uses: actions/cache@v3 + with: + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-m2 + + - name: Copy Maven settings + run: | + mkdir -p ~/.m2 + cp .maven-settings.xml ~/.m2/settings.xml + + - name: Build with Maven + run: mvn clean compile -B + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Run tests + run: mvn test -B + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Package + run: mvn package -B -DskipTests + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Upload test results + uses: actions/upload-artifact@v4 + if: always() + with: + name: test-results + path: | + **/target/surefire-reports/ + **/target/failsafe-reports/ diff --git a/.maven-settings.xml b/.maven-settings.xml new file mode 100644 index 000000000..06fb4072d --- /dev/null +++ b/.maven-settings.xml @@ -0,0 +1,35 @@ + + + + + + github + ${env.GITHUB_ACTOR} + ${env.GITHUB_TOKEN} + + + + + github + + + github + GitHub external Packages + https://maven.pkg.github.com/sweat-tek/MavenRepository + + true + + + true + + + + + + + github + +