Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
a592410
Add Gitleaks secrets scanning workflow
Yaa-K Aug 18, 2026
499e064
Merge pull request #1 from Yaa-K/feature/gitleaks-scan
Yaa-K Aug 18, 2026
b70a95d
Add build and test workflow for vote, result, and worker services
Yaa-K Aug 18, 2026
a96e603
Merge pull request #2 from Yaa-K/feature/build-test
Yaa-K Aug 18, 2026
c59772d
Add Trivy SCA scanning workflow
Yaa-K Aug 18, 2026
ae489dd
Fix HIGH vulnerabilities in transitive npm dependencies via overrides
Yaa-K Aug 19, 2026
59c4a87
Remove pre-existing DockerHub push workflow bundled with original repo
Yaa-K Aug 19, 2026
1e2b1a4
Merge pull request #4 from Yaa-K/chore/remove-bundled-workflow
Yaa-K Aug 19, 2026
73f5004
Add SonarCloud SAST scanning with quality gate
Yaa-K Aug 19, 2026
528b5a5
Fix empty SAST workflow file
Yaa-K Aug 19, 2026
2d5abf6
Add missing sonar-project.properties with org and project keys
Yaa-K Aug 19, 2026
71afbe7
Fix organization key casing in sonar-project.properties
Yaa-K Aug 19, 2026
314f89b
Switch to actively maintained SonarQube Scan Action, pinned to SHA
Yaa-K Aug 20, 2026
507d242
Switch to actively maintained SonarQube Scan Action, pinned to SHA
Yaa-K Aug 20, 2026
12f431d
Switch to actively maintained SonarQube Scan Action, pinned to SHA
Yaa-K Aug 20, 2026
d82acb2
replace deprecated sonarcloud-github-action, pin to SHA
Yaa-K Aug 20, 2026
84d0c75
Merge pull request #5 from Yaa-K/feature/sast-sonarcloud
Yaa-K Aug 20, 2026
4c6e4ab
restore SonarCloud reporting by adding SONAR_HOST_URL
Yaa-K Aug 20, 2026
5e9996c
Merge pull request #6 from Yaa-K/feature/sast-sonarcloud
Yaa-K Aug 20, 2026
0ebd659
Retrigger SonarCloud analysis after fixing visibility/binding
Yaa-K Aug 22, 2026
80e4c28
Merge pull request #7 from Yaa-K/feature/sast-sonarcloud
Yaa-K Aug 22, 2026
c13c5b4
Retrigger SonarCloud analysis after fixing visibility/binding
Yaa-K Aug 22, 2026
1cb86de
Merge pull request #8 from Yaa-K/feature/sast-sonarcloud
Yaa-K Aug 22, 2026
c1762f9
Retrigger analysis after recreating SonarCloud project with correct m…
Yaa-K Aug 22, 2026
ee1b51a
Merge pull request #10 from Yaa-K/chore/recreate-sonarcloud-project
Yaa-K Aug 22, 2026
fa59582
Add container build and image scanning workflow
Yaa-K Aug 22, 2026
21636fb
Fix container vulnerabilities: update base image to bookworm-slim, bu…
Yaa-K Aug 22, 2026
fd1b230
Upgrade pip/setuptools/wheel to fix jaraco.context and wheel CVEs
Yaa-K Aug 22, 2026
abd6a08
Upgrade result service base image from EOL Node 18 to Node 22 (curren…
Yaa-K Aug 22, 2026
35fa708
Add fail-fast: false so one service's scan failure doesn't cancel the…
Yaa-K Aug 22, 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
46 changes: 46 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Build and Test

on:
push:
pull_request:

jobs:
vote-service:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./vote
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install -r requirements.txt
- run: echo "No test suite in this sample app — build/install verified"

result-service:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./result
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm install
- run: echo "No test suite in this sample app — build/install verified"

worker-service:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./worker
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '7.0.x'
- run: dotnet restore
- run: dotnet build --configuration Release
- run: echo "No test suite in this sample app — build verified"
82 changes: 0 additions & 82 deletions .github/workflows/call-docker-build-result.yaml

This file was deleted.

82 changes: 0 additions & 82 deletions .github/workflows/call-docker-build-vote.yaml

This file was deleted.

82 changes: 0 additions & 82 deletions .github/workflows/call-docker-build-worker.yaml

This file was deleted.

25 changes: 25 additions & 0 deletions .github/workflows/container-scan.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Container Build and Scan

on:
push:
pull_request:

jobs:
build-and-scan:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
service: [vote, result, worker]
steps:
- uses: actions/checkout@v4

- name: Build image
run: docker build -t ${{ matrix.service }}:scan-test ./${{ matrix.service }}

- name: Scan image with Trivy
uses: aquasecurity/trivy-action@master
with:
image-ref: '${{ matrix.service }}:scan-test'
severity: 'CRITICAL,HIGH'
exit-code: '1'
21 changes: 21 additions & 0 deletions .github/workflows/sast-scan.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: SAST Scan

on:
push:
branches: [main]
pull_request:

jobs:
sonarcloud:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: SonarCloud Scan
uses: SonarSource/sonarqube-scan-action@a31c9398be7ace6bbfaf30c0bd5d415f843d45e9 # v7.0.0
env:
SONAR_HOST_URL: https://sonarcloud.io
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
19 changes: 19 additions & 0 deletions .github/workflows/sca-scan.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: SCA Scan

on:
push:
pull_request:

jobs:
trivy-fs-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Run Trivy filesystem scan
uses: aquasecurity/trivy-action@master
with:
scan-type: 'fs'
scan-ref: '.'
severity: 'CRITICAL,HIGH'
exit-code: '1'
19 changes: 19 additions & 0 deletions .github/workflows/secrets-scan.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Secrets Scan

on:
push:
pull_request:

jobs:
gitleaks:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Run Gitleaks
uses: gitleaks/gitleaks-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion result/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:18-slim
FROM node:22-bookworm-slim

# add curl for healthcheck
RUN apt-get update && \
Expand Down
Loading