Skip to content

Fix build

Fix build #25

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
tags:
- 'v*'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: self-hosted
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: '17'
- uses: actions/cache@v2
with:
path: |
./.gradle/
~/.gradle/caches
~/.gradle/wrapper
~/.konan/
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle
- name: Build with Gradle
run: ./gradlew build
- name: Publish libs as artifacts
uses: actions/upload-artifact@v3
with:
name: Package
path: build/libs
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: '17'
- uses: actions/cache@v2
with:
path: |
./.gradle/
~/.gradle/caches
~/.gradle/wrapper
~/.konan/
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle
# - name: Test JVM with Gradle
# if: always()
# run: ./gradlew :jvmTest -i
#
# - name: Test JS with Gradle
# if: always()
# run: ./gradlew :jsNodeTest -i
#
# - name: Test Native with Gradle
# if: always()
# run: ./gradlew :nativeTest -i
- name: Upload Unit Test Results
if: always()
uses: actions/upload-artifact@v2
with:
name: Unit Test Results
path: /home/runner/work/ko-te/ko-te/build/test-results/**/*.xml
publish:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: '17'
- uses: actions/cache@v2
with:
path: |
./.gradle/
~/.gradle/caches
~/.gradle/wrapper
~/.konan/
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle
- name: Import GPG Key
run: |
echo '${{secrets.GPG_SIGNING_KEY}}' | base64 -d > publish_key.gpg
gpg --quiet --batch --yes --decrypt --passphrase="${{secrets.SECRET_PASSPHRASE}}" \
--output $GITHUB_WORKSPACE/release.gpg publish_key.gpg
- name: Publish to GitHub Packages
run: |
./gradlew publish \
-Psigning.secretKeyRingFile=$GITHUB_WORKSPACE/release.gpg \
-Psigning.password=${{ secrets.GPG_PASSWORD }} \
-Psigning.keyId=${{ secrets.GPG_KEY_ID }}
env:
REPO_USERNAME: ${{ github.actor }}
REPO_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }}
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
publish-maven-central:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: '17'
- uses: actions/cache@v2
with:
path: |
./.gradle/
~/.gradle/caches
~/.gradle/wrapper
~/.konan/
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle
- name: Import GPG Key
run: |
echo '${{secrets.GPG_SIGNING_KEY}}' | base64 -d > publish_key.gpg
gpg --quiet --batch --yes --decrypt --passphrase="${{secrets.SECRET_PASSPHRASE}}" \
--output $GITHUB_WORKSPACE/release.gpg publish_key.gpg
- name: Publish to Maven Central
run: |
./gradlew publish \
-Psigning.secretKeyRingFile=$GITHUB_WORKSPACE/release.gpg \
-Psigning.password=${{ secrets.GPG_PASSWORD }} \
-Psigning.keyId=${{ secrets.GPG_KEY_ID }}
env:
REPO_URI: https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }}
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
publish-test-results:
name: "Publish Unit Tests Results"
needs: test
runs-on: ubuntu-latest
if: always()
steps:
- name: Download Artifacts
uses: actions/download-artifact@v2
with:
path: artifacts
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v1
with:
files: artifacts/**/*.xml