Skip to content

Weekly Builds of KeY #197

Weekly Builds of KeY

Weekly Builds of KeY #197

Workflow file for this run

name: Weekly Builds of KeY
on:
workflow_dispatch:
schedule:
- cron: '0 5 * * 1' # every monday morning
permissions:
contents: write
id-token: write
env:
JAVA_VERSION: 21
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up JDK ${{ env.JAVA_VERSION }}
uses: actions/setup-java@v5
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: 'temurin'
cache: 'gradle'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
- name: Build with Gradle
run: ./gradlew --parallel assemble javadoc alldoc
- name: Upload ShadowJar
uses: actions/upload-artifact@v7
with:
name: shadowjars
path: "*/build/libs/*-exe.jar"
retention-days: 1
- name: Package
run: tar cvf key-javadoc.tar.xz build/docs/javadoc
- name: Upload Javadoc
uses: actions/upload-artifact@v7
with:
name: javadoc
path: "key-javadoc.tar.xz"
retention-days: 1
- name: Delete previous nightly release
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release delete nightly --yes --cleanup-tag
- name: Create nightly release
id: create_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create --generate-notes --title "Nightly Release" \
--prerelease --notes-start-tag KEY-2.12.3 \
nightly key.ui/build/libs/key-*-exe.jar key-javadoc.tar.xz
- name: Upload to MAVEN CENTRAL SNAPSHOT repository
run: |
./gradlew publishAndReleaseToMavenCentral publishMavenPublicationToKEYLABRepository
env:
BUILD_NUMBER: "SNAPSHOT"
GITLAB_DEPLOY_TOKEN: ${{ secrets.GITLAB_DEPLOY_TOKEN }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{secrets.GPG_PRIVATE_KEY}}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{secrets.GPG_PASSPHRASE}}
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_PASSWORD }}