diff --git a/.github/workflows/main-branch-push.yaml b/.github/workflows/main-branch-push.yaml
new file mode 100644
index 00000000000..66c8d6c119c
--- /dev/null
+++ b/.github/workflows/main-branch-push.yaml
@@ -0,0 +1,48 @@
+name: Main Branch build
+
+on:
+ push:
+ branches:
+ - 'master'
+
+env:
+ GOLANG_VERSION: 1.22
+ NODEJS_VERSION: 18
+ JAVA_VERSION_FULL_BUILD: 17
+ JAVA_VERSION_CLIENT_BUILD: 11
+ JAVA_DISTRO: temurin
+ JAVA_ARCH: x64
+
+jobs:
+ athenz-build:
+ runs-on: ubuntu-latest-4-cores
+ steps:
+ - name: Checkout repository
+ id: checkout
+ uses: actions/checkout@v4
+
+ - name: Setup Golang
+ id: setup-go
+ uses: actions/setup-go@v4
+ with:
+ go-version: ${{ env.GOLANG_VERSION }}
+
+ - name: Setup Node
+ id: setup-node
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ env.NODEJS_VERSION }}
+
+ - name: Setup Java
+ id: setup-java
+ uses: actions/setup-java@v4
+ with:
+ java-version: ${{ env.JAVA_VERSION_FULL_BUILD }}
+ distribution: ${{ env.JAVA_DISTRO }}
+ architecture: ${{ env.JAVA_ARCH }}
+
+ - name: Setup ZMS DB Schema file
+ run: cp servers/zms/schema/zms_server.sql servers/zms/src/test/resources/mysql
+
+ - name: Build Athenz
+ run: mvn -B install
diff --git a/.github/workflows/ossrh-publish.yaml b/.github/workflows/ossrh-publish.yaml
index b2617769a38..87146558ab5 100644
--- a/.github/workflows/ossrh-publish.yaml
+++ b/.github/workflows/ossrh-publish.yaml
@@ -7,14 +7,13 @@ on:
env:
GOLANG_VERSION: 1.22
- NODEJS_VERSION: 18
JAVA_VERSION_SERVER_BUILD: 17
JAVA_VERSION_CLIENT_BUILD: 11
JAVA_DISTRO: temurin
JAVA_ARCH: x64
jobs:
- server-publish:
+ client-publish:
runs-on: ubuntu-latest-4-cores
steps:
- name: Checkout repository
@@ -27,22 +26,16 @@ jobs:
with:
go-version: ${{ env.GOLANG_VERSION }}
- - name: Setup Node
- id: setup-node
- uses: actions/setup-node@v3
- with:
- node-version: ${{ env.NODEJS_VERSION }}
-
- name: Setup Java
id: setup-java
uses: actions/setup-java@v4
with:
- java-version: ${{ env.JAVA_VERSION_SERVER_BUILD }}
+ java-version: ${{ env.JAVA_VERSION_CLIENT_BUILD }}
distribution: ${{ env.JAVA_DISTRO }}
architecture: ${{ env.JAVA_ARCH }}
- - name: Build and Publish Server Modules
- run: actions/scripts/publish.sh server
+ - name: Build and Publish Client Modules
+ run: actions/scripts/publish.sh client
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
@@ -50,8 +43,9 @@ jobs:
MAVEN_GPG_KEY: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }}
PUBLISH_SKIP_PACKAGES: ${{ secrets.PUBLISH_SKIP_PACKAGES }}
- client-publish:
+ server-publish:
runs-on: ubuntu-latest-4-cores
+ needs: client-publish
steps:
- name: Checkout repository
id: checkout
@@ -67,12 +61,12 @@ jobs:
id: setup-java
uses: actions/setup-java@v4
with:
- java-version: ${{ env.JAVA_VERSION_CLIENT_BUILD }}
+ java-version: ${{ env.JAVA_VERSION_SERVER_BUILD }}
distribution: ${{ env.JAVA_DISTRO }}
architecture: ${{ env.JAVA_ARCH }}
- - name: Build and Publish Client Modules
- run: actions/scripts/publish.sh client
+ - name: Build and Publish Server Modules
+ run: actions/scripts/publish.sh server
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
diff --git a/README.md b/README.md
index 54b17d2173c..851dd494e4c 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,7 @@
# Athenz
+[![GitHub_Actions Workflow](https://github.com/AthenZ/athenz/actions/workflows/main-branch-push.yaml/badge.svg)](https://github.com/AthenZ/athenz/actions)
[![SourceSpy Dashboard](https://sourcespy.com/shield.svg)](https://sourcespy.com/github/athenzathenz/)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4681/badge)](https://bestpractices.coreinfrastructure.org/projects/4681)
[![Licenses](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2FAthenZ%2Fathenz.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2FAthenZ%2Fathenz?ref=badge_shield)
diff --git a/actions/scripts/publish.sh b/actions/scripts/publish.sh
index 9bc266c63d9..675206638ff 100755
--- a/actions/scripts/publish.sh
+++ b/actions/scripts/publish.sh
@@ -16,7 +16,7 @@ function deployProject ()
then
echo "Package $1 already published. Skipping..."
else
- until mvn -B deploy -P ossrh -Dmaven.test.skip=true --projects $1
+ until mvn -B deploy -P ossrh -Dmaven.test.skip=true --projects $1 --settings actions/settings/settings-publish.xml
do
[[ counter -eq $max_retry ]] && echo "Failed to deploy package $1" && exit 1
counter=$(( $counter + 1 ))
@@ -41,16 +41,19 @@ then
deployProject "com.yahoo.athenz:athenz-msd-java-client"
deployProject "com.yahoo.athenz:athenz-gcp-zts-creds"
else
- mvn -B --projects core/zms -Dmaven.test.skip=true install
- mvn -B --projects core/zts -Dmaven.test.skip=true install
- mvn -B --projects libs/java/auth_core -Dmaven.test.skip=true install
- mvn -B --projects libs/java/client_common -Dmaven.test.skip=true install
- mvn -B --projects libs/java/cert_refresher -Dmaven.test.skip=true install
- mvn -B --projects clients/java/zms -Dmaven.test.skip=true install
- mvn -B --projects clients/java/zts -Dmaven.test.skip=true install
+ mvn -B install --projects "com.yahoo.athenz:athenz" -Dmaven.test.skip=true
+ mvn -B install --projects "com.yahoo.athenz:athenz-zms-core" -Dmaven.test.skip=true
+ mvn -B install --projects "com.yahoo.athenz:athenz-zts-core" -Dmaven.test.skip=true
+ mvn -B install --projects "com.yahoo.athenz:athenz-msd-core" -Dmaven.test.skip=true
+ mvn -B install --projects "com.yahoo.athenz:athenz-auth-core" -Dmaven.test.skip=true
+ mvn -B install --projects "com.yahoo.athenz:athenz-client-common" -Dmaven.test.skip=true
+ mvn -B install --projects "com.yahoo.athenz:athenz-cert-refresher" -Dmaven.test.skip=true
+ mvn -B install --projects "com.yahoo.athenz:athenz-zms-java-client" -Dmaven.test.skip=true
+ mvn -B install --projects "com.yahoo.athenz:athenz-zts-java-client" -Dmaven.test.skip=true
deployProject "com.yahoo.athenz:athenz-server-common"
deployProject "com.yahoo.athenz:athenz-server-k8s-common"
+ deployProject "com.yahoo.athenz:athenz-dynamodb-client-factory"
deployProject "com.yahoo.athenz:athenz-server-aws-common"
- deployProject "com.yahoo.athenz:athenz-instance-provider"
deployProject "com.yahoo.athenz:athenz-syncer-common"
+ deployProject "com.yahoo.athenz:athenz-instance-provider"
fi
diff --git a/actions/settings/settings-publish.xml b/actions/settings/settings-publish.xml
new file mode 100644
index 00000000000..ee8a8fe6504
--- /dev/null
+++ b/actions/settings/settings-publish.xml
@@ -0,0 +1,9 @@
+
+
+
+ ossrh
+ ${env.OSSRH_USERNAME}
+ ${env.OSSRH_TOKEN}
+
+
+
diff --git a/pom.xml b/pom.xml
index 85f4d7ee291..ae1eb1d67ba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -150,14 +150,14 @@
libs/java/auth_core
libs/java/client_common
libs/java/cert_refresher
+ clients/java/zms
+ clients/java/zts
libs/java/server_common
libs/java/server_k8s_common
+ libs/java/dynamodb_client_factory
libs/java/server_aws_common
libs/java/syncer_common
libs/java/instance_provider
- libs/java/dynamodb_client_factory
- clients/java/zms
- clients/java/zts
clients/java/zpe
clients/java/msd
libs/java/gcp_zts_creds