-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
GitHub Actions build for Simplatform repo
Signed-off-by: Jade Carino <[email protected]>
- Loading branch information
1 parent
dc512e5
commit 0fcd5fc
Showing
5 changed files
with
247 additions
and
0 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,128 @@ | ||
name: Main build | ||
|
||
on: | ||
workflow_dispatch: | ||
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-simplatform: | ||
name: Building Simplatform web application and tests | ||
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' | ||
|
||
- 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 deploy -X \ | ||
-Dgalasa.source.repo=https://development.galasa.dev/${{ env.BRANCH }}/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 deploy -X \ | ||
-Dgalasa.source.repo=https://development.galasa.dev/${{ env.BRANCH }}/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=${{ env.BRANCH }} | ||
- 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 | ||
- 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 |
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,81 @@ | ||
name: PR build | ||
|
||
on: | ||
pull_request: | ||
branches: [main] | ||
|
||
jobs: | ||
build-simplatform: | ||
name: Build Simplatform web application and tests | ||
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' | ||
|
||
- 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 deploy -X \ | ||
-Dgpg.skip=true \ | ||
-Dgalasa.source.repo=https://development.galasa.dev/main/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 deploy -X \ | ||
-Dgpg.skip=true \ | ||
-Dgalasa.source.repo=https://development.galasa.dev/main/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 |
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,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 |
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,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 |
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