Skip to content

Commit

Permalink
Migrate CI to GitHub Actions
Browse files Browse the repository at this point in the history
  • Loading branch information
ihostage committed Apr 26, 2024
1 parent 26b1f27 commit cac003f
Show file tree
Hide file tree
Showing 9 changed files with 200 additions and 114 deletions.
66 changes: 66 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Check

on:
pull_request: # Check Pull Requests

push:
branches:
- master # Check branch after merge

concurrency:
# Only run once for latest commit per ref and cancel other (previous) runs.
group: ci-${{ github.ref }}
cancel-in-progress: true

jobs:
# Run Gradle Wrapper Validation to verify the wrapper's checksum
gradle-validation:
name: Gradle Wrapper
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# we don't know what commit the last tag was
fetch-depth: 0

- name: Gradle Wrapper Validation
uses: gradle/actions/wrapper-validation@v3

check:
name: Check for Scala ${{ matrix.scala }}
runs-on: ubuntu-latest
needs: gradle-validation
strategy:
matrix:
include:
- scala: "2.11"
lagom: "1.4.15"
- scala: "2.12"
lagom: "1.5.5"
- scala: "2.13"
lagom: "1.6.4"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# we don't know what commit the last tag was
fetch-depth: 0

- uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '8'
check-latest: true
cache: 'gradle'

- name: Check
run: >-
./gradlew --no-daemon clean check
-PscalaBinaryVersion=${{ matrix.scala }} -PlagomVersion=${{ matrix.lagom }}
finish:
name: Finish
needs: # Should be last
- "check"
uses: taymyr/.github/.github/workflows/rtm.yml@v1
66 changes: 66 additions & 0 deletions .github/workflows/publish-releases.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Publish Releases

on:
push:
tags: ["**"]

jobs:
# Run Gradle Wrapper Validation to verify the wrapper's checksum
gradle-validation:
name: Gradle Wrapper
runs-on: ubuntu-latest
if: github.repository_owner == 'taymyr'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# we don't know what commit the last tag was
fetch-depth: 0

- name: Gradle Wrapper Validation
uses: gradle/actions/wrapper-validation@v3

publish-artifacts:
name: Publish Artifacts for Scala ${{ matrix.scala }}
runs-on: ubuntu-latest
if: github.repository_owner == 'taymyr'
needs: gradle-validation
strategy:
matrix:
include:
- scala: "2.11"
lagom: "1.4.15"
- scala: "2.12"
lagom: "1.5.5"
- scala: "2.13"
lagom: "1.6.4"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# we don't know what commit the last tag was
fetch-depth: 0
- run: git fetch --tags --force origin # WA: https://github.com/actions/checkout/issues/882

- uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '8'
check-latest: true
cache: 'gradle'
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}

- name: Publish Releases
run: >-
./gradlew --no-daemon version publishToSonatype closeAndReleaseSonatypeStagingRepository -x test
-PscalaBinaryVersion=${{ matrix.scala }} -PlagomVersion=${{ matrix.lagom }}
-Psigning.gnupg.keyName=$GPG_KEY_ID
-Psigning.gnupg.passphrase="$GPG_PASSPHRASE"
-PsonatypeUsername="$OSSRH_USERNAME"
-PsonatypePassword="$OSSRH_TOKEN"
env:
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
66 changes: 66 additions & 0 deletions .github/workflows/publish-snapshots.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Publish Snapshots

on:
push:
branches:
- master

jobs:
# Run Gradle Wrapper Validation to verify the wrapper's checksum
gradle-validation:
name: Gradle Wrapper
runs-on: ubuntu-latest
if: github.repository_owner == 'taymyr'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# we don't know what commit the last tag was
fetch-depth: 0

- name: Gradle Wrapper Validation
uses: gradle/actions/wrapper-validation@v3

publish-artifacts:
name: Publish Artifacts for Scala ${{ matrix.scala }}
runs-on: ubuntu-latest
if: github.repository_owner == 'taymyr'
needs: gradle-validation
strategy:
matrix:
include:
- scala: "2.11"
lagom: "1.4.15"
- scala: "2.12"
lagom: "1.5.5"
- scala: "2.13"
lagom: "1.6.4"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# we don't know what commit the last tag was
fetch-depth: 0

- uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '8'
check-latest: true
cache: 'gradle'
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}

- name: Publish Snapshots
run: >-
./gradlew --no-daemon version publishToSonatype -x test
-PscalaBinaryVersion=${{ matrix.scala }} -PlagomVersion=${{ matrix.lagom }}
-Psigning.gnupg.keyName=$GPG_KEY_ID
-Psigning.gnupg.passphrase="$GPG_PASSPHRASE"
-PsonatypeUsername="$OSSRH_USERNAME"
-PsonatypePassword="$OSSRH_TOKEN"
env:
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
57 changes: 0 additions & 57 deletions .travis.yml

This file was deleted.

21 changes: 0 additions & 21 deletions bin/publish-release

This file was deleted.

22 changes: 0 additions & 22 deletions bin/publish-snapshots

This file was deleted.

14 changes: 0 additions & 14 deletions bin/scriptLib

This file was deleted.

1 change: 1 addition & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=9af5c8e7e2cd1a3b0f694a4ac262b9f38c75262e74a9e8b5101af302a6beadd7
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
1 change: 1 addition & 0 deletions java/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ publishing {
}

signing {
useGpgCmd()
isRequired = isReleaseVersion
sign(publishing.publications["maven"])
}

0 comments on commit cac003f

Please sign in to comment.