diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml new file mode 100644 index 0000000..f438979 --- /dev/null +++ b/.github/workflows/publish-release.yml @@ -0,0 +1,37 @@ +name: Release + +on: + push: + paths-ignore: + - '**.md' + branches: + - 'master' + +jobs: + build: + + runs-on: macos-latest + + permissions: + contents: read + packages: write + + steps: + - name: checkout + uses: actions/checkout@v2 + + - name: setup JDK 17 + uses: actions/setup-java@v1 + with: + java-version: 17 + + - name: Build + run: ./gradlew :assemble --stacktrace + + - name: Check + run: ./gradlew :check + + - name: Release library + run: ./gradlew :publish + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/build.gradle.kts b/build.gradle.kts index 3d91402..c683eb7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,7 +1,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -group = "org.example" -version = "1.0-SNAPSHOT" +group = "com.zhelenskiy" +version = "1.0" fun generateClassSerializers() = buildString { operator fun String.unaryPlus() = appendLine(this) @@ -136,3 +136,15 @@ tasks.register("generateClassSerializers") { tasks.withType { dependsOn(":generateClassSerializers") } + +publishing { + repositories { + maven { + url = uri("https://maven.pkg.github.com/zhelenskiy/kotlinx-serialization-builder") + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } + } +}