Setup CI testing and building #1

Merged
cyclane merged 6 commits from ci into main 2023-12-29 15:43:55 +00:00
4 changed files with 79 additions and 2 deletions
Showing only changes of commit 571e952897 - Show all commits

44
.github/workflows/publish.yaml vendored Normal file
View File

@ -0,0 +1,44 @@
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 "backup_version=$VERSION" >> "$GITHUB_OUTPUT"
- name: Build
env:
BACKUP_VERSION: ${{ steps.parse.outputs.backup_version }}
run: ./gradlew shadowJar
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ShadowJAR
path: build/libs/*-all.jar

29
.github/workflows/test.yaml vendored Normal file
View File

@ -0,0 +1,29 @@
name: Test Workflow
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
lint-and-test:
name: Lint and test 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

View File

@ -1,10 +1,12 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
kotlin("jvm") version "1.9.21"
id("com.github.johnrengelman.shadow") version "8.1.1"
}
group = "net.koval"
version = "1.0-SNAPSHOT"
group = "net.koval.teamcity-executors-test-task"
version = System.getenv("BACKUP_VERSION")
repositories {
mavenCentral()
@ -12,6 +14,7 @@ repositories {
dependencies {
implementation("aws.sdk.kotlin:s3:1.0.25")
implementation("org.slf4j:slf4j-simple:2.0.9")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
testImplementation("org.jetbrains.kotlin:kotlin-test")
}

View File

@ -1,6 +1,7 @@
package backup
import aws.sdk.kotlin.services.s3.S3Client
import aws.sdk.kotlin.services.s3.model.ListBucketsRequest
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import java.io.File