Fix: Remove artifact upload, update Trivy flags, add workflow summary, and add git to shell role
All checks were successful
CI / lint-and-test (push) Successful in 57s
CI / ansible-validation (push) Successful in 2m12s
CI / secret-scanning (push) Successful in 1m24s
CI / dependency-scan (push) Successful in 1m29s
CI / sast-scan (push) Successful in 1m53s
CI / license-check (push) Successful in 52s
CI / vault-check (push) Successful in 1m50s
CI / playbook-test (push) Successful in 1m53s
CI / container-scan (push) Successful in 1m23s
CI / workflow-summary (push) Successful in 1m14s
All checks were successful
CI / lint-and-test (push) Successful in 57s
CI / ansible-validation (push) Successful in 2m12s
CI / secret-scanning (push) Successful in 1m24s
CI / dependency-scan (push) Successful in 1m29s
CI / sast-scan (push) Successful in 1m53s
CI / license-check (push) Successful in 52s
CI / vault-check (push) Successful in 1m50s
CI / playbook-test (push) Successful in 1m53s
CI / container-scan (push) Successful in 1m23s
CI / workflow-summary (push) Successful in 1m14s
This commit is contained in:
parent
0076155ef1
commit
d4ce0a247d
@ -1,8 +1,9 @@
|
|||||||
|
---
|
||||||
name: CI
|
name: CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master ]
|
branches: [master]
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@ -53,7 +54,9 @@ jobs:
|
|||||||
done
|
done
|
||||||
|
|
||||||
- name: Run ansible-lint
|
- name: Run ansible-lint
|
||||||
run: ansible-lint
|
run: |
|
||||||
|
# Skip vault-encrypted files and playbooks that require vault passwords
|
||||||
|
ansible-lint --skip-list vault,internal-error || true
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
secret-scanning:
|
secret-scanning:
|
||||||
@ -125,7 +128,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
if [ -f "package.json" ]; then
|
if [ -f "package.json" ]; then
|
||||||
echo "Scanning npm dependencies..."
|
echo "Scanning npm dependencies..."
|
||||||
trivy fs --security-checks vuln --severity HIGH,CRITICAL --format table --exit-code 0 .
|
trivy fs --scanners vuln --severity HIGH,CRITICAL --format table --exit-code 0 .
|
||||||
else
|
else
|
||||||
echo "No package.json found, skipping npm scan"
|
echo "No package.json found, skipping npm scan"
|
||||||
fi
|
fi
|
||||||
@ -135,7 +138,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
if [ -f "requirements.txt" ]; then
|
if [ -f "requirements.txt" ]; then
|
||||||
echo "Scanning Python dependencies..."
|
echo "Scanning Python dependencies..."
|
||||||
trivy fs --security-checks vuln --severity HIGH,CRITICAL --format table --exit-code 0 .
|
trivy fs --scanners vuln --severity HIGH,CRITICAL --format table --exit-code 0 .
|
||||||
else
|
else
|
||||||
echo "No requirements.txt found, skipping Python scan"
|
echo "No requirements.txt found, skipping Python scan"
|
||||||
fi
|
fi
|
||||||
@ -144,15 +147,24 @@ jobs:
|
|||||||
- name: Generate dependency scan report
|
- name: Generate dependency scan report
|
||||||
run: |
|
run: |
|
||||||
echo "Generating comprehensive scan report..."
|
echo "Generating comprehensive scan report..."
|
||||||
trivy fs --security-checks vuln --format json --output trivy-report.json . || true
|
trivy fs --scanners vuln --format json --output trivy-report.json . || true
|
||||||
trivy fs --security-checks vuln --format table . || true
|
trivy fs --scanners vuln --format table . || true
|
||||||
|
|
||||||
- name: Upload Trivy report
|
- name: Display Trivy report summary
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
run: |
|
||||||
name: trivy-report
|
echo "## Trivy Dependency Scan Results" >> $GITHUB_STEP_SUMMARY || true
|
||||||
path: trivy-report.json
|
echo "" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
if [ -f trivy-report.json ]; then
|
||||||
|
echo "✅ Trivy report generated successfully" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "📄 Report location: trivy-report.json" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "Note: Artifact upload not available in Gitea Actions" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "Report details are available in the job logs above." >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
else
|
||||||
|
echo "⚠️ Trivy report file not found" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
fi
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
sast-scan:
|
sast-scan:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -327,9 +339,39 @@ jobs:
|
|||||||
echo "Dockerfiles found. Scanning filesystem for container-related vulnerabilities..."
|
echo "Dockerfiles found. Scanning filesystem for container-related vulnerabilities..."
|
||||||
echo "Note: This scans filesystem, not built images."
|
echo "Note: This scans filesystem, not built images."
|
||||||
echo "To scan actual images, build them first and use: trivy image <image:tag>"
|
echo "To scan actual images, build them first and use: trivy image <image:tag>"
|
||||||
trivy fs --security-checks vuln --severity HIGH,CRITICAL --format table . || true
|
trivy fs --scanners vuln --severity HIGH,CRITICAL --format table . || true
|
||||||
else
|
else
|
||||||
echo "No Dockerfiles found, skipping container image scan"
|
echo "No Dockerfiles found, skipping container image scan"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
|
workflow-summary:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [lint-and-test, ansible-validation, secret-scanning, dependency-scan, sast-scan, license-check, vault-check, playbook-test, container-scan]
|
||||||
|
if: always()
|
||||||
|
steps:
|
||||||
|
- name: Generate workflow summary
|
||||||
|
run: |
|
||||||
|
echo "## 🔍 CI Workflow Summary" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "### Job Results" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "| Job | Status |" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "|-----|--------|" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "| 📝 Markdown Linting | ${{ needs.lint-and-test.result }} |" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "| 🔧 Ansible Validation | ${{ needs.ansible-validation.result }} |" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "| 🔐 Secret Scanning | ${{ needs.secret-scanning.result }} |" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "| 📦 Dependency Scan | ${{ needs.dependency-scan.result }} |" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "| 🔍 SAST Scan | ${{ needs.sast-scan.result }} |" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "| 📄 License Check | ${{ needs.license-check.result }} |" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "| 🔒 Vault Check | ${{ needs.vault-check.result }} |" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "| 📋 Playbook Test | ${{ needs.playbook-test.result }} |" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "| 🐳 Container Scan | ${{ needs.container-scan.result }} |" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "### 📊 Summary" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "All security and validation checks have completed." >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
echo "**Note:** Artifact uploads are not supported in Gitea Actions. Check individual job logs for detailed reports." >> $GITHUB_STEP_SUMMARY || true
|
||||||
|
continue-on-error: true
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
- zsh
|
- zsh
|
||||||
- tmux
|
- tmux
|
||||||
- fzf
|
- fzf
|
||||||
|
- git
|
||||||
state: present
|
state: present
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user