Skip to content

Relicence to the EUPL v1.2! #979

Relicence to the EUPL v1.2!

Relicence to the EUPL v1.2! #979

Workflow file for this run

name: Publish
on:
push:
branches:
- "root"
permissions:
contents: write
id-token: write
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Java
uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin
- name: Set up Kotlin
uses: fwilhe2/setup-kotlin@main
- name: Get version
id: project-version
run: |
VERSION=$(kotlin .github/get-version.main.kts)
echo "Project version: $VERSION"
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Set up Gradle properties
run: |
mkdir -p ~/.gradle
echo "githubToken=${{ secrets.GITHUB_TOKEN }}" >> ~/.gradle/gradle.properties
echo -e "\norg.gradle.jvmargs=-XX:MaxMetaspaceSize=5G" >> ~/.gradle/gradle.properties
- name: Gradle (Setup)
uses: gradle/actions/setup-gradle@v3
with:
dependency-graph: generate-and-submit
- name: Gradle (Build)
run: "./gradlew checkLicenses build dokkaHtmlMultiModule"
env:
TOKEN: ${{ secrets.TOKEN }}
- name: Zip Dokka docs
working-directory: build/dokka/
run: zip -qq -r dokka.zip htmlMultiModule
- name: Gradle (Publish)
run: "./gradlew publish"
if: contains(steps.project-version.outputs.version, '-SNAPSHOT')
env:
ORG_GRADLE_PROJECT_signingKey: "${{ secrets.GPG_KEY }}"
ORG_GRADLE_PROJECT_signingPassword: "${{ secrets.GPG_PASSWORD }}"
OSSRH_USERNAME: "${{ secrets.OSSRH_USERNAME }}"
OSSRH_PASSWORD: "${{ secrets.OSSRH_PASSWORD }}"
KORDEX_MAVEN_USERNAME: "${{ secrets.KORDEX_MAVEN_USERNAME }}"
KORDEX_MAVEN_PASSWORD: "${{ secrets.KORDEX_MAVEN_PASSWORD }}"
TOKEN: "${{ secrets.TOKEN }}"
- name: Upload artifact (Core JARs)
uses: actions/upload-artifact@v4
with:
name: JARs (Core)
path: kord-extensions/build/libs/*.jar
- name: Upload artifact (Annotation JARs)
uses: actions/upload-artifact@v4
with:
name: JARs (Annotation)
path: annotations/**/build/libs/*.jar
- name: Upload artifact (Module JARs)
uses: actions/upload-artifact@v4
with:
name: JARs (Modules)
path: modules/**/build/libs/*.jar
- name: Upload artifact (Parser JARs)
uses: actions/upload-artifact@v4
with:
name: JARs (Parser)
path: token-parser/build/libs/*.jar
- name: Upload artifact (Dokka)
uses: actions/upload-artifact@v4
with:
name: Dokka HTML
path: build/dokka/dokka.zip
dokka:
needs: publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Switch branch
run: |
git checkout --orphan dokka
shopt -s extglob
sudo rm -rf !(".git")
- uses: actions/download-artifact@v4
with:
name: Dokka HTML
path: docs/
- name: Unzip Dokka docs
uses: montudor/action-zip@v1
with:
args: unzip -qq docs/dokka.zip -d docs
- name: Copy files, commit and push
run: |
ls -al docs/
ls -al .
git config --global user.name "GitHub Actions"
git config --global user.email "[email protected]"
cp -r docs/htmlMultiModule/* .
sudo rm -rf docs/
git add .
git commit -qam "Automatic deployment"
git push --force origin dokka