-
Notifications
You must be signed in to change notification settings - Fork 260
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Mandy Chessell <mandy.e.chessell@gmail.com>
- Loading branch information
1 parent
f2ab23d
commit 6d6dc97
Showing
44 changed files
with
386 additions
and
47 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# Copyright Contributors to the ODPi Egeria project. | ||
# | ||
# For most projects, this workflow file will not need changing; you simply need | ||
# to commit it to your repository. | ||
# | ||
# You may wish to alter this file to override the set of languages analyzed, | ||
# or to provide custom queries or build logic. | ||
--- | ||
name: "CodeQL Analysis v5" | ||
|
||
on: | ||
push: | ||
branches: [main, egeria-release-5*] | ||
pull_request: | ||
# The branches below must be a subset of the branches above | ||
branches: [main, egeria-release-5*] | ||
workflow_dispatch: | ||
|
||
jobs: | ||
analyze: | ||
if: ${{ github.repository == 'odpi/egeria'}} | ||
name: "CodeQL Build v5" | ||
runs-on: ubuntu-latest | ||
permissions: | ||
actions: read | ||
contents: read | ||
security-events: write | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4.1.0 | ||
- uses: gradle/wrapper-validation-action@v2 | ||
- name: Setup Java JDK | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
# Initializes the CodeQL tools for scanning. | ||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v3.25.7 | ||
with: | ||
languages: java | ||
queries: security-and-quality | ||
ram: 4096 | ||
- name: Build | ||
uses: gradle/gradle-build-action@v3 | ||
with: | ||
# codeQL requires a full before/after build to compare results. Caching can result in action failing | ||
#cache-read-only: true | ||
cache-disabled: true | ||
arguments: -x javadoc -x test build -PskipOpenTypesFVT | ||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v3.25.7 | ||
with: | ||
ram: 4096 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# Copyright Contributors to the ODPi Egeria project. | ||
--- | ||
name: "Merge v5" | ||
|
||
# Trigger after code is merged. only on main repo | ||
# - does not run on modification (may be just text) | ||
|
||
on: | ||
push: | ||
branches: [main, egeria-release-5*] | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
build: | ||
permissions: | ||
# for gh-pages | ||
contents: write | ||
runs-on: ubuntu-latest | ||
name: "Merge v5" | ||
if: startsWith(github.repository,'odpi/') | ||
steps: | ||
- uses: actions/checkout@v4.1.0 | ||
name: Checkout source | ||
- uses: gradle/wrapper-validation-action@v2 | ||
- name: Set up JDK | ||
uses: actions/setup-java@v4 | ||
with: | ||
java-version: '17' | ||
distribution: 'temurin' | ||
# Build first - lombok & other pre-processing may be needed. safer... | ||
- name: build and publish to maven central | ||
if: ${{ github.ref == 'refs/heads/main'}} | ||
uses: gradle/gradle-build-action@v3 | ||
with: | ||
cache-read-only: false | ||
arguments: build publish | ||
# Import secrets needed for code signing and distribution | ||
env: | ||
OSSRH_GPG_KEYID: ${{ secrets.OSSRH_GPG_KEYID }} | ||
OSSRH_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_PASSPHRASE }} | ||
OSSRH_GPG_PRIVATE_KEY: ${{ secrets.OSSRH_GPG_PRIVATE_KEY }} | ||
ORG_GRADLE_PROJECT_mavenRepoPass: ${{ secrets.OSSRH_TOKEN }} | ||
ORG_GRADLE_PROJECT_mavenRepoUser: ${{ secrets.OSSRH_USERNAME }} | ||
# In other cases just build but don't publish | ||
- name: build (no publish to maven central) | ||
if: ${{ github.ref != 'refs/heads/main'}} | ||
uses: gradle/gradle-build-action@v3 | ||
with: | ||
cache-read-only: false | ||
arguments: build | ||
# Now aggregate javadoc - main only | ||
- name: build | ||
if: ${{ github.ref == 'refs/heads/main'}} | ||
uses: gradle/gradle-build-action@v3 | ||
with: | ||
cache-read-only: false | ||
arguments: aggregateJavadoc | ||
- name: publish aggregate javadoc | ||
if: ${{ github.ref == 'refs/heads/main'}} | ||
uses: JamesIves/github-pages-deploy-action@v4 | ||
with: | ||
branch: gh-pages | ||
folder: build/docs/javadoc | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
- name: Login to container registry (Quay.io) | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: quay.io | ||
username: ${{ secrets.QUAY_IO_USERNAME }} | ||
password: ${{ secrets.QUAY_IO_ACCESS_TOKEN }} | ||
- name: Login to container registry (Docker Hub) | ||
uses: docker/login-action@v3 | ||
with: | ||
username: ${{ secrets.DOCKER_HUB_USERNAME }} | ||
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | ||
# QEMU is needed for ARM64 build for egeria-configure | ||
# egeria-configure needs to install utilities | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
- name: Set Release version env variable | ||
run: | | ||
echo "VERSION=$(./gradlew properties --no-daemon --console=plain -q | grep '^version:' | awk '{printf $2}')" >> $GITHUB_ENV | ||
# Publish container images(egeria) to quay.io and docker.io | ||
- name: Copy the distribution content to be used in docker copy command | ||
run: | | ||
cp -f release.application.properties ./open-metadata-distribution/omag-server-platform/build/unpacked/egeria-platform-${{ env.VERSION }}-distribution.tar.gz/assembly/platform/application.properties | ||
cp -r ./open-metadata-distribution/omag-server-platform/build/unpacked/egeria-platform-${{ env.VERSION }}-distribution.tar.gz/assembly/opt/sample-configs/*-* ./open-metadata-distribution/omag-server-platform/build/unpacked/egeria-platform-${{ env.VERSION }}-distribution.tar.gz/assembly/platform/data | ||
- name: Build and push(egeria) to quay.io and docker.io (tag latest only for main!) | ||
if: ${{ github.ref == 'refs/heads/main'}} | ||
uses: docker/build-push-action@v5 | ||
with: | ||
push: true | ||
tags: odpi/egeria:${{ env.VERSION }}, odpi/egeria:latest, quay.io/odpi/egeria:${{ env.VERSION }}, quay.io/odpi/egeria:latest | ||
context: ./open-metadata-deployment/omag-server-platform/build/unpacked/egeria-platform-${{ env.VERSION }}-distribution.tar.gz | ||
platforms: linux/amd64,linux/arm64 | ||
- name: Build and push(egeria) to quay.io and docker.io (no tag latest) | ||
if: ${{ github.ref != 'refs/heads/main'}} | ||
uses: docker/build-push-action@v5 | ||
with: | ||
push: true | ||
tags: odpi/egeria:${{ env.VERSION }}, quay.io/odpi/egeria:${{ env.VERSION }} | ||
context: ./open-metadata-deployment/omag-server-platform/build/unpacked/egeria-platform-${{ env.VERSION }}-distribution.tar.gz | ||
platforms: linux/amd64,linux/arm64 | ||
# Publish container images(egeria-configure) to quay.io and docker.io | ||
- name: Build and push(egeria-configure) to quay.io and docker.io (tag latest) | ||
if: ${{ github.ref == 'refs/heads/main'}} | ||
uses: docker/build-push-action@v5 | ||
with: | ||
push: true | ||
tags: odpi/egeria-configure:${{ env.VERSION }}, odpi/egeria-configure:latest, quay.io/odpi/egeria-configure:${{ env.VERSION }}, quay.io/odpi/egeria-configure:latest | ||
context: ./open-metadata-resources/open-metadata-deployment/docker/configure | ||
platforms: linux/amd64,linux/arm64 | ||
# -- | ||
# Publish container images(egeria-configure) to quay.io and docker.io | ||
- name: Build and push(egeria-configure) to quay.io and docker.io (no tag latest) | ||
if: ${{ github.ref != 'refs/heads/main'}} | ||
uses: docker/build-push-action@v5 | ||
with: | ||
push: true | ||
tags: odpi/egeria-configure:${{ env.VERSION }}, quay.io/odpi/egeria-configure:${{ env.VERSION }} | ||
context: ./open-metadata-resources/open-metadata-deployment/docker/configure | ||
platforms: linux/amd64,linux/arm64 | ||
# -- | ||
- name: Upload Log of any dependency failures | ||
uses: actions/upload-artifact@v4.3.1 | ||
with: | ||
name: Dependency Analysis Report (on failure) | ||
path: build/reports/dependency-analysis/build-health-report.txt | ||
if-no-files-found: ignore | ||
# Mostly for verification - not published to the release itself for now | ||
- name: Upload assemblies | ||
uses: actions/upload-artifact@v4.3.1 | ||
with: | ||
name: Assemblies | ||
path: open-metadata-distribution/omag-server-platform/build/distributions/*.gz | ||
- name: Upload Test coverage report | ||
uses: actions/upload-artifact@v4.3.1 | ||
with: | ||
name: Jacoco Coverage Report | ||
path: build/reports/jacoco/codeCoverageReport | ||
if-no-files-found: ignore |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# Copyright Contributors to the ODPi Egeria project. | ||
--- | ||
name: "Verify PR v5" | ||
|
||
on: | ||
pull_request: | ||
branches: [main, egeria-release-5*] | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
name: "Verify PR v5" | ||
if: startsWith(github.repository,'odpi/') | ||
steps: | ||
- uses: actions/checkout@v4.1.0 | ||
- uses: gradle/wrapper-validation-action@v2 | ||
- name: Set up JDK | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
- name: Build with Gradle | ||
uses: gradle/gradle-build-action@v3 | ||
with: | ||
# Only cache for main build | ||
cache-read-only: true | ||
arguments: | | ||
build | ||
--scan | ||
- name: Upload Test coverage report | ||
uses: actions/upload-artifact@v4.3.1 | ||
with: | ||
name: Jacoco Coverage Report | ||
path: build/reports/jacoco/codeCoverageReport | ||
- name: Upload Log of any dependency failures | ||
uses: actions/upload-artifact@v4.3.1 | ||
with: | ||
name: Dependency Analysis Report (on failure) | ||
path: build/reports/dependency-analysis/build-health-report.txt | ||
if-no-files-found: ignore |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# Copyright Contributors to the ODPi Egeria project. | ||
--- | ||
name: "Release v5" | ||
|
||
# Trigger when a Release is created in github | ||
# - does not run on modification (may be just text) | ||
|
||
on: | ||
# No checks for branch or repo - assuming release creation is manual, controlled | ||
release: | ||
types: | ||
- created | ||
branches: [main, egeria-release-5*] | ||
|
||
workflow_dispatch: | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
name: "Release" | ||
if: startsWith(github.repository,'odpi/') | ||
steps: | ||
- uses: actions/checkout@v4.1.0 | ||
name: Checkout source | ||
- uses: gradle/wrapper-validation-action@v2 | ||
# Prep for docker builds | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
- name: Login to container registry (Quay.io) | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: quay.io | ||
username: ${{ secrets.QUAY_IO_USERNAME }} | ||
password: ${{ secrets.QUAY_IO_ACCESS_TOKEN }} | ||
- name: Login to container registry (docker.io) | ||
uses: docker/login-action@v3 | ||
with: | ||
username: ${{ secrets.DOCKER_HUB_USERNAME }} | ||
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | ||
- name: Set up JDK 17 | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
- name: build and publish to maven central | ||
uses: gradle/gradle-build-action@v3 | ||
with: | ||
cache-read-only: false | ||
arguments: build publish -Dorg.gradle.parallel=false -Dorg.gradle.caching=false | ||
# Import secrets needed for code signing and distribution | ||
env: | ||
OSSRH_GPG_KEYID: ${{ secrets.OSSRH_GPG_KEYID }} | ||
OSSRH_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_PASSPHRASE }} | ||
OSSRH_GPG_PRIVATE_KEY: ${{ secrets.OSSRH_GPG_PRIVATE_KEY }} | ||
ORG_GRADLE_PROJECT_mavenRepoUrl: https://oss.sonatype.org/service/local/staging/deploy/maven2 | ||
ORG_GRADLE_PROJECT_mavenRepoPass: ${{ secrets.OSSRH_TOKEN }} | ||
ORG_GRADLE_PROJECT_mavenRepoUser: ${{ secrets.OSSRH_USERNAME }} | ||
# QEMU is needed for ARM64 build for egeria-configure | ||
# egeria-configure needs to install utilities | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
- name: Set Release version env variable | ||
run: | | ||
echo "VERSION=$(./gradlew properties --no-daemon --console=plain -q | grep '^version:' | awk '{printf $2}')" >> $GITHUB_ENV | ||
# Publish container images(egeria) to quay.io and docker.io | ||
- name: Copy the distribution content to be used in docker copy command | ||
run: | | ||
cp -f release.application.properties ./open-metadata-distribution/omag-server-platform/build/unpacked/egeria-platform-${{ env.VERSION }}-distribution.tar.gz/assembly/platform/application.properties | ||
cp -r ./open-metadata-distribution/omag-server-platform/build/unpacked/egeria-platform-${{ env.VERSION }}-distribution.tar.gz/assembly/opt/sample-configs/*-* ./open-metadata-distribution/omag-server-platform/build/unpacked/egeria-platform-${{ env.VERSION }}-distribution.tar.gz/assembly/platform/data | ||
- name: Build and push(egeria) to quay.io and docker.io | ||
uses: docker/build-push-action@v5 | ||
with: | ||
push: true | ||
tags: odpi/egeria:${{ env.VERSION }}, odpi/egeria:stable, quay.io/odpi/egeria:${{ env.VERSION }}, quay.io/odpi/egeria:stable | ||
context: ./open-metadata-deployment/omag-server-platform/build/unpacked/egeria-platform-${{ env.VERSION }}-distribution.tar.gz | ||
platforms: linux/amd64,linux/arm64 | ||
# Publish container images(egeria-configure) to quay.io and docker.io | ||
- name: Build and push(egeria-configure) to quay.io and docker.io | ||
uses: docker/build-push-action@v5 | ||
with: | ||
push: true | ||
tags: odpi/egeria-configure:${{ env.VERSION }}, odpi/egeria-configure:stable, quay.io/odpi/egeria-configure:${{ env.VERSION }}, quay.io/odpi/egeria-configure:stable | ||
context: ./open-metadata-resources/open-metadata-deployment/docker/configure | ||
platforms: linux/amd64,linux/arm64 | ||
# Mostly for verification - not published to the release itself for now | ||
- name: Upload assemblies | ||
uses: actions/upload-artifact@v4.3.1 | ||
with: | ||
name: Assemblies | ||
path: open-metadata-distribution/omag-server-platform/build/distributions/*.gz |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.