Skip to content

testing PR scans

testing PR scans #34

name: Pull Request
on:
pull_request:
branches: [main]
jobs:
build-docker-image:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Image
uses: docker/build-push-action@v5
with:
context: ./
tags: url-shortener:latest
outputs: type=docker,dest=/tmp/url-shortener.tar
- name: Save Docker Image
uses: actions/cache/save@v4
with:
path: /tmp/url-shortener.tar
key: ${{ runner.os }}-docker-images-${{ github.sha }}
pre-reqs:
runs-on: ubuntu-latest
needs:
- build-docker-image
steps:
- uses: actions/checkout@v4
- name: Add Docker to Host File
run: |
sudo echo "127.0.0.1 host.docker.internal" | sudo tee -a /etc/hosts
sudo cat /etc/hosts
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Install Dependencies
run: yarn --frozen-lockfile --no-progress --ignore-scripts
- name: Cache Docker Image
uses: actions/cache@v4
with:
path: /tmp/url-shortener.tar
key: ${{ runner.os }}-docker-images-${{ github.sha }}
- name: Load Docker Image
run: |
docker load --input /tmp/url-shortener.tar
scan-code:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Yarn Security Scan
run: yarn audit --audit-level=high
scan-container-iac:
runs-on: ubuntu-latest
needs:
- build-docker-image
steps:
- name: Cache Docker Image
uses: actions/cache@v4
with:
path: /tmp/url-shortener.tar
key: ${{ runner.os }}-docker-images-${{ github.sha }}
- name: Load Docker Image
run: |
docker load --input /tmp/url-shortener.tar
- name: Container Scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: url-shortener:latest
format: "table"
exit-code: "1"
ignore-unfixed: true
vuln-type: "os,library"
severity: "CRITICAL,HIGH"
- name: IaC Scanner
uses: aquasecurity/trivy-action@master
with:
format: "table"
exit-code: "1"
scan-type: "config"
ignore-unfixed: true
severity: "CRITICAL,HIGH,MEDIUM,LOW"