Skip to content

Commit

Permalink
ci: Updates to Workflows (#5)
Browse files Browse the repository at this point in the history
This PR makes improvements to the GitHub Workflow files for the
repository. The PR:

- Adds a Snyk workflow, based on feedback from the security review.

Please ignore check failures on the existing `build` and `semgrep`
workflows, as this PR modifies these. Merging this PR will resolve those
for future checks.

---------

Co-authored-by: Frederik Prijck <[email protected]>
  • Loading branch information
evansims and frederikprijck authored Nov 8, 2023
1 parent 6b3acb3 commit 7c707eb
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 12 deletions.
17 changes: 8 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,30 @@
name: Build
name: Build and Test

on:
workflow_dispatch:
push:
branches: [ main ]
branches: [main]
pull_request:
branches: [ main ]
branches: [main]

workflow_dispatch:

jobs:
build:
name: Build Package
runs-on: windows-2022

env:
Solution_Path: Sample\Auth0MauiApp.sln

steps:
- uses: actions/checkout@v4

- name: Install .NET Core
uses: actions/setup-dotnet@v3
with:
dotnet-version: '7.0.402'
dotnet-version: "7.0.402"

- name: Install .NET Workloads
run: dotnet workload install maui

- name: Build
run: dotnet build $env:Solution_Path --configuration Release

5 changes: 2 additions & 3 deletions .github/workflows/semgrep.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ name: Semgrep

on:
merge_group:
workflow_dispatch:
pull_request_target:
types:
- opened
Expand All @@ -29,7 +28,7 @@ jobs:
- run: true

check:
needs: authorize
needs: authorize # Require approval before running on forked pull requests

name: Check for Vulnerabilities
runs-on: ubuntu-latest
Expand All @@ -43,7 +42,7 @@ jobs:

- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.ref }}
ref: ${{ github.event.pull_request.merge_commit_sha || github.ref }}

- run: semgrep ci
env:
Expand Down
65 changes: 65 additions & 0 deletions .github/workflows/snyk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Snyk

on:
merge_group:
pull_request_target:
types:
- opened
- synchronize
push:
branches:
- main
schedule:
- cron: "30 0 1,15 * *"

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

jobs:
authorize:
name: Authorize
environment: ${{ github.actor != 'dependabot[bot]' && github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository && 'external' || 'internal' }}
runs-on: ubuntu-latest
steps:
- run: true

check:
needs: authorize # Require approval before running on forked pull requests

name: Check for Vulnerabilities
runs-on: windows-2022

steps:
- if: github.actor == 'dependabot[bot]' || github.event_name == 'merge_group'
run: exit 0 # Skip unnecessary test runs for dependabot and merge queues. Artifically flag as successful, as this is a required check for branch protection.

- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.merge_commit_sha || github.ref }}

- name: Install .NET Core
uses: actions/setup-dotnet@v3
with:
dotnet-version: "7.0.402"

- working-directory: Sample\Auth0MauiApp
run: dotnet restore

# Install Snyk
- run: npm install snyk -g

# Check that project is registered with Snyk when triggered from main branch
- if: github.ref == 'refs/heads/main'
run: snyk monitor --file=Sample\Auth0MauiApp.sln
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
continue-on-error: true

# Report vulnerabilities
- run: snyk test --file=Sample\Auth0MauiApp.sln
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}

0 comments on commit 7c707eb

Please sign in to comment.