Skip to content
This repository has been archived by the owner on Nov 4, 2024. It is now read-only.

Commit

Permalink
Merge branch 'main' into iss1078
Browse files Browse the repository at this point in the history
Signed-off-by: Tom Slattery <[email protected]>
  • Loading branch information
Tom-Slattery authored Sep 18, 2024
2 parents a203423 + abfbc9c commit 1a74657
Show file tree
Hide file tree
Showing 1,628 changed files with 24,933 additions and 7,616 deletions.
171 changes: 171 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
#
# Copyright contributors to the Galasa project
#
# SPDX-License-Identifier: EPL-2.0
#
name: Main build

on:
workflow_dispatch:
inputs:
jacocoEnabled:
description: 'Enable Jacoco code coverage (set to "false" for release builds)'
required: true
default: 'true'
type: choice
options:
- 'true'
- 'false'
isMainOrRelease:
description: 'This build is for the main branch or a release (set to "false" for development branch builds)'
required: true
default: 'true'
type: choice
options:
- 'true'
- 'false'
push:
branches: [main]

env:
REGISTRY: ghcr.io
NAMESPACE: galasa-dev
BRANCH: ${{ github.ref_name }}

jobs:
log-github-ref:
name: Log the GitHub ref this workflow is running on (Branch or tag that received dispatch)
runs-on: ubuntu-latest
steps:
- name: Log GitHub ref of workflow
run: |
echo "This workflow is running on GitHub ref ${{ env.BRANCH }}"
build-managers:
name: Build Managers source code and Docker image for development Maven registry
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Setup JDK
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'semeru'

- name: Print githash
run: |
echo $GITHUB_SHA > ./managers.githash
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
with:
gradle-version: 8.9
cache-disabled: true

- name: Build Managers source code
if: github.event_name == 'push'
env:
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.GPG_KEYID }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_PASSPHRASE }}
run: |
set -o pipefail
gradle -b galasa-managers-parent/build.gradle check publish --info \
--no-daemon --console plain \
-Dorg.gradle.jvmargs=-Xmx4096M \
-PsourceMaven=https://development.galasa.dev/${{ env.BRANCH }}/maven-repo/extensions \
-PcentralMaven=https://repo.maven.apache.org/maven2/ \
-PtargetMaven=${{ github.workspace }}/repo \
-PjacocoEnabled=true \
-PisMainOrRelease=true 2>&1 | tee build.log
- name: Build Managers source code
if: github.event_name == 'workflow_dispatch' # Use the input values provided by the workflow dispatch.
env:
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.GPG_KEYID }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_PASSPHRASE }}
run: |
set -o pipefail
gradle -b galasa-managers-parent/build.gradle check publish --info \
--no-daemon --console plain \
-Dorg.gradle.jvmargs=-Xmx4096M \
-PsourceMaven=https://development.galasa.dev/${{ env.BRANCH }}/maven-repo/extensions \
-PcentralMaven=https://repo.maven.apache.org/maven2/ \
-PtargetMaven=${{ github.workspace }}/repo \
-PjacocoEnabled=${{ inputs.jacocoEnabled }} \
-PisMainOrRelease=${{ inputs.isMainOrRelease }} 2>&1 | tee build.log
- name: Upload Gradle Build Log
if: failure()
uses: actions/upload-artifact@v4
with:
name: gradle-build-log
path: build.log
retention-days: 7

- name: Upload Jacoco Report
if: failure()
uses: actions/upload-artifact@v4
with:
name: jacoco-report
path: ${{ github.workspace }}/galasa-managers-parent/**/**/build/reports/**/*.html
retention-days: 7
if-no-files-found: ignore

- name: Login to Github Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata for Managers image
id: metadata
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: ${{ env.REGISTRY }}/${{ env.NAMESPACE }}/managers-maven-artefacts

- name: Build Managers image for development Maven registry
id: build
uses: docker/build-push-action@v5
with:
context: .
file: dockerfiles/dockerfile
push: true
tags: ${{ steps.metadata.outputs.tags }}
labels: ${{ steps.metadata.outputs.labels }}
build-args: |
dockerRepository=ghcr.io
tag=${{ env.BRANCH }}
- name: Recycle application in ArgoCD
env:
ARGOCD_AUTH_TOKEN: ${{ secrets.ARGOCD_TOKEN }}
run: |
docker run --env ARGOCD_AUTH_TOKEN=${{ env.ARGOCD_AUTH_TOKEN }} --rm -v ${{ github.workspace }}:/var/workspace ghcr.io/galasa-dev/argocdcli:main app actions run ${{ env.BRANCH }}-maven-repos restart --kind Deployment --resource-name managers-${{ env.BRANCH }} --server argocd.galasa.dev
- name: Wait for app health in ArgoCD
env:
ARGOCD_AUTH_TOKEN: ${{ secrets.ARGOCD_TOKEN }}
run: |
docker run --env ARGOCD_AUTH_TOKEN=${{ env.ARGOCD_AUTH_TOKEN }} --rm -v ${{ github.workspace }}:/var/workspace ghcr.io/galasa-dev/argocdcli:main app wait ${{ env.BRANCH }}-maven-repos --resource apps:Deployment:managers-${{ env.BRANCH }} --health --server argocd.galasa.dev
trigger-obr-workflow:
name: Trigger OBR workflow
runs-on: ubuntu-latest
needs: build-managers

