Skip to content

Commit

Permalink
Merge pull request #17 from andkononykhin/fixes-old-package-traces
Browse files Browse the repository at this point in the history
various fixes and improvements for release pipeline and android builds
  • Loading branch information
ashcherbakov authored Oct 4, 2021
2 parents 01c65e0 + 400e0c7 commit 22888e2
Show file tree
Hide file tree
Showing 28 changed files with 65 additions and 44 deletions.
54 changes: 32 additions & 22 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,16 @@ on:
# required: false
# default: '0'

env:
PKG_NAME: didcomm
PKG_GROUP: org.dif

jobs:

checks:
name: check releases
if: github.ref == 'refs/heads/stable'
runs-on: ubuntu-latest
outputs:
current_version: ${{ steps.current_version.outputs.current_version }}
proj_group: ${{ steps.proj_meta.outputs.proj_group }}
proj_artifactId: ${{ steps.proj_meta.outputs.proj_artifactId }}
current_version: ${{ steps.proj_meta.outputs.current_version }}
release_info: ${{ steps.release_info.outputs.release_info }}
asset_jar_url: ${{ steps.release_info.outputs.asset_jar_url }}
upload_url: ${{ steps.release_info.outputs.upload_url }}
Expand All @@ -30,8 +28,16 @@ jobs:
- uses: actions/checkout@v2

- name: Get the metadata
id: current_version
id: proj_meta
run: |
group="$(gradle -q group)"
echo "$group"
echo "::set-output name=proj_group::$group"
artifactId="$(gradle -q artifactId)"
echo "$artifactId"
echo "::set-output name=proj_artifactId::$artifactId"
version="$(gradle -q version)"
echo "$version"
echo "::set-output name=current_version::$version"
Expand All @@ -41,12 +47,12 @@ jobs:
id: release_info
run: |
release_info="$(curl -s https://api.github.com/repos/${{ github.repository }}/releases \
| jq '.[] | select(.name == "v${{ steps.current_version.outputs.current_version }}")')"
| jq '.[] | select(.name == "v${{ steps.proj_meta.outputs.current_version }}")')"
echo "::set-output name=release_info::$release_info"
echo "$release_info"
asset_jar_url="$(echo "$release_info" \
| jq -r '.assets[] | select(.name | match("^${{ env.PKG_NAME }}.*\\.jar$")) | .browser_download_url')"
| jq -r '.assets[] | select(.name | match("^${{ steps.proj_meta.outputs.proj_artifactId }}.*\\.jar$")) | .browser_download_url')"
echo "::set-output name=asset_jar_url::$asset_jar_url"
echo "$asset_jar_url"
Expand All @@ -58,7 +64,7 @@ jobs:
- name: check if already deployed to Maven Central
id: check_in_maven
run: |
out="$(curl -s 'https://search.maven.org/solrsearch/select?q=a:${{ env.PKG_NAME }}+AND+g:${{ env.PKG_GROUP }}+AND+v:${{ steps.current_version.outputs.current_version }}&wt=json' \
out="$(curl -s 'https://search.maven.org/solrsearch/select?q=a:${{ steps.proj_meta.outputs.proj_artifactId }}+AND+g:${{ steps.proj_meta.outputs.proj_group }}+AND+v:${{ steps.proj_meta.outputs.current_version }}&wt=json' \
| jq -r '.response | .docs[] | .v')"
echo "in maven check: $out"
echo "::set-output name=already_in_maven::$out"
Expand All @@ -85,7 +91,7 @@ jobs:
run: |
gradle jar
ls lib/build/libs
asset_jar_name="$(find lib/build/libs -name '*${{ steps.current_version.outputs.current_version }}.jar' -printf '%f')"
asset_jar_name="$(find lib/build/libs -name '*${{ steps.proj_meta.outputs.current_version }}.jar' -printf '%f')"
echo "::set-output name=asset_jar_name::$asset_jar_name"
shell: bash

Expand Down Expand Up @@ -127,11 +133,14 @@ jobs:
- name: Publish to Maven Central
if: needs.checks.outputs.already_in_maven == 'false'
env:
ORG_GRADLE_PROJECT_mavenOSSRHUsername: ${{ secrets.ORG_GRADLE_PROJECT_mavenOSSRHUsername }}
ORG_GRADLE_PROJECT_mavenOSSRHPassword: ${{ secrets.ORG_GRADLE_PROJECT_mavenOSSRHPassword }}
ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.ORG_GRADLE_PROJECT_signingKeyId }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.ORG_GRADLE_PROJECT_signingKey }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.ORG_GRADLE_PROJECT_signingPassword }}
# maven user creds
ORG_GRADLE_PROJECT_mavenOSSRHUsername: ${{ secrets.MAVEN_USERNAME }}
ORG_GRADLE_PROJECT_mavenOSSRHPassword: ${{ secrets.MAVEN_PASSWORD }}
# creds of for an ascii-armored GPG subkey to sign for Maven
# https://docs.gradle.org/current/userguide/signing_plugin.html#using_in_memory_ascii_armored_openpgp_subkeys
ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.MAVEN_GPG_ARMORED_KEY_ID }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.MAVEN_GPG_ARMORED_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.MAVEN_GPG_PASSWORD }}
run: gradle publish
shell: bash

