Skip to content

0.19.2

0.19.2 #284

Workflow file for this run

name: ci
on:
pull_request:
types:
- opened
- synchronize
- closed
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
name: Build Ackpine
permissions:
checks: write
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0
with:
persist-credentials: false
- name: Setup environment
uses: ./.github/actions/setup-gradle-environment-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Validate binary compatibility
run: |
./gradlew :checkAckpineAbi || { exit_code=$?; printf "*** This PR changes Ackpine's public ABI. If this is intentional, run './gradlew :updateAckpineAbi' and commit the new ABI dumps. ***"; exit $exit_code; }
- name: Build
run: |
./gradlew :buildAckpine --stacktrace
- name: Run tests
run: |
./gradlew test
- name: Publish test report
uses: mikepenz/action-junit-report@a294a61c909bd8a4b563024a2faa28897fd53ebc # 6.1.0
if: success() || failure()
with:
report_paths: '**/build/test-results/*/TEST-*.xml'
status-check:
runs-on: ubuntu-latest
if: always()
needs: [ build ]
steps:
- name: Check
run: |
results=$(tr -d '\n' <<< '${{ toJSON(needs.*.result) }}')
if ! grep -q -v -E '(failure|cancelled)' <<< "$results"; then
echo "One or more required jobs failed"
exit 1
fi
publish:
name: Upload artifacts
runs-on: ubuntu-latest
if: github.repository == 'solrudev/Ackpine' && github.event.pull_request.base.ref == 'master' && github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'release')
needs: [ status-check ]
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0
with:
persist-credentials: false
- name: Setup environment
uses: ./.github/actions/setup-gradle-environment-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Publish
run: |
./gradlew publishAndReleaseToMavenCentral
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.OSSRH_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.OSSRH_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY }}
publish-docs:
name: Publish documentation
runs-on: ubuntu-latest
if: github.repository == 'solrudev/Ackpine' && github.event.pull_request.base.ref == 'master' && github.event.pull_request.merged == true
needs: [ status-check ]
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0
with:
persist-credentials: false
fetch-depth: 0
- name: Setup environment
uses: ./.github/actions/setup-gradle-environment-action
with:
gradle-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # 6.0.0
with:
python-version: 3.13.9
- name: Prepare API docs
run: |
./gradlew :api-documentation:dokkaGenerate
- name: Build MkDocs
run: |
pip3 install --upgrade pip && pip3 install mkdocs-material mkdocs-minify-plugin
mkdocs build
- name: Deploy docs
if: success()
uses: JamesIves/github-pages-deploy-action@4a3abc783e1a24aeb44c16e869ad83caf6b4cc23 # 4.7.4
with:
branch: gh-pages
folder: site
single-commit: true