From 5d87f611fb628a201f30690b9141188754da0699 Mon Sep 17 00:00:00 2001 From: Richard North Date: Thu, 8 Jul 2021 11:35:31 +0100 Subject: [PATCH] Switch from using Travis to GitHub Actions for release (#3434) --- .github/workflows/release.yml | 31 +++++++++++++++++++++++++++++++ .travis.yml | 24 ------------------------ README.md | 2 -- build.gradle | 16 ---------------- gradle/bintray.gradle | 24 ------------------------ gradle/publishing.gradle | 21 +++++++++++++++++---- 6 files changed, 48 insertions(+), 70 deletions(-) create mode 100644 .github/workflows/release.yml delete mode 100644 .travis.yml delete mode 100644 gradle/bintray.gradle diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000000..943dfcf005a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,31 @@ +name: Release + +on: + release: + types: [published] + +env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + +jobs: + release: + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-java@v1 + with: + java-version: '1.8' + - name: Clear existing docker image cache + run: docker image prune -af + + - name: Run Gradle Build + run: ./gradlew build --scan --no-daemon -i + + - name: Run Gradle Publish + run: | + ./gradlew publish \ + -Pversion="${{github.event.release.tag_name}}" --scan --no-daemon -i + env: + OSSRH_USERNAME: ${{secrets.OSSRH_USERNAME}} + OSSRH_PASSWORD: ${{secrets.OSSRH_PASSWORD}} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ec7a5d343d9..00000000000 --- a/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -if: tag is present - -language: java -jdk: - - openjdk8 - -sudo: required -services: - - docker - -jobs: - include: - - - stage: deploy - sudo: false - services: [] - install: skip - script: skip - deploy: - provider: script - script: ./gradlew -Pversion=$TRAVIS_TAG release --scan --no-daemon -i - on: - tags: true - branch: master diff --git a/README.md b/README.md index c87138e7d1a..d3446cbb31e 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ > Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. -[![Build Status](https://travis-ci.org/testcontainers/testcontainers-java.svg?branch=master)](https://travis-ci.org/testcontainers/testcontainers-java)[ ![Download](https://api.bintray.com/packages/testcontainers/releases/testcontainers/images/download.svg) ](https://bintray.com/testcontainers/releases/testcontainers/_latestVersion) - ![Testcontainers logo](docs/logo.png) # [Read the documentation here](http://www.testcontainers.org) diff --git a/build.gradle b/build.gradle index 40f5bfed399..98b9b5a30bc 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,6 @@ plugins { id 'io.franzbecker.gradle-lombok' version '4.0.0' id 'com.github.johnrengelman.shadow' version '7.0.0' - id "com.jfrog.bintray" version "1.8.4" apply false } apply from: "$rootDir/gradle/ci-support.gradle" @@ -20,7 +19,6 @@ subprojects { compileTestJava.options.encoding = 'UTF-8' repositories { - jcenter() mavenCentral() } @@ -48,20 +46,6 @@ subprojects { // specific modules should be excluded from publication if ( ! ["test-support", "jdbc-test"].contains(it.name) && !it.path.startsWith(":docs:") && it != project(":docs") ) { apply from: "$rootDir/gradle/publishing.gradle" - apply from: "$rootDir/gradle/bintray.gradle" - - jar.archiveClassifier.set("original") - - publishing { - publications { - mavenJava(MavenPublication) { publication -> - artifacts.removeAll { it.classifier == jar.archiveClassifier.get() } - artifact project.tasks.shadowJar - } - } - } - - task release(dependsOn: bintrayUpload) } test { diff --git a/gradle/bintray.gradle b/gradle/bintray.gradle deleted file mode 100644 index 5ddfefd8e49..00000000000 --- a/gradle/bintray.gradle +++ /dev/null @@ -1,24 +0,0 @@ -apply plugin: "com.jfrog.bintray" - -bintray { - user = project.hasProperty('bintrayUser') ? project.property('bintrayUser') : System.getenv('BINTRAY_USER') - key = project.hasProperty('bintrayApiKey') ? project.property('bintrayApiKey') : System.getenv('BINTRAY_API_KEY') - - publications = ['mavenJava'] - - pkg { - userOrg = 'testcontainers' - repo = 'releases' - name = 'testcontainers' - - publish = true - override = true - - version { - name = project.version - vcsTag = project.version - released = new Date() - gpg.sign = true - } - } -} diff --git a/gradle/publishing.gradle b/gradle/publishing.gradle index 84fad9994e5..e6bf5d2acbd 100644 --- a/gradle/publishing.gradle +++ b/gradle/publishing.gradle @@ -1,24 +1,28 @@ apply plugin: 'maven-publish' task sourceJar(type: Jar) { - classifier = 'sources' + archiveClassifier.set( 'sources') from sourceSets.main.allJava } task javadocJar(type: Jar, dependsOn: javadoc) { - classifier = 'javadoc' + archiveClassifier.set('javadoc') from javadoc } +jar.archiveClassifier.set("original") + publishing { publications { mavenJava(MavenPublication) { publication -> artifactId = project.name - - artifact project.tasks.jar artifact sourceJar artifact javadocJar + artifact project.tasks.jar + artifacts.removeAll { it.classifier == jar.archiveClassifier.get() } + artifact project.tasks.shadowJar + pom.withXml { def rootNode = asNode() rootNode.children().last() + { @@ -77,4 +81,13 @@ publishing { } } } + repositories { + maven { + url("https://oss.sonatype.org/service/local/staging/deploy/maven2") + credentials { + username = System.getenv("OSSRH_USERNAME") + password = System.getenv("OSSRH_PASSWORD") + } + } + } }