Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
df222d3
feat: vote page — HTML and CSS
Apr 19, 2026
244b275
feat: result page — HTML and CSS
Apr 19, 2026
4591b13
feat: backend — app.py, server.js and app.js
Apr 19, 2026
e5b820d
feat: worker — Program.cs
Apr 19, 2026
307dafe
Merge pull request #1 from SCAGroup6/feature/ui-rebrand
ParanormalRave Apr 20, 2026
60b5aec
ci: update workflows to trigger on dev and push to scagroup6 GHCR
Faith-Olaoniye Apr 21, 2026
3eba76c
CI/CD modifications
Faith-Olaoniye Apr 21, 2026
05bc2ea
Merge pull request #2 from Faith-Olaoniye/feature/ci-pipeline
ParanormalRave Apr 21, 2026
760fa55
CI/CD modifications
Faith-Olaoniye Apr 21, 2026
a9a7019
Merge pull request #3 from Faith-Olaoniye/feature/ci-pipeline
ParanormalRave Apr 21, 2026
b746ebf
remove reusable workflow
Faith-Olaoniye Apr 22, 2026
9d3bd72
Merge pull request #4 from Faith-Olaoniye/feature/ci-pipeline
ParanormalRave Apr 22, 2026
c131c6e
Updating the docker username and token
ParanormalRave Apr 22, 2026
560e768
added buildx for the docker files
ParanormalRave Apr 22, 2026
608d3e6
Add restart policy
graciElla001 Apr 23, 2026
3d31a45
Merge branch 'dev' of https://github.com/SCAGroup6/example-voting-app…
graciElla001 Apr 23, 2026
0882433
Merge pull request #8 from SCAGroup6/feature/docker-update
ParanormalRave Apr 23, 2026
ca2d541
feat: add Terraform AWS infrastructure for voting app
AdaomaB Apr 24, 2026
3b197be
feat: add CloudWatch alarms for infrastructure monitoring
AdaomaB Apr 25, 2026
c7ba4dd
Add Prometheus, Grafana and Blackbox monitoring services
Rayverse-cloud Apr 26, 2026
5ea756f
Merge pull request #9 from SCAGroup6/mbata-blessing-adaoma
ParanormalRave Apr 26, 2026
860c2da
Merge branch 'dev' into racheal-monitoring
ParanormalRave Apr 26, 2026
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
90 changes: 32 additions & 58 deletions .github/workflows/call-docker-build-result.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,77 +5,51 @@ on:
# we want pull requests so we can build(test) but not push to image registry
push:
branches:
- 'main'
- 'dev'
# only build when important files change
paths:
- 'result/**'
- '.github/workflows/call-docker-build-result.yaml'
pull_request:
branches:
- 'main'
- 'dev'
# only build when important files change
paths:
- 'result/**'
- '.github/workflows/call-docker-build-result.yaml'

jobs:
call-docker-build:

name: Result Call Docker Build

uses: dockersamples/.github/.github/workflows/reusable-docker-build.yaml@main

permissions:
contents: read
packages: write # needed to push docker image to ghcr.io
pull-requests: write # needed to create and update comments in PRs

secrets:

# Only needed if with:dockerhub-enable is true below
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}

# Only needed if with:dockerhub-enable is true below
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}

with:

### REQUIRED
### ENABLE ONE OR BOTH REGISTRIES
### tell docker where to push.
### NOTE if Docker Hub is set to true, you must set secrets above and also add account/repo/tags below
dockerhub-enable: true
ghcr-enable: true

### REQUIRED
### A list of the account/repo names for docker build. List should match what's enabled above
### defaults to:
image-names: |
ghcr.io/dockersamples/example-voting-app-result
dockersamples/examplevotingapp_result

### REQUIRED set rules for tagging images, based on special action syntax:
### https://github.com/docker/metadata-action#tags-input
### defaults to:
tag-rules: |
type=raw,value=latest,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }}
type=raw,value=before,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }}
type=raw,value=after,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }}
type=ref,event=pr

### path to where docker should copy files into image
### defaults to root of repository (.)
context: result

### Dockerfile alternate name. Default is Dockerfile (relative to context path)
# file: Containerfile

### build stage to target, defaults to empty, which builds to last stage in Dockerfile
# target:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Log in to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

### platforms to build for, defaults to linux/amd64
### other options: linux/amd64,linux/arm64,linux/arm/v7
platforms: linux/amd64,linux/arm64,linux/arm/v7
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push result image
uses: docker/build-push-action@v5
with:
context: ./result
push: true
platforms: linux/amd64,linux/arm64,linux/arm/v7
tags: |
paranormalrave/shedeploys-result:latest
ghcr.io/scagroup6/example-voting-app-result:latest

