CI Pipeline #3618
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
# Purpose: Run the CI/CD pipeline that tests, packages, and publishes ScubaGear. | |
# Note: This pipeline is a work in progress. At the moment, it is only doing linting, syntax checking, security scanning, and unit testing. | |
name: CI Pipeline | |
on: | |
push: | |
paths-ignore: | |
- '.github/workflows/**' | |
- '.github/actions/**' | |
- 'Testing/workflow/**' | |
- 'utils/workflow/**' | |
pull_request: | |
workflow_dispatch: | |
permissions: read-all | |
jobs: | |
# Lint and Syntax Checks | |
lint-yaml: | |
name: Lint | |
uses: ./.github/workflows/lint_yaml.yaml | |
lint-powershell: | |
name: Lint | |
uses: ./.github/workflows/lint_powershell.yaml | |
syntax-markdown: | |
name: Syntax | |
uses: ./.github/workflows/syntax_check_markdown.yaml | |
# Security Checks | |
scan-secret: | |
name: Security | |
needs: | |
- lint-yaml | |
- lint-powershell | |
- syntax-markdown | |
uses: ./.github/workflows/run_secret_scan.yaml | |
check-security: | |
name: Security | |
needs: | |
- lint-yaml | |
- lint-powershell | |
- syntax-markdown | |
uses: ./.github/workflows/check_security.yaml | |
# Unit Tests | |
unit-powershell: | |
name: Unit | |
needs: | |
- scan-secret | |
- check-security | |
uses: ./.github/workflows/unit_test_powershell.yaml | |
unit-opa: | |
name: Unit | |
needs: | |
- scan-secret | |
- check-security | |
uses: ./.github/workflows/unit_test_opa.yaml |