From c3a8018cc39881f7f5d508583c41712575207550 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 12 Jul 2024 21:58:34 -0700 Subject: [PATCH] Cleaned up CI workflows --- .circleci/config.yml | 58 ++++++++++-------- .github/workflows/bld.yml | 48 +++++++-------- .gitlab-ci.yml | 8 +-- .idea/libraries/bld.xml | 4 +- bitbucket-pipelines.yml | 6 +- lib/bld/bld-wrapper.jar | Bin 27319 -> 29578 bytes lib/bld/bld-wrapper.properties | 2 +- .../erik/mobibot/modules/ChatGptTest.kt | 2 +- 8 files changed, 68 insertions(+), 60 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c5e20a6..17b50f1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,4 +1,8 @@ -version: 2 +version: 2.1 + +orbs: + sdkman: joshdholtz/sdkman@0.2.0 + defaults: &defaults working_directory: ~/repo environment: @@ -6,26 +10,31 @@ defaults: &defaults TERM: dumb CI_NAME: "CircleCI" -defaults_bld: &defaults_bld - steps: - - checkout - - run: - name: Install Kotlin via SDKMAN! - command: | - curl -s "https://get.sdkman.io" | bash - echo sdkman_auto_answer=true > $HOME/.sdkman/etc/config - echo sdkman_auto_selfupdate=true >> $HOME/.sdkman/etc/config - source "$HOME/.sdkman/bin/sdkman-init.sh" - sdk install kotlin 2.0.0 - - run: - name: Download the bld dependencies - command: ./bld download - - run: - name: Compile source with bld - command: ./bld compile - - run: - name: Run tests with bld - command: ./bld test +commands: + build_and_test: + parameters: + reports-dir: + type: string + default: "build/reports/test_results" + steps: + - checkout + - sdkman/setup-sdkman + - sdkman/sdkman-install: + candidate: kotlin + version: 2.0.0 + - run: + name: Download dependencies + command: ./bld download + - run: + name: Compile source + command: ./bld compile + - run: + 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: bld_jdk17: @@ -34,7 +43,8 @@ jobs: docker: - image: cimg/openjdk:17.0 - <<: *defaults_bld + steps: + - build_and_test bld_jdk20: <<: *defaults @@ -42,10 +52,10 @@ jobs: docker: - image: cimg/openjdk:20.0 - <<: *defaults_bld + steps: + - build_and_test workflows: - version: 2 bld: jobs: - bld_jdk17 diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index 21c09a8..a3c4951 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -1,19 +1,29 @@ 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: build-bld-project: runs-on: ubuntu-latest - env: - COVERAGE_SDK: "17" - COVERAGE_KOTLIN: "2.0.0" - strategy: matrix: - java-version: [17, 21, 22] - kotlin-version: [1.9.24, 2.0.0] + java-version: [ 17, 21, 22 ] + kotlin-version: [ 1.9.24, 2.0.0 ] steps: - name: Checkout source repository @@ -21,40 +31,28 @@ jobs: with: 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 with: distribution: "zulu" java-version: ${{ matrix.java-version }} - - name: Grant bld execute permission - run: chmod +x bld - - - name: Download the bld dependencies + - name: Download dependencies run: ./bld download - - name: Compile source with bld + - name: Compile source run: ./bld compile - - name: Run tests with bld - 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 }} + - name: Run tests run: ./bld jacoco - name: Remove pom.xml + if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.kotlin-version == env.COVERAGE_KOTLIN run: rm -rf pom.xml - name: SonarCloud Scan 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: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 14646f3..10b9b0f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: ubuntu:latest +image: fedora:latest variables: CI_NAME: "GitLab CI" @@ -7,13 +7,13 @@ stages: - test 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 - echo sdkman_auto_answer=true > $HOME/.sdkman/etc/config - echo sdkman_auto_selfupdate=true >> $HOME/.sdkman/etc/config - source "$HOME/.sdkman/bin/sdkman-init.sh" - - sdk install java 17.0.11-tem - - sdk install kotlin 2.0.0 + - sdk install java + - sdk install kotlin - source "$HOME/.sdkman/bin/sdkman-init.sh" test: diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index a2969be..2fb5ff0 100644 --- a/.idea/libraries/bld.xml +++ b/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index 5951f4b..ace99d2 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -5,14 +5,14 @@ pipelines: - step: name: Test with bld script: - # Install Java & Kotlin via SDKMAN! + # Install latest Java & Kotlin via SDKMAN! - apt-get update -qq && apt-get install -y curl zip - curl -s "https://get.sdkman.io" | bash - echo sdkman_auto_answer=true > $HOME/.sdkman/etc/config - echo sdkman_auto_selfupdate=true >> $HOME/.sdkman/etc/config - source "$HOME/.sdkman/bin/sdkman-init.sh" - - sdk install java 17.0.11-tem - - sdk install kotlin 2.0.0 + - sdk install java + - sdk install kotlin - source "$HOME/.sdkman/bin/sdkman-init.sh" # Download, compile and test with bld - ./bld download diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index 8a6c6415420d24c2f97b665923c81552b4add950..f46bb77a290005df0476b73c34554b894620bf01 100644 GIT binary patch delta 27557 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 A#Q*>R delta 25368 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 diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 0aa69b0..e9d6ec3 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -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.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= -bld.version=1.9.1 +bld.version=2.0.0-SNAPSHOT diff --git a/src/test/kotlin/net/thauvin/erik/mobibot/modules/ChatGptTest.kt b/src/test/kotlin/net/thauvin/erik/mobibot/modules/ChatGptTest.kt index c031295..1809a9f 100644 --- a/src/test/kotlin/net/thauvin/erik/mobibot/modules/ChatGptTest.kt +++ b/src/test/kotlin/net/thauvin/erik/mobibot/modules/ChatGptTest.kt @@ -49,7 +49,7 @@ class ChatGptTest : LocalProperties() { @Test fun testChatOnCoverage() { - if (System.getenv("CI") == null || System.getenv("COVERAGE_SDK") != null) { + if (System.getenv("CI") == null || System.getenv("COVERAGE_JDK") != null) { assertThat( ChatGpt.chat("how do I encode a URL in java?", getProperty(ChatGpt.API_KEY_PROP), 60) ).contains("URLEncoder")