From c07474d63f664679abeaba9b570c4fe9d0474fd1 Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Wed, 3 Jul 2024 13:12:59 +0100 Subject: [PATCH 01/17] Attempt at running Dhruv's GH Workflow in this org Signed-off-by: Jade Carino --- .github/workflows/build.yaml | 40 ++++++++++++++++++++++++++++++++++++ build.gradle | 10 ++++++--- 2 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/build.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..684caa5 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,40 @@ +name: Main build + +on: + workflow_dispatch: + pull_request: + branches: [main] + +jobs: + build-gradle: + name: build and Test Gradle + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Setup JDK + uses: actions/setup-java@v4 + with: + java-version: '11' + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + with: + gradle-version: 6.9.2 + + - name: Test and Build Gradle + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.GPG_KEYID }} + ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_KEY }} + ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_PASSPHRASE }} + run: | + gradle check publish --scan \ + -PsourceMaven=https://repo.maven.apache.org/maven2/ \ + -PcentralMaven=https://repo.maven.apache.org/maven2/ \ + -PtargetMaven=https://maven.pkg.github.com/galasa-dev/gradle \ + -PjacocoEnabled=true \ + -PisMainOrRelease=true \ No newline at end of file diff --git a/build.gradle b/build.gradle index f765d5d..1b4312f 100644 --- a/build.gradle +++ b/build.gradle @@ -12,6 +12,10 @@ group = "dev.galasa" version = "0.33.0" signing { + def signingKeyId = findProperty("signingKeyId") + def signingKey = findProperty("signingKey") + def signingPassword = findProperty("signingPassword") + useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword) sign publishing.publications } @@ -27,7 +31,7 @@ allprojects { repositories { mavenLocal() maven { - url "https://development.galasa.dev/main/maven-repo/wrapping/" + url "https://maven.pkg.github.com/galasa-dev/wrapping/" } gradlePluginPortal() mavenCentral() @@ -91,8 +95,8 @@ publishing { if ("$targetMaven".startsWith('http')) { credentials { - username System.getenv('MAVENUSERNAME') - password System.getenv('MAVENPASSWORD') + username System.getenv("GITHUB_ACTOR") + password System.getenv("GITHUB_TOKEN") } } } From 4ebe8c116f70ffbe14bd72ac915628e90b5711bb Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Wed, 3 Jul 2024 14:43:05 +0100 Subject: [PATCH 02/17] Remove use in memory keys Signed-off-by: Jade Carino --- build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/build.gradle b/build.gradle index 1b4312f..6d8d9f3 100644 --- a/build.gradle +++ b/build.gradle @@ -15,7 +15,6 @@ signing { def signingKeyId = findProperty("signingKeyId") def signingKey = findProperty("signingKey") def signingPassword = findProperty("signingPassword") - useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword) sign publishing.publications } From 7aa9068f934f69630c9d2d8c2a8f36baf27e8d0e Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Wed, 3 Jul 2024 14:58:59 +0100 Subject: [PATCH 03/17] Match dhruvs workflow again Signed-off-by: Jade Carino --- build.gradle | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index 6d8d9f3..ebae2a4 100644 --- a/build.gradle +++ b/build.gradle @@ -15,6 +15,7 @@ signing { def signingKeyId = findProperty("signingKeyId") def signingKey = findProperty("signingKey") def signingPassword = findProperty("signingPassword") + useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword) sign publishing.publications } @@ -101,8 +102,4 @@ publishing { } } -} - - - - +} \ No newline at end of file From b716311cbe5c1639ecf0986a32f10454c2165752 Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Thu, 4 Jul 2024 12:09:06 +0100 Subject: [PATCH 04/17] Update creds to use in each build.gradle Signed-off-by: Jade Carino --- dev.galasa.gradle.impl/build.gradle | 6 +++--- dev.galasa.plugin.common.impl/build.gradle | 4 ++-- dev.galasa.plugin.common.test/build.gradle | 4 ++-- dev.galasa.plugin.common/build.gradle | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dev.galasa.gradle.impl/build.gradle b/dev.galasa.gradle.impl/build.gradle index f65853d..742bd5d 100644 --- a/dev.galasa.gradle.impl/build.gradle +++ b/dev.galasa.gradle.impl/build.gradle @@ -20,7 +20,7 @@ repositories { dependencies { implementation 'org.apache.felix:org.apache.felix.bundlerepository:2.0.10' implementation 'org.reflections:reflections:0.9.11' - implementation 'com.google.code.gson:gson:2.8.5' + implementation 'com.google.code.gson:gson:2.10.1' testImplementation 'junit:junit:4.13' implementation project(':dev.galasa.plugin.common') implementation project(':dev.galasa.plugin.common.impl') @@ -150,8 +150,8 @@ publishing { if ("$targetMaven".startsWith('http')) { credentials { - username System.getenv('MAVENUSERNAME') - password System.getenv('MAVENPASSWORD') + username System.getenv('GITHUB_ACTOR') + password System.getenv('GITHUB_TOKEN') } } } diff --git a/dev.galasa.plugin.common.impl/build.gradle b/dev.galasa.plugin.common.impl/build.gradle index 2ee0613..2998cec 100644 --- a/dev.galasa.plugin.common.impl/build.gradle +++ b/dev.galasa.plugin.common.impl/build.gradle @@ -98,8 +98,8 @@ publishing { if ("$targetMaven".startsWith('http')) { credentials { - username System.getenv('MAVENUSERNAME') - password System.getenv('MAVENPASSWORD') + username System.getenv('GITHUB_ACTOR') + password System.getenv('GITHUB_TOKEN') } } } diff --git a/dev.galasa.plugin.common.test/build.gradle b/dev.galasa.plugin.common.test/build.gradle index 0d5090e..7b39cab 100644 --- a/dev.galasa.plugin.common.test/build.gradle +++ b/dev.galasa.plugin.common.test/build.gradle @@ -98,8 +98,8 @@ publishing { if ("$targetMaven".startsWith('http')) { credentials { - username System.getenv('MAVENUSERNAME') - password System.getenv('MAVENPASSWORD') + username System.getenv('GITHUB_ACTOR') + password System.getenv('GITHUB_TOKEN') } } } diff --git a/dev.galasa.plugin.common/build.gradle b/dev.galasa.plugin.common/build.gradle index 06d2ae1..2f1691d 100644 --- a/dev.galasa.plugin.common/build.gradle +++ b/dev.galasa.plugin.common/build.gradle @@ -122,8 +122,8 @@ publishing { if ("$targetMaven".startsWith('http')) { credentials { - username System.getenv('MAVENUSERNAME') - password System.getenv('MAVENPASSWORD') + username System.getenv('GITHUB_ACTOR') + password System.getenv('GITHUB_TOKEN') } } } From b3dbf71879656326db399ae97d4a0135ca54b5a8 Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Thu, 4 Jul 2024 12:12:10 +0100 Subject: [PATCH 05/17] Add configured keys Signed-off-by: Jade Carino --- dev.galasa.gradle.impl/build.gradle | 4 ++++ dev.galasa.plugin.common.impl/build.gradle | 4 ++++ dev.galasa.plugin.common.test/build.gradle | 4 ++++ dev.galasa.plugin.common/build.gradle | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/dev.galasa.gradle.impl/build.gradle b/dev.galasa.gradle.impl/build.gradle index 742bd5d..08affde 100644 --- a/dev.galasa.gradle.impl/build.gradle +++ b/dev.galasa.gradle.impl/build.gradle @@ -95,6 +95,10 @@ tasks.withType(Javadoc) { signing { + def signingKeyId = findProperty("signingKeyId") + def signingKey = findProperty("signingKey") + def signingPassword = findProperty("signingPassword") + useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword) sign publishing.publications } diff --git a/dev.galasa.plugin.common.impl/build.gradle b/dev.galasa.plugin.common.impl/build.gradle index 2998cec..e40e5e2 100644 --- a/dev.galasa.plugin.common.impl/build.gradle +++ b/dev.galasa.plugin.common.impl/build.gradle @@ -42,6 +42,10 @@ tasks.withType(Javadoc) { signing { + def signingKeyId = findProperty("signingKeyId") + def signingKey = findProperty("signingKey") + def signingPassword = findProperty("signingPassword") + useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword) sign publishing.publications } diff --git a/dev.galasa.plugin.common.test/build.gradle b/dev.galasa.plugin.common.test/build.gradle index 7b39cab..8432eff 100644 --- a/dev.galasa.plugin.common.test/build.gradle +++ b/dev.galasa.plugin.common.test/build.gradle @@ -41,6 +41,10 @@ tasks.withType(Javadoc) { signing { + def signingKeyId = findProperty("signingKeyId") + def signingKey = findProperty("signingKey") + def signingPassword = findProperty("signingPassword") + useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword) sign publishing.publications } diff --git a/dev.galasa.plugin.common/build.gradle b/dev.galasa.plugin.common/build.gradle index 2f1691d..b0ec584 100644 --- a/dev.galasa.plugin.common/build.gradle +++ b/dev.galasa.plugin.common/build.gradle @@ -70,6 +70,10 @@ tasks.withType(Javadoc) { } signing { + def signingKeyId = findProperty("signingKeyId") + def signingKey = findProperty("signingKey") + def signingPassword = findProperty("signingPassword") + useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword) sign publishing.publications } From e968522181a447450c7fe11e75ed60e39b9239f0 Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Mon, 15 Jul 2024 16:23:12 +0100 Subject: [PATCH 06/17] Trying Dhruv's latest changes Signed-off-by: Jade Carino --- .github/workflows/build.yaml | 28 ++++++++++++++--- .github/workflows/pr-build.yaml | 36 ++++++++++++++++++++++ dev.galasa.gradle.impl/build.gradle | 4 +-- dev.galasa.plugin.common.impl/build.gradle | 4 +-- dev.galasa.plugin.common.test/build.gradle | 4 +-- dev.galasa.plugin.common/build.gradle | 4 +-- 6 files changed, 67 insertions(+), 13 deletions(-) create mode 100644 .github/workflows/pr-build.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 684caa5..28a484f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -2,14 +2,32 @@ name: Main build on: workflow_dispatch: - pull_request: + push: branches: [main] +env: + NAMESPACE: galasa-dev + jobs: + delete-previous-packages: + name: Delete previous versions + runs-on: ubuntu-latest + strategy: + matrix: + name: [galasa-gradle-parent, githash.dev.galasa.githash.gradle.plugin,obr.dev.galasa.obr.gradle.plugin,tests.dev.galasa.tests.gradle.plugin,dev.galasa.gradle.impl,testcatalog.dev.galasa.testcatalog.gradle.plugin,dev.galasa.plugin.common,dev.galasa.plugin.common.impl,dev.galasa.plugin.common.test] + + steps: + - name: Delete previous versions + uses: actions/delete-package-versions@v5 + with: + package-name: 'dev.galasa.${{matrix.name}}' + package-type: 'maven' + build-gradle: name: build and Test Gradle + needs: delete-previous-packages + if: always() runs-on: ubuntu-latest - steps: - name: Checkout Code uses: actions/checkout@v4 @@ -18,7 +36,7 @@ jobs: uses: actions/setup-java@v4 with: java-version: '11' - distribution: 'temurin' + distribution: 'semeru' - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 @@ -33,8 +51,8 @@ jobs: ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_PASSPHRASE }} run: | gradle check publish --scan \ - -PsourceMaven=https://repo.maven.apache.org/maven2/ \ + -PsourceMaven=https://repo.maven.apache.org/maven2/ \ -PcentralMaven=https://repo.maven.apache.org/maven2/ \ - -PtargetMaven=https://maven.pkg.github.com/galasa-dev/gradle \ + -PtargetMaven=https://maven.pkg.github.com/${{env.NAMESPACE}}/gradle \ -PjacocoEnabled=true \ -PisMainOrRelease=true \ No newline at end of file diff --git a/.github/workflows/pr-build.yaml b/.github/workflows/pr-build.yaml new file mode 100644 index 0000000..36ee7b9 --- /dev/null +++ b/.github/workflows/pr-build.yaml @@ -0,0 +1,36 @@ +name: PR build + +on: + workflow_dispatch: + pull_request: + branches: [main] + +env: + NAMESPACE: galasa-dev + +jobs: + build-gradle: + name: build and Test Gradle + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Setup JDK + uses: actions/setup-java@v4 + with: + java-version: '11' + distribution: 'semeru' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + with: + gradle-version: 6.9.2 + + - name: Test and Build Gradle + run: | + gradle clean build \ + -PsourceMaven=https://repo.maven.apache.org/maven2/ \ + -PcentralMaven=https://repo.maven.apache.org/maven2/ \ + -PtargetMaven=https://maven.pkg.github.com/${{env.NAMESPACE}}/gradle/ \ No newline at end of file diff --git a/dev.galasa.gradle.impl/build.gradle b/dev.galasa.gradle.impl/build.gradle index 08affde..406caa7 100644 --- a/dev.galasa.gradle.impl/build.gradle +++ b/dev.galasa.gradle.impl/build.gradle @@ -154,8 +154,8 @@ publishing { if ("$targetMaven".startsWith('http')) { credentials { - username System.getenv('GITHUB_ACTOR') - password System.getenv('GITHUB_TOKEN') + username System.getenv("GITHUB_ACTOR") + password System.getenv("GITHUB_TOKEN") } } } diff --git a/dev.galasa.plugin.common.impl/build.gradle b/dev.galasa.plugin.common.impl/build.gradle index e40e5e2..c9a7e0d 100644 --- a/dev.galasa.plugin.common.impl/build.gradle +++ b/dev.galasa.plugin.common.impl/build.gradle @@ -102,8 +102,8 @@ publishing { if ("$targetMaven".startsWith('http')) { credentials { - username System.getenv('GITHUB_ACTOR') - password System.getenv('GITHUB_TOKEN') + username System.getenv("GITHUB_ACTOR") + password System.getenv("GITHUB_TOKEN") } } } diff --git a/dev.galasa.plugin.common.test/build.gradle b/dev.galasa.plugin.common.test/build.gradle index 8432eff..7b31e5c 100644 --- a/dev.galasa.plugin.common.test/build.gradle +++ b/dev.galasa.plugin.common.test/build.gradle @@ -102,8 +102,8 @@ publishing { if ("$targetMaven".startsWith('http')) { credentials { - username System.getenv('GITHUB_ACTOR') - password System.getenv('GITHUB_TOKEN') + username System.getenv("GITHUB_ACTOR") + password System.getenv("GITHUB_TOKEN") } } } diff --git a/dev.galasa.plugin.common/build.gradle b/dev.galasa.plugin.common/build.gradle index b0ec584..d9a6c8f 100644 --- a/dev.galasa.plugin.common/build.gradle +++ b/dev.galasa.plugin.common/build.gradle @@ -126,8 +126,8 @@ publishing { if ("$targetMaven".startsWith('http')) { credentials { - username System.getenv('GITHUB_ACTOR') - password System.getenv('GITHUB_TOKEN') + username System.getenv("GITHUB_ACTOR") + password System.getenv("GITHUB_TOKEN") } } } From ed34d1bd8c03da9858e188ac15311fc10e32b25a Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Mon, 15 Jul 2024 16:26:25 +0100 Subject: [PATCH 07/17] Now trying to Main build Signed-off-by: Jade Carino --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 28a484f..701a4cc 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -2,7 +2,7 @@ name: Main build on: workflow_dispatch: - push: + pull_request: branches: [main] env: From 875380ca97b25aedf502502a9f417950fb5931d1 Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Tue, 23 Jul 2024 15:45:29 +0100 Subject: [PATCH 08/17] First attempt at running workflow with current development maven repos Signed-off-by: Jade Carino --- .github/workflows/pr-build.yaml | 19 +++++++++++++++---- dockerfiles/dockerfile.gradle | 6 ++++++ 2 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 dockerfiles/dockerfile.gradle diff --git a/.github/workflows/pr-build.yaml b/.github/workflows/pr-build.yaml index 36ee7b9..dc466df 100644 --- a/.github/workflows/pr-build.yaml +++ b/.github/workflows/pr-build.yaml @@ -1,12 +1,13 @@ name: PR build on: - workflow_dispatch: - pull_request: - branches: [main] + workflow_dispatch: + pull_request: + branches: [main] env: NAMESPACE: galasa-dev + IMAGE_TAG: ${{ github.event.number }} jobs: build-gradle: @@ -23,6 +24,10 @@ jobs: java-version: '11' distribution: 'semeru' + - name: Print githash + run: | + echo $GITHUB_SHA > ./gradle.githash + - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 with: @@ -33,4 +38,10 @@ jobs: gradle clean build \ -PsourceMaven=https://repo.maven.apache.org/maven2/ \ -PcentralMaven=https://repo.maven.apache.org/maven2/ \ - -PtargetMaven=https://maven.pkg.github.com/${{env.NAMESPACE}}/gradle/ \ No newline at end of file + -PtargetMaven=${{ github.workspace }}/repo + + # This Docker image will not be used, it's just to test that the Docker build should work + - name: Build and test Gradle image + run: | + docker build -t gradle-maven-artefacts:${{env.IMAGE_TAG}} --build-arg tag=main --build-arg dockerRepository=harbor.galasa.dev -f dockerfiles/dockerfile.gradle . + docker run --rm gradle-maven-artefacts:${{env.IMAGE_TAG}} \ No newline at end of file diff --git a/dockerfiles/dockerfile.gradle b/dockerfiles/dockerfile.gradle new file mode 100644 index 0000000..68f7655 --- /dev/null +++ b/dockerfiles/dockerfile.gradle @@ -0,0 +1,6 @@ +ARG dockerRepository +ARG tag +FROM ${dockerRepository}/galasadev/galasa-wrapping:${tag} + +COPY repo/ /usr/local/apache2/htdocs/ +COPY gradle.githash /usr/local/apache2/htdocs/gradle.githash \ No newline at end of file From a2f19b3d132fe75b1c8e5a2263628fe664832fbc Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Tue, 23 Jul 2024 15:48:59 +0100 Subject: [PATCH 09/17] Updating path Signed-off-by: Jade Carino --- .github/workflows/build.yaml | 133 +++++++++++++++++++++------------- dockerfiles/dockerfile.gradle | 2 +- 2 files changed, 84 insertions(+), 51 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 701a4cc..71706eb 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,58 +1,91 @@ name: Main build on: - workflow_dispatch: - pull_request: - branches: [main] + workflow_dispatch: + push: + branches: [main] env: NAMESPACE: galasa-dev + BRANCH: main jobs: - delete-previous-packages: - name: Delete previous versions - runs-on: ubuntu-latest - strategy: - matrix: - name: [galasa-gradle-parent, githash.dev.galasa.githash.gradle.plugin,obr.dev.galasa.obr.gradle.plugin,tests.dev.galasa.tests.gradle.plugin,dev.galasa.gradle.impl,testcatalog.dev.galasa.testcatalog.gradle.plugin,dev.galasa.plugin.common,dev.galasa.plugin.common.impl,dev.galasa.plugin.common.test] - - steps: - - name: Delete previous versions - uses: actions/delete-package-versions@v5 - with: - package-name: 'dev.galasa.${{matrix.name}}' - package-type: 'maven' - - build-gradle: - name: build and Test Gradle - needs: delete-previous-packages - if: always() - runs-on: ubuntu-latest - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - - name: Setup JDK - uses: actions/setup-java@v4 - with: - java-version: '11' - distribution: 'semeru' - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: 6.9.2 - - - name: Test and Build Gradle - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.GPG_KEYID }} - ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_KEY }} - ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_PASSPHRASE }} - run: | - gradle check publish --scan \ - -PsourceMaven=https://repo.maven.apache.org/maven2/ \ - -PcentralMaven=https://repo.maven.apache.org/maven2/ \ - -PtargetMaven=https://maven.pkg.github.com/${{env.NAMESPACE}}/gradle \ - -PjacocoEnabled=true \ - -PisMainOrRelease=true \ No newline at end of file + # delete-previous-packages: + # name: Delete previous versions + # runs-on: ubuntu-latest + # strategy: + # matrix: + # name: [galasa-gradle-parent, githash.dev.galasa.githash.gradle.plugin,obr.dev.galasa.obr.gradle.plugin,tests.dev.galasa.tests.gradle.plugin,dev.galasa.gradle.impl,testcatalog.dev.galasa.testcatalog.gradle.plugin,dev.galasa.plugin.common,dev.galasa.plugin.common.impl,dev.galasa.plugin.common.test] + + # steps: + # - name: Delete previous versions + # uses: actions/delete-package-versions@v5 + # with: + # package-name: 'dev.galasa.${{matrix.name}}' + # package-type: 'maven' + + build-gradle: + name: build and Test Gradle + # needs: delete-previous-packages + # if: always() + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Setup JDK + uses: actions/setup-java@v4 + with: + java-version: '11' + distribution: 'semeru' + + # The githash is added to the development Maven registry to show what commit level it contains + - name: Print githash + run: | + echo $GITHUB_SHA > ./gradle.githash + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + with: + gradle-version: 6.9.2 + + - name: Test and Build Gradle + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.GPG_KEYID }} + ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_KEY }} + ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_PASSPHRASE }} + run: | + gradle check publish --scan \ + -PsourceMaven=https://repo.maven.apache.org/maven2/ \ + -PcentralMaven=https://repo.maven.apache.org/maven2/ \ + -PtargetMaven=${{ github.workspace }}/repo \ + -PjacocoEnabled=true \ + -PisMainOrRelease=true + + - name: Login to Github Container Registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata for Gradle Image + id: metadata + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ${{ env.REGISTRY }}/${{ env.NAMESPACE }}/gradle-maven-artefacts + + - name: Build Gradle image for development Maven registry + id: build + uses: docker/build-push-action@v5 + with: + context: . + file: dockerfiles/dockerfile.gradle + push: true + tags: ${{ steps.metadata.outputs.tags }} + labels: ${{ steps.metadata.outputs.labels }} + # dockerRepository will change to ghcr.io once the Wrapping image is available there + build-args: | + dockerRepository=harbor.galasa.dev + tag=${{ env.BRANCH }} diff --git a/dockerfiles/dockerfile.gradle b/dockerfiles/dockerfile.gradle index 68f7655..32748d6 100644 --- a/dockerfiles/dockerfile.gradle +++ b/dockerfiles/dockerfile.gradle @@ -2,5 +2,5 @@ ARG dockerRepository ARG tag FROM ${dockerRepository}/galasadev/galasa-wrapping:${tag} -COPY repo/ /usr/local/apache2/htdocs/ +COPY gradle/repo/ /usr/local/apache2/htdocs/ COPY gradle.githash /usr/local/apache2/htdocs/gradle.githash \ No newline at end of file From 8c720ea46a2567392f2f1c0ddc9ab00415e6e7d8 Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Tue, 23 Jul 2024 15:54:24 +0100 Subject: [PATCH 10/17] Update gradle command as we need to publish now Signed-off-by: Jade Carino --- .github/workflows/pr-build.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-build.yaml b/.github/workflows/pr-build.yaml index dc466df..5c4d3b2 100644 --- a/.github/workflows/pr-build.yaml +++ b/.github/workflows/pr-build.yaml @@ -28,6 +28,10 @@ jobs: run: | echo $GITHUB_SHA > ./gradle.githash + - name: Check githash + run: | + cat ./gradle.githash + - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 with: @@ -35,7 +39,7 @@ jobs: - name: Test and Build Gradle run: | - gradle clean build \ + gradle check publish \ -PsourceMaven=https://repo.maven.apache.org/maven2/ \ -PcentralMaven=https://repo.maven.apache.org/maven2/ \ -PtargetMaven=${{ github.workspace }}/repo From faa6a8ed38f25680269465cdc30ebcc20f42615b Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Tue, 23 Jul 2024 15:56:39 +0100 Subject: [PATCH 11/17] Update path in dockerfile Signed-off-by: Jade Carino --- .github/workflows/pr-build.yaml | 4 ++-- dockerfiles/dockerfile.gradle | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-build.yaml b/.github/workflows/pr-build.yaml index 5c4d3b2..b91dd4d 100644 --- a/.github/workflows/pr-build.yaml +++ b/.github/workflows/pr-build.yaml @@ -11,7 +11,7 @@ env: jobs: build-gradle: - name: build and Test Gradle + name: Build Gradle source code and Docker image runs-on: ubuntu-latest steps: @@ -37,7 +37,7 @@ jobs: with: gradle-version: 6.9.2 - - name: Test and Build Gradle + - name: Build Gradle source code run: | gradle check publish \ -PsourceMaven=https://repo.maven.apache.org/maven2/ \ diff --git a/dockerfiles/dockerfile.gradle b/dockerfiles/dockerfile.gradle index 32748d6..68f7655 100644 --- a/dockerfiles/dockerfile.gradle +++ b/dockerfiles/dockerfile.gradle @@ -2,5 +2,5 @@ ARG dockerRepository ARG tag FROM ${dockerRepository}/galasadev/galasa-wrapping:${tag} -COPY gradle/repo/ /usr/local/apache2/htdocs/ +COPY repo/ /usr/local/apache2/htdocs/ COPY gradle.githash /usr/local/apache2/htdocs/gradle.githash \ No newline at end of file From 5eaf70b7ebd8992bb0a1b7ce8136ad62bf19a50e Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Tue, 23 Jul 2024 16:03:24 +0100 Subject: [PATCH 12/17] Add missing env variable Signed-off-by: Jade Carino --- .github/workflows/build.yaml | 23 ++++------------------- .github/workflows/pr-build.yaml | 4 ---- 2 files changed, 4 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 71706eb..a040d4b 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -6,28 +6,13 @@ on: branches: [main] env: + REGISTRY: ghcr.io NAMESPACE: galasa-dev BRANCH: main jobs: - # delete-previous-packages: - # name: Delete previous versions - # runs-on: ubuntu-latest - # strategy: - # matrix: - # name: [galasa-gradle-parent, githash.dev.galasa.githash.gradle.plugin,obr.dev.galasa.obr.gradle.plugin,tests.dev.galasa.tests.gradle.plugin,dev.galasa.gradle.impl,testcatalog.dev.galasa.testcatalog.gradle.plugin,dev.galasa.plugin.common,dev.galasa.plugin.common.impl,dev.galasa.plugin.common.test] - - # steps: - # - name: Delete previous versions - # uses: actions/delete-package-versions@v5 - # with: - # package-name: 'dev.galasa.${{matrix.name}}' - # package-type: 'maven' - build-gradle: - name: build and Test Gradle - # needs: delete-previous-packages - # if: always() + name: Build Gradle source code and Docker image for development Maven registry runs-on: ubuntu-latest steps: - name: Checkout Code @@ -49,7 +34,7 @@ jobs: with: gradle-version: 6.9.2 - - name: Test and Build Gradle + - name: Build Gradle source code env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.GPG_KEYID }} @@ -70,7 +55,7 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata for Gradle Image + - name: Extract metadata for Gradle image id: metadata uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 with: diff --git a/.github/workflows/pr-build.yaml b/.github/workflows/pr-build.yaml index b91dd4d..3294704 100644 --- a/.github/workflows/pr-build.yaml +++ b/.github/workflows/pr-build.yaml @@ -28,10 +28,6 @@ jobs: run: | echo $GITHUB_SHA > ./gradle.githash - - name: Check githash - run: | - cat ./gradle.githash - - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 with: From fba0cb919377fa10441f2df19b0474414d5d0ecc Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Tue, 23 Jul 2024 16:10:54 +0100 Subject: [PATCH 13/17] Use different docker build to see if faster Signed-off-by: Jade Carino --- .github/workflows/pr-build.yaml | 90 ++++++++++++++++++++------------- 1 file changed, 55 insertions(+), 35 deletions(-) diff --git a/.github/workflows/pr-build.yaml b/.github/workflows/pr-build.yaml index 3294704..670b8bc 100644 --- a/.github/workflows/pr-build.yaml +++ b/.github/workflows/pr-build.yaml @@ -10,38 +10,58 @@ env: IMAGE_TAG: ${{ github.event.number }} jobs: - build-gradle: - name: Build Gradle source code and Docker image - runs-on: ubuntu-latest - - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - - name: Setup JDK - uses: actions/setup-java@v4 - with: - java-version: '11' - distribution: 'semeru' - - - name: Print githash - run: | - echo $GITHUB_SHA > ./gradle.githash - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: 6.9.2 - - - name: Build Gradle source code - run: | - gradle check publish \ - -PsourceMaven=https://repo.maven.apache.org/maven2/ \ - -PcentralMaven=https://repo.maven.apache.org/maven2/ \ - -PtargetMaven=${{ github.workspace }}/repo - - # This Docker image will not be used, it's just to test that the Docker build should work - - name: Build and test Gradle image - run: | - docker build -t gradle-maven-artefacts:${{env.IMAGE_TAG}} --build-arg tag=main --build-arg dockerRepository=harbor.galasa.dev -f dockerfiles/dockerfile.gradle . - docker run --rm gradle-maven-artefacts:${{env.IMAGE_TAG}} \ No newline at end of file + build-gradle: + name: Build Gradle source code and Docker image + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Setup JDK + uses: actions/setup-java@v4 + with: + java-version: '11' + distribution: 'semeru' + + - name: Print githash + run: | + echo $GITHUB_SHA > ./gradle.githash + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + with: + gradle-version: 6.9.2 + + - name: Build Gradle source code + run: | + gradle check publish \ + -PsourceMaven=https://repo.maven.apache.org/maven2/ \ + -PcentralMaven=https://repo.maven.apache.org/maven2/ \ + -PtargetMaven=${{ github.workspace }}/repo + + # This Docker image will not be used, it's just to test that the Docker build should work + # - name: Build and test Gradle image + # run: | + # docker build -t gradle-maven-artefacts:${{env.IMAGE_TAG}} --build-arg tag=main --build-arg dockerRepository=harbor.galasa.dev -f dockerfiles/dockerfile.gradle . + # docker run --rm gradle-maven-artefacts:${{env.IMAGE_TAG}} + + - name: Extract metadata for Gradle image + id: metadata + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ${{ env.REGISTRY }}/${{ env.NAMESPACE }}/gradle-maven-artefacts + + - name: Build Gradle image for development Maven registry + id: build + uses: docker/build-push-action@v5 + with: + context: . + file: dockerfiles/dockerfile.gradle + push: false + tags: ${{ steps.metadata.outputs.tags }} + labels: ${{ steps.metadata.outputs.labels }} + # dockerRepository will change to ghcr.io once the Wrapping image is available there + build-args: | + dockerRepository=harbor.galasa.dev + tag=${{ env.BRANCH }} \ No newline at end of file From 3f79d89cda0ef8fbe71eefc195511062f91fc2e2 Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Tue, 23 Jul 2024 16:13:09 +0100 Subject: [PATCH 14/17] Try with env var passed in Signed-off-by: Jade Carino --- .github/workflows/pr-build.yaml | 46 +++++++++++++++++---------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/.github/workflows/pr-build.yaml b/.github/workflows/pr-build.yaml index 670b8bc..5853fb0 100644 --- a/.github/workflows/pr-build.yaml +++ b/.github/workflows/pr-build.yaml @@ -41,27 +41,29 @@ jobs: -PtargetMaven=${{ github.workspace }}/repo # This Docker image will not be used, it's just to test that the Docker build should work - # - name: Build and test Gradle image - # run: | - # docker build -t gradle-maven-artefacts:${{env.IMAGE_TAG}} --build-arg tag=main --build-arg dockerRepository=harbor.galasa.dev -f dockerfiles/dockerfile.gradle . - # docker run --rm gradle-maven-artefacts:${{env.IMAGE_TAG}} + - name: Build and test Gradle image + env: + CONTEXTROOT: main/maven-repo/gradle + run: | + docker build -t gradle-maven-artefacts:${{env.IMAGE_TAG}} --build-arg tag=main --build-arg dockerRepository=harbor.galasa.dev -f dockerfiles/dockerfile.gradle . + docker run --rm gradle-maven-artefacts:${{env.IMAGE_TAG}} - - name: Extract metadata for Gradle image - id: metadata - uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 - with: - images: ${{ env.REGISTRY }}/${{ env.NAMESPACE }}/gradle-maven-artefacts + # - name: Extract metadata for Gradle image + # id: metadata + # uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + # with: + # images: ${{ env.REGISTRY }}/${{ env.NAMESPACE }}/gradle-maven-artefacts - - name: Build Gradle image for development Maven registry - id: build - uses: docker/build-push-action@v5 - with: - context: . - file: dockerfiles/dockerfile.gradle - push: false - tags: ${{ steps.metadata.outputs.tags }} - labels: ${{ steps.metadata.outputs.labels }} - # dockerRepository will change to ghcr.io once the Wrapping image is available there - build-args: | - dockerRepository=harbor.galasa.dev - tag=${{ env.BRANCH }} \ No newline at end of file + # - name: Build Gradle image for development Maven registry + # id: build + # uses: docker/build-push-action@v5 + # with: + # context: . + # file: dockerfiles/dockerfile.gradle + # push: false + # tags: ${{ steps.metadata.outputs.tags }} + # labels: ${{ steps.metadata.outputs.labels }} + # # dockerRepository will change to ghcr.io once the Wrapping image is available there + # build-args: | + # dockerRepository=harbor.galasa.dev + # tag=${{ env.BRANCH }} \ No newline at end of file From 4e403ae164946f57059575a14d70e1eb98332e1b Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Tue, 23 Jul 2024 16:15:47 +0100 Subject: [PATCH 15/17] Fix missing env var Signed-off-by: Jade Carino --- .github/workflows/pr-build.yaml | 49 +++++++++++++++++---------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/.github/workflows/pr-build.yaml b/.github/workflows/pr-build.yaml index 5853fb0..97f3ad1 100644 --- a/.github/workflows/pr-build.yaml +++ b/.github/workflows/pr-build.yaml @@ -6,6 +6,7 @@ on: branches: [main] env: + REGISTRY: ghcr.io NAMESPACE: galasa-dev IMAGE_TAG: ${{ github.event.number }} @@ -41,29 +42,29 @@ jobs: -PtargetMaven=${{ github.workspace }}/repo # This Docker image will not be used, it's just to test that the Docker build should work - - name: Build and test Gradle image - env: - CONTEXTROOT: main/maven-repo/gradle - run: | - docker build -t gradle-maven-artefacts:${{env.IMAGE_TAG}} --build-arg tag=main --build-arg dockerRepository=harbor.galasa.dev -f dockerfiles/dockerfile.gradle . - docker run --rm gradle-maven-artefacts:${{env.IMAGE_TAG}} + # - name: Build and test Gradle image + # env: + # CONTEXTROOT: main/maven-repo/gradle + # run: | + # docker build -t gradle-maven-artefacts:${{env.IMAGE_TAG}} --build-arg tag=main --build-arg dockerRepository=harbor.galasa.dev -f dockerfiles/dockerfile.gradle . + # docker run --rm gradle-maven-artefacts:${{env.IMAGE_TAG}} - # - name: Extract metadata for Gradle image - # id: metadata - # uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 - # with: - # images: ${{ env.REGISTRY }}/${{ env.NAMESPACE }}/gradle-maven-artefacts + - name: Extract metadata for Gradle image + id: metadata + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ${{ env.REGISTRY }}/${{ env.NAMESPACE }}/gradle-maven-artefacts - # - name: Build Gradle image for development Maven registry - # id: build - # uses: docker/build-push-action@v5 - # with: - # context: . - # file: dockerfiles/dockerfile.gradle - # push: false - # tags: ${{ steps.metadata.outputs.tags }} - # labels: ${{ steps.metadata.outputs.labels }} - # # dockerRepository will change to ghcr.io once the Wrapping image is available there - # build-args: | - # dockerRepository=harbor.galasa.dev - # tag=${{ env.BRANCH }} \ No newline at end of file + - name: Build Gradle image for development Maven registry + id: build + uses: docker/build-push-action@v5 + with: + context: . + file: dockerfiles/dockerfile.gradle + push: false + tags: ${{ steps.metadata.outputs.tags }} + labels: ${{ steps.metadata.outputs.labels }} + # dockerRepository will change to ghcr.io once the Wrapping image is available there + build-args: | + dockerRepository=harbor.galasa.dev + tag=${{ env.BRANCH }} \ No newline at end of file From 83e26428c611a497afc6586e8b12efe55801dfa5 Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Tue, 23 Jul 2024 16:18:07 +0100 Subject: [PATCH 16/17] Fix missing tag Signed-off-by: Jade Carino --- .github/workflows/pr-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-build.yaml b/.github/workflows/pr-build.yaml index 97f3ad1..f92ed85 100644 --- a/.github/workflows/pr-build.yaml +++ b/.github/workflows/pr-build.yaml @@ -67,4 +67,4 @@ jobs: # dockerRepository will change to ghcr.io once the Wrapping image is available there build-args: | dockerRepository=harbor.galasa.dev - tag=${{ env.BRANCH }} \ No newline at end of file + tag=main \ No newline at end of file From d5ab672babac3c5fa1cd2622402e87c4122387d3 Mon Sep 17 00:00:00 2001 From: Jade Carino Date: Tue, 23 Jul 2024 16:22:19 +0100 Subject: [PATCH 17/17] Hopefully final changes Signed-off-by: Jade Carino --- .github/workflows/pr-build.yaml | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/.github/workflows/pr-build.yaml b/.github/workflows/pr-build.yaml index f92ed85..8c4d1e5 100644 --- a/.github/workflows/pr-build.yaml +++ b/.github/workflows/pr-build.yaml @@ -8,7 +8,6 @@ on: env: REGISTRY: ghcr.io NAMESPACE: galasa-dev - IMAGE_TAG: ${{ github.event.number }} jobs: build-gradle: @@ -25,6 +24,7 @@ jobs: java-version: '11' distribution: 'semeru' + # The githash is added to the development Maven registry to show what commit level it contains - name: Print githash run: | echo $GITHUB_SHA > ./gradle.githash @@ -41,21 +41,14 @@ jobs: -PcentralMaven=https://repo.maven.apache.org/maven2/ \ -PtargetMaven=${{ github.workspace }}/repo - # This Docker image will not be used, it's just to test that the Docker build should work - # - name: Build and test Gradle image - # env: - # CONTEXTROOT: main/maven-repo/gradle - # run: | - # docker build -t gradle-maven-artefacts:${{env.IMAGE_TAG}} --build-arg tag=main --build-arg dockerRepository=harbor.galasa.dev -f dockerfiles/dockerfile.gradle . - # docker run --rm gradle-maven-artefacts:${{env.IMAGE_TAG}} - - name: Extract metadata for Gradle image id: metadata uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 with: images: ${{ env.REGISTRY }}/${{ env.NAMESPACE }}/gradle-maven-artefacts - - name: Build Gradle image for development Maven registry + # This Docker image will not be used, it's just to test that the Docker build should work + - name: Build Gradle image id: build uses: docker/build-push-action@v5 with: