mirror of
https://github.com/amithkoujalgi/ollama4j.git
synced 2025-05-15 11:57:12 +02:00
68 lines
2.5 KiB
YAML
68 lines
2.5 KiB
YAML
# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created
|
|
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path
|
|
|
|
name: Test and Publish Package
|
|
|
|
#on:
|
|
# release:
|
|
# types: [ "created" ]
|
|
|
|
on:
|
|
push:
|
|
branches: [ "main" ]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
packages: write
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up JDK 11
|
|
uses: actions/setup-java@v3
|
|
with:
|
|
java-version: '11'
|
|
distribution: 'adopt-hotspot'
|
|
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
|
|
settings-path: ${{ github.workspace }} # location for the settings.xml file
|
|
- name: Build with Maven
|
|
run: mvn --file pom.xml -U clean package -Punit-tests
|
|
- name: Set up Apache Maven Central (Overwrite settings.xml)
|
|
uses: actions/setup-java@v3
|
|
with: # running setup-java again overwrites the settings.xml
|
|
java-version: '11'
|
|
distribution: 'adopt-hotspot'
|
|
cache: 'maven'
|
|
server-id: ossrh
|
|
server-username: MAVEN_USERNAME
|
|
server-password: MAVEN_PASSWORD
|
|
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
|
|
gpg-passphrase: MAVEN_GPG_PASSPHRASE
|
|
- name: Set up Maven cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: ~/.m2/repository
|
|
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-maven-
|
|
- name: Build
|
|
run: mvn -B -ntp clean install
|
|
- name: Upload coverage reports to Codecov
|
|
uses: codecov/codecov-action@v3
|
|
env:
|
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
- name: Publish to GitHub Packages Apache Maven
|
|
# if: >
|
|
# github.event_name != 'pull_request' &&
|
|
# github.ref_name == 'main' &&
|
|
# contains(github.event.head_commit.message, 'release')
|
|
run: |
|
|
git config --global user.email "koujalgi.amith@gmail.com"
|
|
git config --global user.name "amithkoujalgi"
|
|
mvn -B -ntp -DskipTests -Pci-cd -Darguments="-DskipTests -Pci-cd" release:clean release:prepare release:perform
|
|
env:
|
|
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
|
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
|
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} |