steps:
- name: Trigger OBR workflow dispatch event with GitHub CLI
env:
GH_TOKEN: ${{ secrets.GALASA_TEAM_GITHUB_TOKEN }}
run: |
gh workflow run build.yaml --repo https://github.com/galasa-dev/obr --ref ${{ env.BRANCH }}
74 changes: 74 additions & 0 deletions .github/workflows/pr-build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#
# Copyright contributors to the Galasa project
#
# SPDX-License-Identifier: EPL-2.0
#
name: PR build

on:
pull_request:
branches: [main]

jobs:
build-managers:
name: Build Managers source code and Docker image
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Setup JDK
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'semeru'

- name: Print githash
run: |
echo $GITHUB_SHA > ./managers.githash
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
with:
gradle-version: 8.9
cache-disabled: true

- name: Build Managers source code
run: |
set -o pipefail
gradle -b galasa-managers-parent/build.gradle check publish --info \
--no-daemon --console plain \
-Dorg.gradle.jvmargs=-Xmx4096M \
-PsourceMaven=https://development.galasa.dev/main/maven-repo/extensions \
-PcentralMaven=https://repo.maven.apache.org/maven2/ \
-PtargetMaven=${{ github.workspace }}/repo 2>&1 | tee build.log
- name: Upload Gradle Build Log
if: failure()
uses: actions/upload-artifact@v4
with:
name: gradle-build-log
path: build.log
retention-days: 7

- name: Upload Jacoco Report
if: failure()
uses: actions/upload-artifact@v4
with:
name: jacoco-report
path: ${{ github.workspace }}/galasa-managers-parent/**/**/build/reports/**/*.html
retention-days: 7
if-no-files-found: ignore

- name: Build Managers image for testing
uses: docker/build-push-action@v5
with:
context: .
file: dockerfiles/dockerfile
load: true
tags: managers:test
build-args: |
dockerRepository=ghcr.io
tag=main
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,6 @@ Snap*.trc
**/build
**/.gradle
**/gradle/wrapper
local-builds/
**/.idea
temp/
6 changes: 6 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
repos:
- repo: https://github.com/ibm/detect-secrets
rev: 0.13.1+ibm.62.dss
hooks:
- id: detect-secrets # pragma: whitelist secret
args: [--baseline, .secrets.baseline, --use-all-plugins, --fail-on-unaudited]
95 changes: 95 additions & 0 deletions .secrets.baseline
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
{
"exclude": {
"files": "^.secrets.baseline$",
"lines": null
},
"plugins_used": [
{
"name": "AWSKeyDetector"
},
{
"name": "ArtifactoryDetector"
},
{
"name": "AzureStorageKeyDetector"
},
{
"base64_limit": 4.5,
"name": "Base64HighEntropyString"
},
{
"name": "BasicAuthDetector"
},
{
"name": "BoxDetector"
},
{
"name": "CloudantDetector"
},
{
"ghe_instance": "github.ibm.com",
"name": "GheDetector"
},
{
"name": "GitHubTokenDetector"
},
{
"hex_limit": 3,
"name": "HexHighEntropyString"
},
{
"name": "IbmCloudIamDetector"
},
{
"name": "IbmCosHmacDetector"
},
{
"name": "JwtTokenDetector"
},
{
"keyword_exclude": null,
"name": "KeywordDetector"
},
{
"name": "MailchimpDetector"
},
{
"name": "NpmDetector"
},
{
"name": "PrivateKeyDetector"
},
{
"name": "SlackDetector"
},
{
"name": "SoftlayerDetector"
},
{
"name": "SquareOAuthDetector"
},
{
"name": "StripeDetector"
},
{
"name": "TwilioKeyDetector"
}
],
"results": {
"galasa-managers-parent/galasa-managers-database-parent/dev.galasa.db2.manager.ivt/README.md": [
{
"hashed_secret": "22199ec38c6bedb7616f8e42aa3ad6e9f196cd24",
"is_secret": false,
"is_verified": false,
"line_number": 114,
"type": "Secret Keyword",
"verified_result": null
}
]
},
"version": "0.13.1+ibm.62.dss",
"word_list": {
"file": null,
"hash": null
}
}
Loading

0 comments on commit 1a74657

Please sign in to comment.