diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9f13490..852c75f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -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 - diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 62fe620..b03c649 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -2,7 +2,6 @@ name: Semgrep on: merge_group: - workflow_dispatch: pull_request_target: types: - opened @@ -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 @@ -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: diff --git a/.github/workflows/snyk.yml b/.github/workflows/snyk.yml new file mode 100644 index 0000000..081b8ca --- /dev/null +++ b/.github/workflows/snyk.yml @@ -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 }}