diff --git a/.github/workflows/trigger-java-publish.yml b/.github/workflows/trigger-java-publish.yml new file mode 100644 index 00000000..4113c34c --- /dev/null +++ b/.github/workflows/trigger-java-publish.yml @@ -0,0 +1,63 @@ +name: Test Publish Dummy Package to GitHub Packages + +on: + workflow_dispatch: + +jobs: + publish-dummy: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - 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 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