Expand All @@ -142,13 +151,14 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: set dev version
run: |
# TODO decide
# sed -i -r "s~^version=(.+)~version=\1-0.dev.${{ github.event.inputs.devN }}~" ./gradle.properties
sed -i -r "s~^version=(.+)~version=\1-SNAPSHOT~" ./gradle.properties
grep version ./gradle.properties
shell: bash
# NOTE it's always in SNAPSHOT state for now
# - name: set SNAPSHOT version
# run: |
# # TODO decide
# # sed -i -r "s~^version=(.+)~version=\1-0.dev.${{ github.event.inputs.devN }}~" ./gradle.properties
# sed -i -r "s~^version=(.+)~version=\1-SNAPSHOT~" ./gradle.properties
# grep version ./gradle.properties
# shell: bash

# XXX do we need that here
- name: Set up JDK 8
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@ name: verify

on: [ pull_request ]

env:
PKG_NAME: didcomm


jobs:

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
7 changes: 4 additions & 3 deletions docs/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,9 @@ Requirements:

Preparation steps:

* enable `benchmark` project in [settings.gradle](../settings.gradle)
* enable benchmark tests in [DIDCommBenchAndroidNaive.kt](../benchmark/src/androidTest/kotlin/org/dif/DIDCommBenchAndroidNaive.kt)
* enable `android-benchmark` project using Gradle property `androidBuilds=true`
(e.g. in [gradle.properties](../gradle.properties) or via CLI option `-PandroidBuilds=true`)
* enable benchmark tests in [DIDCommBenchAndroidNaive.kt](../android-benchmark/src/androidTest/kotlin/org/dif/DIDCommBenchAndroidNaive.kt)
* ensure that either an emulator is [available](https://developer.android.com/studio/run/managing-avds) or real Android device is [attached](https://developer.android.com/studio/run/device)

Run:
Expand All @@ -58,5 +59,5 @@ Run:
* using gradle

```bash
./gradlew :benchmark:cleanConnectedAndroidTest :benchmark:connectedAndroidTest --info
./gradlew -PandroidBuilds=true :android-benchmark:cleanConnectedAndroidTest :android-benchmark:connectedAndroidTest --info
```
4 changes: 3 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ android.enableJetifier=true
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official

version=0.1.0-SNAPSHOT

kotlinJvm=1.5.21
jvmTarget=1.8
version=0.1-SNAPSHOT
nimbusJoseJWTVersion=9.14-SNAPSHOT
ktlintGradle=10.1.0
googleTinkVersion=1.6.1
Expand All @@ -33,3 +34,4 @@ mannodermausJUnit5=1.8.0.0
androidxTestRunner=1.4.0
jUnitJupiter=5.8.0
mannodermausJUunit5AndroidTest=1.3.0
# androidBuilds=true
31 changes: 19 additions & 12 deletions lib/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ plugins {

group = "org.didcommx.didcomm"
version = "${version}"
project.ext.artifactId = rootProject.name
archivesBaseName = project.artifactId

kotlin {
sourceCompatibility = JavaVersion.VERSION_1_8
Expand Down Expand Up @@ -43,11 +45,6 @@ compileTestKotlin {
kotlinOptions.jvmTarget = "${jvmTarget}"
}

jar {
// FIXME deprecated https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html
baseName "${rootProject.name}"
}

// TODO tune settings
jmh {
benchmarkMode = ["thrpt", "avgt"]
Expand All @@ -59,26 +56,35 @@ jmh {
includeTests = true
}

// publishing

java {
withJavadocJar()
withSourcesJar()
task group {
doLast {
println(project.group)
}
}

task artifactId {
doLast {
println(project.artifactId)
}
}

task version {
doLast {
println(version)
}
}

// publishing

java {
withJavadocJar()
withSourcesJar()
}

publishing {
publications {
maven(MavenPublication) {
artifactId = "${rootProject.name}"
artifactId = project.artifactId
from components.java

pom {
Expand Down Expand Up @@ -133,7 +139,7 @@ signing {
useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword)

// TODO test signing
// sign publishing.publications.maven
sign publishing.publications.maven
}


Expand All @@ -142,3 +148,4 @@ javadoc {
options.addBooleanOption('html5', true)
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ class DIDCommTest {
}

@Test
fun `Test multi recipient support`() {
fun `Test_multi_recipient_support`() {
val didComm = DIDComm(DIDDocResolverMock(), AliceSecretResolverMock())

val packResultBob = didComm.packEncrypted(
Expand Down
8 changes: 6 additions & 2 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ rootProject.name = 'didcomm'

include ':lib'

def androidBuilds = this.properties['androidBuilds'] ?: false

// NOTE android libraries require jdk >= 11
//include ':android'
//include ':benchmark'
if (androidBuilds) {
include ':android-test'
include ':android-benchmark'
}

0 comments on commit 22888e2

Please sign in to comment.