From 091e08163049344a76d18d94bea138158b10d9dd Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 14:56:08 +0100 Subject: [PATCH 1/2] chore: add initial publishing code --- .github/workflows/trigger-java-publish.yml | 27 ++++++++++++++++++++++ bindings/java/java_code/build.gradle | 22 ++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 .github/workflows/trigger-java-publish.yml diff --git a/.github/workflows/trigger-java-publish.yml b/.github/workflows/trigger-java-publish.yml new file mode 100644 index 00000000..f49d088d --- /dev/null +++ b/.github/workflows/trigger-java-publish.yml @@ -0,0 +1,27 @@ +name: Publish java package to Github packages + +on: + release: + types: [created] + workflow_dispatch: + +jobs: + publish: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + - name: Validate Gradle wrapper + uses: gradle/actions/wrapper-validation@v3 + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + - name: Publish package + run: ./gradlew publish + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/bindings/java/java_code/build.gradle b/bindings/java/java_code/build.gradle index ab66d4da..8bd0345c 100644 --- a/bindings/java/java_code/build.gradle +++ b/bindings/java/java_code/build.gradle @@ -3,6 +3,7 @@ plugins { id "java-test-fixtures" id "me.champeau.jmh" version "0.7.0" id "com.diffplug.spotless" version "6.17.0" + id 'maven-publish' } group = 'ethereum.cryptography' @@ -30,6 +31,27 @@ dependencies { testFixturesImplementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${jacksonVersion}") } +// TODO: Re-evaluate whether we should keep this test { useJUnitPlatform() + dependsOn cleanTest + testLogging.showStandardStreams = true +} + +publishing { + repositories { + maven { + name = "GitHubPackages" + url = uri("https://maven.pkg.github.com/crate-crypto/peerdas-kzg") + credentials { + username = System.getenv("GITHUB_GRADLE_USERNAME") + password = System.getenv("GITHUB_GRADLE_PASSWORD") + } + } + } + publications { + gpr(MavenPublication) { + from(components.java) + } + } } \ No newline at end of file From 3bc019d397c14f6f286174ead95ecce6243bd7b9 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 15:04:09 +0100 Subject: [PATCH 2/2] chore: add dummy publishing --- .github/workflows/trigger-java-publish.yml | 70 ++++++++++++++++------ 1 file changed, 53 insertions(+), 17 deletions(-) diff --git a/.github/workflows/trigger-java-publish.yml b/.github/workflows/trigger-java-publish.yml index f49d088d..4113c34c 100644 --- a/.github/workflows/trigger-java-publish.yml +++ b/.github/workflows/trigger-java-publish.yml @@ -1,27 +1,63 @@ -name: Publish java package to Github packages +name: Test Publish Dummy Package to GitHub Packages on: - release: - types: [created] workflow_dispatch: jobs: - publish: + publish-dummy: runs-on: ubuntu-latest permissions: contents: read packages: write + steps: - - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'temurin' - - name: Validate Gradle wrapper - uses: gradle/actions/wrapper-validation@v3 - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 - - name: Publish package - run: ./gradlew publish - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + - uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + + - name: Create dummy project + run: | + mkdir -p src/main/java/org/peerdas/kzg + echo "package org.peerdas.kzg; public class DummyClass { public static void main(String[] args) { System.out.println(\"Hello from PeerDAS KZG DummyClass\"); } }" > src/main/java/org/peerdas/kzg/DummyClass.java + + echo "plugins { + id 'java' + id 'maven-publish' + } + + group = 'org.peerdas.kzg' + version = '0.0.1-SNAPSHOT' + + repositories { + mavenCentral() + } + + publishing { + repositories { + maven { + name = \"GitHubPackages\" + url = uri(\"https://maven.pkg.github.com/crate-crypto/peerdas-kzg\") + credentials { + username = System.getenv(\"GITHUB_ACTOR\") + password = System.getenv(\"GITHUB_TOKEN\") + } + } + } + publications { + gpr(MavenPublication) { + from(components.java) + } + } + }" > build.gradle + + - name: Publish dummy package + run: ./gradlew publish + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file