### Create a PR comment with image tags and labels
### defaults to false
Expand Down
89 changes: 32 additions & 57 deletions .github/workflows/call-docker-build-vote.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,77 +5,52 @@ on:
# we want pull requests so we can build(test) but not push to image registry
push:
branches:
- 'main'
- 'dev'
# only build when important files change
paths:
- 'vote/**'
- '.github/workflows/call-docker-build-vote.yaml'
pull_request:
branches:
- 'main'
- 'dev'
# only build when important files change
paths:
- 'vote/**'
- '.github/workflows/call-docker-build-vote.yaml'

jobs:
call-docker-build:

name: Vote Call Docker Build

uses: dockersamples/.github/.github/workflows/reusable-docker-build.yaml@main

permissions:
contents: read
packages: write # needed to push docker image to ghcr.io
pull-requests: write # needed to create and update comments in PRs

secrets:

# Only needed if with:dockerhub-enable is true below
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}

# Only needed if with:dockerhub-enable is true below
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}

with:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Log in to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Log in to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

### REQUIRED
### ENABLE ONE OR BOTH REGISTRIES
### tell docker where to push.
### NOTE if Docker Hub is set to true, you must set secrets above and also add account/repo/tags below
dockerhub-enable: true
ghcr-enable: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build and push vote image
uses: docker/build-push-action@v5
with:
context: ./vote
push: true
platforms: linux/amd64,linux/arm64,linux/arm/v7
tags: |
paranormalrave/shedeploys-vote:latest
ghcr.io/scagroup6/example-voting-app-vote:latest

### REQUIRED
### A list of the account/repo names for docker build. List should match what's enabled above
### defaults to:
image-names: |
ghcr.io/dockersamples/example-voting-app-vote
dockersamples/examplevotingapp_vote

### REQUIRED set rules for tagging images, based on special action syntax:
### https://github.com/docker/metadata-action#tags-input
### defaults to:
tag-rules: |
type=raw,value=latest,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }}
type=raw,value=before,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }}
type=raw,value=after,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }}
type=ref,event=pr

### path to where docker should copy files into image
### defaults to root of repository (.)
context: vote

### Dockerfile alternate name. Default is Dockerfile (relative to context path)
# file: Containerfile

### build stage to target, defaults to empty, which builds to last stage in Dockerfile
# target:

### platforms to build for, defaults to linux/amd64
### other options: linux/amd64,linux/arm64,linux/arm/v7
platforms: linux/amd64,linux/arm64,linux/arm/v7

### Create a PR comment with image tags and labels
### defaults to false
Expand Down
92 changes: 33 additions & 59 deletions .github/workflows/call-docker-build-worker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,77 +5,51 @@ on:
# we want pull requests so we can build(test) but not push to image registry
push:
branches:
- 'main'
- 'dev'
# only build when important files change
paths:
- 'worker/**'
- '.github/workflows/call-docker-build-worker.yaml'
pull_request:
branches:
- 'main'
- 'dev'
# only build when important files change
paths:
- 'worker/**'
- '.github/workflows/call-docker-build-worker.yaml'

jobs:
call-docker-build:

name: Worker Call Docker Build

uses: dockersamples/.github/.github/workflows/reusable-docker-build.yaml@main

permissions:
contents: read
packages: write # needed to push docker image to ghcr.io
pull-requests: write # needed to create and update comments in PRs

secrets:

# Only needed if with:dockerhub-enable is true below
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}

# Only needed if with:dockerhub-enable is true below
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}

with:

### REQUIRED
### ENABLE ONE OR BOTH REGISTRIES
### tell docker where to push.
### NOTE if Docker Hub is set to true, you must set secrets above and also add account/repo/tags below
dockerhub-enable: true
ghcr-enable: true

### REQUIRED
### A list of the account/repo names for docker build. List should match what's enabled above
### defaults to:
image-names: |
ghcr.io/dockersamples/example-voting-app-worker
dockersamples/examplevotingapp_worker

### REQUIRED set rules for tagging images, based on special action syntax:
### https://github.com/docker/metadata-action#tags-input
### defaults to:
tag-rules: |
type=raw,value=latest,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }}
type=ref,event=pr

### path to where docker should copy files into image
### defaults to root of repository (.)
context: worker

### Dockerfile alternate name. Default is Dockerfile (relative to context path)
# file: Containerfile

### build stage to target, defaults to empty, which builds to last stage in Dockerfile
# target:

### platforms to build for, defaults to linux/amd64
### other options: linux/amd64,linux/arm64,linux/arm/v7
# FIXME worker arm/v7 support doesn't build in .net core 3.1 with QEMU
# a fix would likely run the .net build on amd64 but with a target of arm/v7
platforms: linux/amd64,linux/arm64,linux/arm/v7
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Log in to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Log in to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build and push worker image
uses: docker/build-push-action@v5
with:
context: ./worker
push: true
platforms: linux/amd64,linux/arm64,linux/arm/v7
tags: |
paranormalrave/shedeploys-worker:latest
ghcr.io/scagroup6/example-voting-app-worker:latest

### Create a PR comment with image tags and labels
### defaults to false
Expand Down
Loading