Skip to content

Commit

Permalink
Merge pull request #61 from cdapio/add-release-workflow
Browse files Browse the repository at this point in the history
Add build and release workflow
  • Loading branch information
itsankit-google committed Feb 13, 2023
2 parents 15d6bcb + 921879f commit 8eb5831
Show file tree
Hide file tree
Showing 7 changed files with 93 additions and 6 deletions.
87 changes: 87 additions & 0 deletions .github/workflows/build-and-deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Copyright © 2023 Cask Data, Inc.
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.

name: Build and Deploy Common
on:
schedule:
- cron: '0 8 * * *'
workflow_dispatch:

jobs:
build:
runs-on: k8s-runner-build

strategy:
fail-fast: false
matrix:
branch: [ develop, release/0.13 ]

steps:
- name: Get Secrets from GCP Secret Manager
id: 'secrets'
uses: 'google-github-actions/get-secretmanager-secrets@v0'
with:
secrets: |-
CDAP_OSSRH_USERNAME:cdapio-github-builds/CDAP_OSSRH_USERNAME
CDAP_OSSRH_PASSWORD:cdapio-github-builds/CDAP_OSSRH_PASSWORD
CDAP_GPG_PASSPHRASE:cdapio-github-builds/CDAP_GPG_PASSPHRASE
CDAP_GPG_PRIVATE_KEY:cdapio-github-builds/CDAP_GPG_PRIVATE_KEY
- name: Recursively Checkout Repository
uses: actions/checkout@v3
with:
fetch-depth: 0
path: common
ref: ${{ matrix.branch }}

- name: Cache
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ github.workflow }}-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-${{ github.workflow }}
- name: Run Tests
# Pinned version 2.8.2
uses: nick-fields/retry@3e91a01664abd3c5cd539100d10d33b9c5b68482
with:
timeout_minutes: 60
max_attempts: 3
retry_on: error
on_retry_command: echo "Tests failed in this attempt, retrying ..."
command: |
cd common
MAVEN_OPTS="-Xmx16G -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError" mvn test -T2 -U -V -Dmaven.wagon.http.retryHandler.count=5 -Dmaven.wagon.httpconnectionManager.ttlSeconds=30
- name: Set up GPG conf
if: ${{ matrix.branch == 'develop' || startsWith(matrix.branch, 'release/') }}
run: |
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
echo "allow-loopback-pinentry" >> ~/.gnupg/gpg-agent.conf
- name: Import GPG key
if: ${{ matrix.branch == 'develop' || startsWith(matrix.branch, 'release/') }}
run: |
echo "$GPG_PRIVATE_KEY" > private.key
gpg --import --batch private.key
env:
GPG_PRIVATE_KEY: ${{ steps.secrets.outputs.CDAP_GPG_PRIVATE_KEY }}

- name: Deploy Maven
if: ${{ matrix.branch == 'develop' || startsWith(matrix.branch, 'release/') }}
working-directory: common
run: mvn deploy -B -V -P release -Dgpg.passphrase=$CDAP_GPG_PASSPHRASE -Dremoteresources.skip=true
env:
CDAP_OSSRH_USERNAME: ${{ steps.secrets.outputs.CDAP_OSSRH_USERNAME }}
CDAP_OSSRH_PASSWORD: ${{ steps.secrets.outputs.CDAP_OSSRH_PASSWORD }}
CDAP_GPG_PASSPHRASE: ${{ steps.secrets.outputs.CDAP_GPG_PASSPHRASE }}
MAVEN_OPTS: "-Xmx12G"
2 changes: 1 addition & 1 deletion common-cli/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ the License.
<parent>
<artifactId>common</artifactId>
<groupId>io.cdap.common</groupId>
<version>0.13.0-SNAPSHOT</version>
<version>0.14.0-SNAPSHOT</version>
</parent>

<artifactId>common-cli</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion common-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ the License.
<parent>
<artifactId>common</artifactId>
<groupId>io.cdap.common</groupId>
<version>0.13.0-SNAPSHOT</version>
<version>0.14.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion common-http/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ the License.
<parent>
<artifactId>common</artifactId>
<groupId>io.cdap.common</groupId>
<version>0.13.0-SNAPSHOT</version>
<version>0.14.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion common-io/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ the License.
<parent>
<artifactId>common</artifactId>
<groupId>io.cdap.common</groupId>
<version>0.13.0-SNAPSHOT</version>
<version>0.14.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion common-lang/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ the License.
<parent>
<artifactId>common</artifactId>
<groupId>io.cdap.common</groupId>
<version>0.13.0-SNAPSHOT</version>
<version>0.14.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ the License.

<groupId>io.cdap.common</groupId>
<artifactId>common</artifactId>
<version>0.13.0-SNAPSHOT</version>
<version>0.14.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>CDAP Common Libraries</name>
<description>Common utilities</description>
Expand Down

0 comments on commit 8eb5831

Please sign in to comment.