Skip to content

Commit 20cc4f2

Browse files
committed
Merge branch 'main' into dkalinin/macos-ci
2 parents d042fcb + ce2f1ff commit 20cc4f2

File tree

79 files changed

+3638
-1015
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+3638
-1015
lines changed

.github/dependabot.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
# Limit number of open PRs to 0 so that we only get security updates
5+
# See https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates
6+
open-pull-requests-limit: 0
7+
directory: /
8+
schedule:
9+
interval: weekly
10+
groups:
11+
github-actions-dependency:
12+
applies-to: version-updates
13+
patterns:
14+
- "*"
15+
16+
- package-ecosystem: pub
17+
directory: /
18+
open-pull-requests-limit: 0
19+
schedule:
20+
interval: weekly

.github/workflows/linux-build.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,10 @@ jobs:
136136
path: ./flutter/
137137

138138
# Step 6: Update release
139-
- name: Linux Release
140-
uses: softprops/action-gh-release@v1
141-
if: startsWith(github.ref, 'refs/tags/')
142-
env:
143-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
144-
with:
145-
files: ${{ env.SANITIZED_FILENAME }}
139+
# - name: Linux Release
140+
# uses: softprops/action-gh-release@v1
141+
# if: startsWith(github.ref, 'refs/tags/')
142+
# env:
143+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
144+
# with:
145+
# files: ${{ env.SANITIZED_FILENAME }}
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
name: "Security scan"
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "0 0 * * *"
7+
push:
8+
branches:
9+
- main
10+
11+
permissions: {}
12+
13+
jobs:
14+
Trivy:
15+
runs-on: ubuntu-22.04
16+
steps:
17+
- name: Checkout repository
18+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
19+
20+
- name: Run Trivy Scan (vuln)
21+
uses: aquasecurity/trivy-action@18f2510ee396bbf400402947b394f2dd8c87dbb0 # v0.29.0
22+
with:
23+
scan-type: fs
24+
scan-ref: pubspec.lock
25+
scanners: vuln
26+
output: trivy-results-vuln.txt
27+
28+
- name: Run Trivy Scan (misconfigs and secrets)
29+
uses: aquasecurity/trivy-action@18f2510ee396bbf400402947b394f2dd8c87dbb0 # v0.29.0
30+
with:
31+
scan-type: fs
32+
scan-ref: .
33+
scanners: misconfig,secret
34+
output: trivy-results-misconfig.txt
35+
36+
- name: Run Trivy Scan (spdx)
37+
uses: aquasecurity/trivy-action@18f2510ee396bbf400402947b394f2dd8c87dbb0 # 0.29.0
38+
with:
39+
scan-type: fs
40+
scan-ref: .
41+
format: spdx-json
42+
output: trivy-results-spdx.json
43+
44+
- name: Upload Trivy results
45+
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
46+
if: always()
47+
with:
48+
name: trivy-results
49+
path: "${{ github.workspace }}/trivy-results-*"
50+
retention-days: 7
51+
52+
CodeQL:
53+
name: Analyze (${{ matrix.language }})
54+
runs-on: ubuntu-22.04
55+
permissions:
56+
# Needed to upload the SARIF results to code-scanning dashboard
57+
security-events: write
58+
59+
strategy:
60+
fail-fast: false
61+
matrix:
62+
include:
63+
- language: actions # to scan workflows
64+
build-mode: none
65+
steps:
66+
- name: Checkout repository
67+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
68+
69+
- name: Initialize CodeQL
70+
uses: github/codeql-action/init@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
71+
with:
72+
languages: ${{ matrix.language }}
73+
build-mode: ${{ matrix.build-mode }}
74+
75+
- name: Perform CodeQL Analysis
76+
uses: github/codeql-action/analyze@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
77+
with:
78+
category: "/language:${{matrix.language}}"
79+
80+
Summarize:
81+
needs: [Trivy]
82+
if: always()
83+
runs-on: ubuntu-22.04
84+
steps:
85+
# Create directory first
86+
- name: Create results directory
87+
run: mkdir -p all-results
88+
89+
# Download artifacts with error handling
90+
- name: Download all results
91+
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
92+
continue-on-error: true # Don't fail if some tools didn't generate results
93+
with:
94+
pattern: "*-results"
95+
merge-multiple: true
96+
path: all-results
97+
98+
# Only upload if there are files
99+
- name: Upload combined results
100+
if: hashFiles('all-results/**/*') != ''
101+
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
102+
with:
103+
name: security-scan-results
104+
path: all-results
105+
retention-days: 7

0 commit comments

Comments
 (0)