Initial publish (#2)
CI for publishing library to gitea packages on tag. Reviewed-on: #2
This commit is contained in:
		
							
								
								
									
										40
									
								
								.github/workflows/publish.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								.github/workflows/publish.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | |||||||
|  | name: Publish Workflow | ||||||
|  | on: | ||||||
|  |   push: | ||||||
|  |     tags: | ||||||
|  |       - v* | ||||||
|  | jobs: | ||||||
|  |   publish: | ||||||
|  |     name: Publish library | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|  |       - name: Set up Java | ||||||
|  |         uses: actions/setup-java@v3 | ||||||
|  |         with: | ||||||
|  |           distribution: adopt | ||||||
|  |           java-version: 17 | ||||||
|  |  | ||||||
|  |       - name: Verify Gradle wrapper | ||||||
|  |         uses: gradle/wrapper-validation-action@v1 | ||||||
|  |  | ||||||
|  |       - name: Setup Gradle | ||||||
|  |         uses: gradle/gradle-build-action@v2 | ||||||
|  |  | ||||||
|  |       - name: Run checks | ||||||
|  |         run: ./gradlew check | ||||||
|  |  | ||||||
|  |       - name: Parse parameters | ||||||
|  |         id: parse | ||||||
|  |         run: | | ||||||
|  |           export VERSION="$(echo ${{ github.ref_name }} | cut -c2-)" | ||||||
|  |           echo "Parsed version: '$VERSION'" | ||||||
|  |           echo "tinyvm_version=$VERSION" >> "$GITHUB_OUTPUT" | ||||||
|  |  | ||||||
|  |       - name: Publish to Gitea package repository | ||||||
|  |         env: | ||||||
|  |           TINYVM_VERSION: ${{ steps.parse.outputs.tinyvm_version }} | ||||||
|  |           GITEA_USERNAME: ${{ github.repository_owner }} | ||||||
|  |           GITEA_TOKEN: ${{ secrets.deploy_token }} | ||||||
|  |         run: ./gradlew publishAllPublicationsToGiteaRepository | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| name: Main Workflow | name: Test Workflow | ||||||
| on: | on: | ||||||
|   pull_request: |   pull_request: | ||||||
|     branches: |     branches: | ||||||
| @@ -16,7 +16,7 @@ jobs: | |||||||
|       - name: Set up Java |       - name: Set up Java | ||||||
|         uses: actions/setup-java@v3 |         uses: actions/setup-java@v3 | ||||||
|         with: |         with: | ||||||
|           distribution: 'adopt' |           distribution: adopt | ||||||
|           java-version: 17 |           java-version: 17 | ||||||
| 
 | 
 | ||||||
|       - name: Verify Gradle wrapper |       - name: Verify Gradle wrapper | ||||||
| @@ -1,10 +1,11 @@ | |||||||
| plugins { | plugins { | ||||||
|     kotlin("jvm") version "1.9.21" |     kotlin("jvm") version "1.9.21" | ||||||
|     id("org.jmailen.kotlinter") version "4.1.0" |     id("org.jmailen.kotlinter") version "4.1.0" | ||||||
|  |     `maven-publish` | ||||||
| } | } | ||||||
|  |  | ||||||
| group = "net.koval" | group = "net.koval.teamcity-gitea-test-task" | ||||||
| version = "1.0-SNAPSHOT" | version = System.getenv("TINYVM_VERSION") | ||||||
|  |  | ||||||
| repositories { | repositories { | ||||||
|     mavenCentral() |     mavenCentral() | ||||||
| @@ -21,3 +22,38 @@ tasks.test { | |||||||
| kotlin { | kotlin { | ||||||
|     jvmToolchain(17) |     jvmToolchain(17) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | publishing { | ||||||
|  |     publications.register<MavenPublication>("gpr") { | ||||||
|  |         artifactId = "tinyvm" | ||||||
|  |         from(components["java"]) | ||||||
|  |         pom { | ||||||
|  |             name.set("TeamCity support for Gitea - Test Task - tiny version manager") | ||||||
|  |             description.set("This is a small project to implement a subset of git's functionality in Kotlin and was " + | ||||||
|  |                 "created using the instructions below as part of my application to the JetBrains internship project " + | ||||||
|  |                 "\"TeamCity support for Gitea\".") | ||||||
|  |             url.set("https://git.koval.net/cyclane/teamcity-gitea-test-task") | ||||||
|  |             developers { | ||||||
|  |                 developer { | ||||||
|  |                     id.set("cyclane") | ||||||
|  |                     name.set("Gleb Koval") | ||||||
|  |                     email.set("gleb@koval.net") | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |             scm { | ||||||
|  |                 url.set("https://git.koval.net/cyclane/teamcity-gitea-test-task") | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     repositories { | ||||||
|  |         maven { | ||||||
|  |             name = "Gitea" | ||||||
|  |             url = uri("https://git.koval.net/api/packages/cyclane/maven") | ||||||
|  |             credentials { | ||||||
|  |                 username = System.getenv("GITEA_USERNAME") | ||||||
|  |                 password = System.getenv("GITEA_TOKEN") | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user