Cleaned up CI workflows
This commit is contained in:
parent
db0e4d30f1
commit
c3a8018cc3
8 changed files with 68 additions and 60 deletions
|
@ -1,4 +1,8 @@
|
||||||
version: 2
|
version: 2.1
|
||||||
|
|
||||||
|
orbs:
|
||||||
|
sdkman: joshdholtz/sdkman@0.2.0
|
||||||
|
|
||||||
defaults: &defaults
|
defaults: &defaults
|
||||||
working_directory: ~/repo
|
working_directory: ~/repo
|
||||||
environment:
|
environment:
|
||||||
|
@ -6,26 +10,31 @@ defaults: &defaults
|
||||||
TERM: dumb
|
TERM: dumb
|
||||||
CI_NAME: "CircleCI"
|
CI_NAME: "CircleCI"
|
||||||
|
|
||||||
defaults_bld: &defaults_bld
|
commands:
|
||||||
steps:
|
build_and_test:
|
||||||
- checkout
|
parameters:
|
||||||
- run:
|
reports-dir:
|
||||||
name: Install Kotlin via SDKMAN!
|
type: string
|
||||||
command: |
|
default: "build/reports/test_results"
|
||||||
curl -s "https://get.sdkman.io" | bash
|
steps:
|
||||||
echo sdkman_auto_answer=true > $HOME/.sdkman/etc/config
|
- checkout
|
||||||
echo sdkman_auto_selfupdate=true >> $HOME/.sdkman/etc/config
|
- sdkman/setup-sdkman
|
||||||
source "$HOME/.sdkman/bin/sdkman-init.sh"
|
- sdkman/sdkman-install:
|
||||||
sdk install kotlin 2.0.0
|
candidate: kotlin
|
||||||
- run:
|
version: 2.0.0
|
||||||
name: Download the bld dependencies
|
- run:
|
||||||
command: ./bld download
|
name: Download dependencies
|
||||||
- run:
|
command: ./bld download
|
||||||
name: Compile source with bld
|
- run:
|
||||||
command: ./bld compile
|
name: Compile source
|
||||||
- run:
|
command: ./bld compile
|
||||||
name: Run tests with bld
|
- run:
|
||||||
command: ./bld test
|
name: Run tests
|
||||||
|
command: ./bld jacoco -reports-dir=<< parameters.reports-dir >>
|
||||||
|
- store_test_results:
|
||||||
|
path: << parameters.reports-dir >>
|
||||||
|
- store_artifacts:
|
||||||
|
path: build/reports/jacoco/test/html
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
bld_jdk17:
|
bld_jdk17:
|
||||||
|
@ -34,7 +43,8 @@ jobs:
|
||||||
docker:
|
docker:
|
||||||
- image: cimg/openjdk:17.0
|
- image: cimg/openjdk:17.0
|
||||||
|
|
||||||
<<: *defaults_bld
|
steps:
|
||||||
|
- build_and_test
|
||||||
|
|
||||||
bld_jdk20:
|
bld_jdk20:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
|
@ -42,10 +52,10 @@ jobs:
|
||||||
docker:
|
docker:
|
||||||
- image: cimg/openjdk:20.0
|
- image: cimg/openjdk:20.0
|
||||||
|
|
||||||
<<: *defaults_bld
|
steps:
|
||||||
|
- build_and_test
|
||||||
|
|
||||||
workflows:
|
workflows:
|
||||||
version: 2
|
|
||||||
bld:
|
bld:
|
||||||
jobs:
|
jobs:
|
||||||
- bld_jdk17
|
- bld_jdk17
|
||||||
|
|
48
.github/workflows/bld.yml
vendored
48
.github/workflows/bld.yml
vendored
|
@ -1,19 +1,29 @@
|
||||||
name: bld-ci
|
name: bld-ci
|
||||||
|
|
||||||
on: [push, pull_request, workflow_dispatch]
|
on: [ push, pull_request, workflow_dispatch ]
|
||||||
|
|
||||||
|
env:
|
||||||
|
ALPHAVANTAGE_API_KEY: ${{ secrets.ALPHAVANTAGE_API_KEY }}
|
||||||
|
CHATGPT_API_KEY: ${{ secrets.CHATGPT_API_KEY }}
|
||||||
|
CI_NAME: "GitHub CI"
|
||||||
|
COVERAGE_JDK: "21"
|
||||||
|
COVERAGE_KOTLIN: "2.0.0"
|
||||||
|
EXCHANGERATE_API_KEY: ${{ secrets.EXCHANGERATE_API_KEY }}
|
||||||
|
KOTLIN_HOME: /usr/share/kotlinc
|
||||||
|
MASTODON_ACCESS_TOKEN: ${{ secrets.MASTODON_ACCESS_TOKEN }}
|
||||||
|
MASTODON_HANDLE: ${{ secrets.MASTODON_HANDLE }}
|
||||||
|
MASTODON_INSTANCE: ${{ secrets.MASTODON_INSTANCE }}
|
||||||
|
OWM_API_KEY: ${{ secrets.OWM_API_KEY }}
|
||||||
|
PINBOARD_API_TOKEN: ${{ secrets.PINBOARD_API_TOKEN }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-bld-project:
|
build-bld-project:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
env:
|
|
||||||
COVERAGE_SDK: "17"
|
|
||||||
COVERAGE_KOTLIN: "2.0.0"
|
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
java-version: [17, 21, 22]
|
java-version: [ 17, 21, 22 ]
|
||||||
kotlin-version: [1.9.24, 2.0.0]
|
kotlin-version: [ 1.9.24, 2.0.0 ]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout source repository
|
- name: Checkout source repository
|
||||||
|
@ -21,40 +31,28 @@ jobs:
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Set up JDK ${{ matrix.java-version }}
|
- name: Set up JDK ${{ matrix.java-version }} with Kotlin ${{ matrix.kotlin-version }}
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: "zulu"
|
distribution: "zulu"
|
||||||
java-version: ${{ matrix.java-version }}
|
java-version: ${{ matrix.java-version }}
|
||||||
|
|
||||||
- name: Grant bld execute permission
|
- name: Download dependencies
|
||||||
run: chmod +x bld
|
|
||||||
|
|
||||||
- name: Download the bld dependencies
|
|
||||||
run: ./bld download
|
run: ./bld download
|
||||||
|
|
||||||
- name: Compile source with bld
|
- name: Compile source
|
||||||
run: ./bld compile
|
run: ./bld compile
|
||||||
|
|
||||||
- name: Run tests with bld
|
- name: Run tests
|
||||||
env:
|
|
||||||
CI_NAME: "GitHub CI"
|
|
||||||
ALPHAVANTAGE_API_KEY: ${{ secrets.ALPHAVANTAGE_API_KEY }}
|
|
||||||
CHATGPT_API_KEY: ${{ secrets.CHATGPT_API_KEY }}
|
|
||||||
OWM_API_KEY: ${{ secrets.OWM_API_KEY }}
|
|
||||||
PINBOARD_API_TOKEN: ${{ secrets.PINBOARD_API_TOKEN }}
|
|
||||||
MASTODON_ACCESS_TOKEN: ${{ secrets.MASTODON_ACCESS_TOKEN }}
|
|
||||||
MASTODON_HANDLE: ${{ secrets.MASTODON_HANDLE }}
|
|
||||||
MASTODON_INSTANCE: ${{ secrets.MASTODON_INSTANCE }}
|
|
||||||
EXCHANGERATE_API_KEY: ${{ secrets.EXCHANGERATE_API_KEY }}
|
|
||||||
run: ./bld jacoco
|
run: ./bld jacoco
|
||||||
|
|
||||||
- name: Remove pom.xml
|
- name: Remove pom.xml
|
||||||
|
if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.kotlin-version == env.COVERAGE_KOTLIN
|
||||||
run: rm -rf pom.xml
|
run: rm -rf pom.xml
|
||||||
|
|
||||||
- name: SonarCloud Scan
|
- name: SonarCloud Scan
|
||||||
uses: sonarsource/sonarcloud-github-action@master
|
uses: sonarsource/sonarcloud-github-action@master
|
||||||
if: success() && matrix.java-version == env.COVERAGE_SDK && matrix.kotlin-version == env.COVERAGE_KOTLIN
|
if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.kotlin-version == env.COVERAGE_KOTLIN
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
image: ubuntu:latest
|
image: fedora:latest
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
CI_NAME: "GitLab CI"
|
CI_NAME: "GitLab CI"
|
||||||
|
@ -7,13 +7,13 @@ stages:
|
||||||
- test
|
- test
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- apt-get update -qq && apt-get install -y curl zip
|
- dnf -qy update && dnf -y install zip
|
||||||
- curl -s "https://get.sdkman.io" | bash
|
- curl -s "https://get.sdkman.io" | bash
|
||||||
- echo sdkman_auto_answer=true > $HOME/.sdkman/etc/config
|
- echo sdkman_auto_answer=true > $HOME/.sdkman/etc/config
|
||||||
- echo sdkman_auto_selfupdate=true >> $HOME/.sdkman/etc/config
|
- echo sdkman_auto_selfupdate=true >> $HOME/.sdkman/etc/config
|
||||||
- source "$HOME/.sdkman/bin/sdkman-init.sh"
|
- source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||||
- sdk install java 17.0.11-tem
|
- sdk install java
|
||||||
- sdk install kotlin 2.0.0
|
- sdk install kotlin
|
||||||
- source "$HOME/.sdkman/bin/sdkman-init.sh"
|
- source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||||
|
|
||||||
test:
|
test:
|
||||||
|
|
4
.idea/libraries/bld.xml
generated
4
.idea/libraries/bld.xml
generated
|
@ -2,12 +2,12 @@
|
||||||
<library name="bld">
|
<library name="bld">
|
||||||
<CLASSES>
|
<CLASSES>
|
||||||
<root url="file://$PROJECT_DIR$/lib/bld" />
|
<root url="file://$PROJECT_DIR$/lib/bld" />
|
||||||
<root url="jar://$USER_HOME$/.bld/dist/bld-1.9.1.jar!/" />
|
<root url="jar://$USER_HOME$/.bld/dist/bld-2.0.0-SNAPSHOT.jar!/" />
|
||||||
</CLASSES>
|
</CLASSES>
|
||||||
<JAVADOC />
|
<JAVADOC />
|
||||||
<SOURCES>
|
<SOURCES>
|
||||||
<root url="file://$PROJECT_DIR$/lib/bld" />
|
<root url="file://$PROJECT_DIR$/lib/bld" />
|
||||||
<root url="jar://$USER_HOME$/.bld/dist/bld-1.9.1-sources.jar!/" />
|
<root url="jar://$USER_HOME$/.bld/dist/bld-2.0.0-SNAPSHOT-sources.jar!/" />
|
||||||
</SOURCES>
|
</SOURCES>
|
||||||
<excluded>
|
<excluded>
|
||||||
<root url="jar://$PROJECT_DIR$/lib/bld/bld-wrapper.jar!/" />
|
<root url="jar://$PROJECT_DIR$/lib/bld/bld-wrapper.jar!/" />
|
||||||
|
|
|
@ -5,14 +5,14 @@ pipelines:
|
||||||
- step:
|
- step:
|
||||||
name: Test with bld
|
name: Test with bld
|
||||||
script:
|
script:
|
||||||
# Install Java & Kotlin via SDKMAN!
|
# Install latest Java & Kotlin via SDKMAN!
|
||||||
- apt-get update -qq && apt-get install -y curl zip
|
- apt-get update -qq && apt-get install -y curl zip
|
||||||
- curl -s "https://get.sdkman.io" | bash
|
- curl -s "https://get.sdkman.io" | bash
|
||||||
- echo sdkman_auto_answer=true > $HOME/.sdkman/etc/config
|
- echo sdkman_auto_answer=true > $HOME/.sdkman/etc/config
|
||||||
- echo sdkman_auto_selfupdate=true >> $HOME/.sdkman/etc/config
|
- echo sdkman_auto_selfupdate=true >> $HOME/.sdkman/etc/config
|
||||||
- source "$HOME/.sdkman/bin/sdkman-init.sh"
|
- source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||||
- sdk install java 17.0.11-tem
|
- sdk install java
|
||||||
- sdk install kotlin 2.0.0
|
- sdk install kotlin
|
||||||
- source "$HOME/.sdkman/bin/sdkman-init.sh"
|
- source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||||
# Download, compile and test with bld
|
# Download, compile and test with bld
|
||||||
- ./bld download
|
- ./bld download
|
||||||
|
|
Binary file not shown.
|
@ -7,4 +7,4 @@ bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.6
|
||||||
bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.0-SNAPSHOT
|
bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.0-SNAPSHOT
|
||||||
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
|
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
|
||||||
bld.sourceDirectories=
|
bld.sourceDirectories=
|
||||||
bld.version=1.9.1
|
bld.version=2.0.0-SNAPSHOT
|
||||||
|
|
|
@ -49,7 +49,7 @@ class ChatGptTest : LocalProperties() {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testChatOnCoverage() {
|
fun testChatOnCoverage() {
|
||||||
if (System.getenv("CI") == null || System.getenv("COVERAGE_SDK") != null) {
|
if (System.getenv("CI") == null || System.getenv("COVERAGE_JDK") != null) {
|
||||||
assertThat(
|
assertThat(
|
||||||
ChatGpt.chat("how do I encode a URL in java?", getProperty(ChatGpt.API_KEY_PROP), 60)
|
ChatGpt.chat("how do I encode a URL in java?", getProperty(ChatGpt.API_KEY_PROP), 60)
|
||||||
).contains("URLEncoder")
|
).contains("URLEncoder")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue