Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added main and PR build workflows along with test report generation/uploading, Updated java version #161

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 122 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: Main Build

on:
push:
branches: [main]

env:
REGISTRY: ghcr.io
NAMESPACE: galasa-dev

jobs:
build-simplatform:
name: Building Simplatform
runs-on: ubuntu-latest

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

- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'semeru'
cache: maven

- name: Print Githash
run: |
echo $GITHUB_SHA > ./simplatform.githash

- name: Building galasa-simplatform-application using maven
run: |
set -o pipefail
mvn -f galasa-simplatform-application/pom.xml -X deploy \
-Dgalasa.source.repo=https://development.galasa.dev/gh/maven-repo/obr \
-Dgalasa.central.repo=https://repo.maven.apache.org/maven2/ \
-Dgalasa.release.repo=file:${{ github.workspace }}/repo \
--batch-mode --errors --fail-at-end \
--settings ${{github.workspace}}/settings.xml 2>&1 | tee galasa-simplatform-application-build.log

- name: Upload galasa-simplatform-application Maven Build Log
if: failure()
uses: actions/upload-artifact@v4
with:
name: galasa-simplatform-application-build-log
path: galasa-simplatform-application-build.log
retention-days: 7

- name: Building galasa-simbank-tests using maven
run: |
set -o pipefail
mvn -f galasa-simbank-tests/pom.xml -X deploy \
-Dgalasa.source.repo=https://development.galasa.dev/gh/maven-repo/obr \
-Dgalasa.central.repo=https://repo.maven.apache.org/maven2/ \
-Dgalasa.release.repo=file:${{ github.workspace }}/repo \
--batch-mode --errors --fail-at-end \
--settings ${{github.workspace}}/settings.xml 2>&1 | tee galasa-simbank-tests-build.log

- name: Upload galasa-simbank-tests Maven Build Log
if: failure()
uses: actions/upload-artifact@v4
with:
name: galasa-simbank-tests-build-log
path: galasa-simbank-tests-build.log
retention-days: 7

- 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 Simplatform maven artefacts image
id: metadata-simplatform
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: ${{ env.REGISTRY }}/${{ env.NAMESPACE }}/simplatform-maven-artefacts

- name: Build Simplatform image for development Maven registry
id: build-simplatform
uses: docker/build-push-action@v5
with:
context: .
file: dockerfiles/dockerfile.simplatform
push: true
tags: ${{ steps.metadata-simplatform.outputs.tags }}
labels: ${{ steps.metadata-simplatform.outputs.labels }}
build-args: |
baseVersion=latest
dockerRepository=ghcr.io
branch=main

- name: Extract metadata for Simplatform jar image
id: metadata-simplatform-jar
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: ${{ env.REGISTRY }}/${{ env.NAMESPACE }}/simplatform-jar

- name: Build simplatform jar image
id: build-simplatform-jar
uses: docker/build-push-action@v5
with:
context: .
file: dockerfiles/dockerfile.simplatform-amd64
push: true
tags: ${{ steps.metadata-simplatform-jar.outputs.tags }}
labels: ${{ steps.metadata-simplatform-jar.outputs.labels }}

- 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 gh-simplatform restart --kind Deployment --resource-name simplatform-gh --server argocd.galasa.dev

# Wait for the application to show as healthy in ArgoCD
- 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 gh-simplatform --resource apps:Deployment:simplatform-gh --health --server argocd.galasa.dev

81 changes: 81 additions & 0 deletions .github/workflows/pr-build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: PR Build

on:
pull_request:
branches: [main]

jobs:
build-simplatform:
name: Building Simplatform
runs-on: ubuntu-latest

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

- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'semeru'
cache: maven

- name: Print Githash
run: |
echo $GITHUB_SHA > ./simplatform.githash

- name: Building galasa-simplatform-application using maven
run: |
set -o pipefail
mvn -f galasa-simplatform-application/pom.xml -X deploy -Dgpg.skip=true \
-Dgalasa.source.repo=https://development.galasa.dev/gh/maven-repo/obr \
-Dgalasa.central.repo=https://repo.maven.apache.org/maven2/ \
-Dgalasa.release.repo=file:${{ github.workspace }}/repo \
--batch-mode --errors --fail-at-end \
--settings ${{github.workspace}}/settings.xml 2>&1 | tee galasa-simplatform-application-build.log

- name: Upload galasa-simplatform-application Maven Build Log
if: failure()
uses: actions/upload-artifact@v4
with:
name: galasa-simplatform-application-build-log
path: galasa-simplatform-application-build.log
retention-days: 7

- name: Building galasa-simbank-tests using maven
run: |
set -o pipefail
mvn -f galasa-simbank-tests/pom.xml -X deploy -Dgpg.skip=true \
-Dgalasa.source.repo=https://development.galasa.dev/gh/maven-repo/obr \
-Dgalasa.central.repo=https://repo.maven.apache.org/maven2/ \
-Dgalasa.release.repo=file:${{ github.workspace }}/repo \
--batch-mode --errors --fail-at-end \
--settings ${{github.workspace}}/settings.xml 2>&1 | tee galasa-simbank-tests-build.log

- name: Upload galasa-simbank-tests Maven Build Log
if: failure()
uses: actions/upload-artifact@v4
with:
name: galasa-simbank-tests-build-log
path: galasa-simbank-tests-build.log
retention-days: 7

- name: Build Simplatform image for testing
uses: docker/build-push-action@v5
with:
context: .
file: dockerfiles/dockerfile.simplatform
load: true
tags: simplatform-maven-artefacts:test
build-args: |
baseVersion=latest
dockerRepository=ghcr.io
branch=main

- name: Build Simplatform jar image for testing
uses: docker/build-push-action@v5
with:
context: .
file: dockerfiles/dockerfile.simplatform-amd64
load: true
tags: simplatform-jar:test
11 changes: 11 additions & 0 deletions dockerfiles/dockerfile.simplatform
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
ARG baseVersion
ARG dockerRepository
FROM ${dockerRepository}/galasa-dev/base-image:${baseVersion}

ARG branch

RUN sed -i "s/--branchname--/${branch}/" /usr/local/apache2/conf/httpd.conf
RUN sed -i 's/--repositoryname--/simplatform/' /usr/local/apache2/conf/httpd.conf

COPY repo/ /usr/local/apache2/htdocs/
COPY simplatform.githash /usr/local/apache2/htdocs/simplatform.githash
20 changes: 20 additions & 0 deletions dockerfiles/dockerfile.simplatform-amd64
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
FROM harbor.galasa.dev/docker_proxy_cache/library/openjdk:11-jdk

RUN mkdir /galasa

RUN useradd -u 1000 -d /galasa galasa && \
chown -R galasa:galasa /galasa

WORKDIR /galasa

USER galasa

COPY galasa-simplatform-application/galasa-simplatform-3270/target/galasa-simplatform-0.24.0.jar /galasa/simplatform.jar

VOLUME /galasa/.galasa
VOLUME /galasa/load

EXPOSE 2080/tcp
EXPOSE 2023/tcp
EXPOSE 2027/tcp
EXPOSE 2040/tcp
Loading