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: | ||||
|   pull_request: | ||||
|     branches: | ||||
| @@ -16,7 +16,7 @@ jobs: | ||||
|       - name: Set up Java | ||||
|         uses: actions/setup-java@v3 | ||||
|         with: | ||||
|           distribution: 'adopt' | ||||
|           distribution: adopt | ||||
|           java-version: 17 | ||||
| 
 | ||||
|       - name: Verify Gradle wrapper | ||||
| @@ -1,10 +1,11 @@ | ||||
| plugins { | ||||
|     kotlin("jvm") version "1.9.21" | ||||
|     id("org.jmailen.kotlinter") version "4.1.0" | ||||
|     `maven-publish` | ||||
| } | ||||
|  | ||||
| group = "net.koval" | ||||
| version = "1.0-SNAPSHOT" | ||||
| group = "net.koval.teamcity-gitea-test-task" | ||||
| version = System.getenv("TINYVM_VERSION") | ||||
|  | ||||
| repositories { | ||||
|     mavenCentral() | ||||
| @@ -21,3 +22,38 @@ tasks.test { | ||||
| kotlin { | ||||
|     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