Skip to content

Commit

Permalink
1.6: add action workflows (#1457)
Browse files Browse the repository at this point in the history
  • Loading branch information
brharrington authored Sep 1, 2022
1 parent 2bd52d9 commit a777dfc
Show file tree
Hide file tree
Showing 4 changed files with 132 additions and 0 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: PR Build

on: [pull_request]

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
java: [11]
scala: [2.11.12, 2.12.16, 2.13.8]
steps:
- uses: actions/checkout@v3
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java }}
distribution: 'zulu'
cache: 'sbt'
- name: Build
run: cat /dev/null | project/sbt ++${{ matrix.scala }} clean test doc
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
distribution: 'zulu'
cache: 'sbt'
- name: Build
run: cat /dev/null | project/sbt checkLicenseHeaders scalafmtCheckAll
37 changes: 37 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Release

on:
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+
- v[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+

jobs:
build:
if: ${{ github.repository == 'Netflix/atlas' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
distribution: 'zulu'
cache: 'sbt'
- name: SetupPGP
run: echo $ORG_SIGNING_KEY | sed -r 's/-----[^-]+-----//g;s/\n//g;s/ //g' | base64 --decode | gpg --batch --import
env:
ORG_SIGNING_KEY: ${{ secrets.ORG_SIGNING_KEY }}
- name: Build
env:
NETFLIX_OSS_REPO_USERNAME: ${{ secrets.ORG_NETFLIXOSS_USERNAME }}
NETFLIX_OSS_REPO_PASSWORD: ${{ secrets.ORG_NETFLIXOSS_PASSWORD }}
NETFLIX_OSS_SONATYPE_USERNAME: ${{ secrets.ORG_SONATYPE_USERNAME }}
NETFLIX_OSS_SONATYPE_PASSWORD: ${{ secrets.ORG_SONATYPE_PASSWORD }}
PGP_PASSPHRASE: ${{ secrets.ORG_SIGNING_PASSWORD }}
run: |
git fetch --unshallow --tags
cat /dev/null | project/sbt ++2.11.12 clean test +publishSigned
cat /dev/null | project/sbt ++2.12.16 clean test +publishSigned
cat /dev/null | project/sbt ++2.13.8 clean test +publishSigned
cat /dev/null | project/sbt sonatypeBundleRelease
37 changes: 37 additions & 0 deletions .github/workflows/snapshot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Snapshot

on:
push:
branches:
- v1.6.x

jobs:
build:
if: ${{ github.repository == 'Netflix/atlas' }}
runs-on: ubuntu-latest
strategy:
matrix:
java: [11]
scala: [2.11.12, 2.12.16, 2.13.8]
steps:
- uses: actions/checkout@v3
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java }}
distribution: 'zulu'
cache: 'sbt'
- name: SetupPGP
run: echo $ORG_SIGNING_KEY | sed -r 's/-----[^-]+-----//g;s/\n//g;s/ //g' | base64 --decode | gpg --batch --import
env:
ORG_SIGNING_KEY: ${{ secrets.ORG_SIGNING_KEY }}
- name: Build
env:
NETFLIX_OSS_REPO_USERNAME: ${{ secrets.ORG_NETFLIXOSS_USERNAME }}
NETFLIX_OSS_REPO_PASSWORD: ${{ secrets.ORG_NETFLIXOSS_PASSWORD }}
NETFLIX_OSS_SONATYPE_USERNAME: ${{ secrets.ORG_SONATYPE_USERNAME }}
NETFLIX_OSS_SONATYPE_PASSWORD: ${{ secrets.ORG_SONATYPE_PASSWORD }}
PGP_PASSPHRASE: ${{ secrets.ORG_SIGNING_PASSWORD }}
run: |
git fetch --unshallow --tags
cat /dev/null | project/sbt ++${{ matrix.scala }} clean test +publishSigned
25 changes: 25 additions & 0 deletions project/SonatypeSettings.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import sbt._
import sbt.Keys._
import xerial.sbt.Sonatype._
import xerial.sbt.Sonatype.SonatypeKeys._

object SonatypeSettings {

private def get(k: String): String = {
sys.env.getOrElse(s"NETFLIX_OSS_SONATYPE_$k", s"missing$k")
}

private lazy val user = get("USERNAME")
private lazy val pass = get("PASSWORD")

lazy val settings: Seq[Def.Setting[_]] = sonatypeSettings ++ Seq(
sonatypeProfileName := "com.netflix",
sonatypeProjectHosting := Some(GitHubHosting("Netflix", "atlas", "[email protected]")),

publishMavenStyle := true,
licenses += ("APL2" -> url("https://www.apache.org/licenses/LICENSE-2.0.txt")),
credentials += Credentials("Sonatype Nexus Repository Manager", "oss.sonatype.org", user, pass),

publishTo := sonatypePublishToBundle.value
)
}

0 comments on commit a777dfc

Please sign in to comment.