22
22
jobs :
23
23
analyze :
24
24
name : Analyze (csharp)
25
-
25
+
26
26
runs-on : ' ubuntu-latest'
27
27
timeout-minutes : 360
28
28
permissions :
35
35
# only required for workflows in private repositories
36
36
actions : read
37
37
contents : read
38
-
38
+
39
39
steps :
40
40
- name : Checkout repository
41
41
uses : actions/checkout@v4
@@ -59,43 +59,43 @@ jobs:
59
59
--update-remote-user-uid-default on \
60
60
--mount-workspace-git-root true
61
61
echo $?
62
-
62
+
63
63
- name : install-codeql
64
64
shell : bash
65
65
run : |
66
66
CONTAINER_NAME="hostsvc-link"
67
-
67
+
68
68
# Determine the latest release version of CodeQL CLI
69
69
docker exec $CONTAINER_NAME bash -c "curl -s https://api.github.com/repos/github/codeql-cli-binaries/releases/latest | grep 'tag_name' | awk '{print substr(\$2, 2, length(\$2)-3)}'" > latest_release.txt
70
70
LATEST_RELEASE=$(<latest_release.txt)
71
-
71
+
72
72
# Define the download URL and target directory
73
73
DOWNLOAD_URL="https://github.com/github/codeql-cli-binaries/releases/download/${LATEST_RELEASE}/codeql-linux64.zip"
74
74
TARGET_DIR="/root/codeql" # Adjust the target directory as per the container's file system
75
75
ZIP_FILE="$TARGET_DIR/codeql.zip"
76
-
76
+
77
77
# Create target directory if it doesn't exist
78
78
docker exec $CONTAINER_NAME bash -c "mkdir -p $TARGET_DIR"
79
-
79
+
80
80
# Download the latest release of CodeQL CLI
81
81
echo "Downloading CodeQL CLI ${LATEST_RELEASE}..."
82
82
docker exec $CONTAINER_NAME bash -c "curl -L '$DOWNLOAD_URL' -o '$ZIP_FILE'"
83
-
83
+
84
84
# Extract the downloaded zip file
85
85
echo "Extracting CodeQL CLI..."
86
86
docker exec $CONTAINER_NAME bash -c "unzip -o '$ZIP_FILE' -d '$TARGET_DIR'"
87
-
87
+
88
88
# Clean up the zip file
89
89
docker exec $CONTAINER_NAME bash -c "rm '$ZIP_FILE'"
90
-
90
+
91
91
# Find the correct path to the codeql executable and update the PATH or use it directly in subsequent commands
92
92
# This step is crucial and might need adjustment based on the actual structure of the CodeQL CLI zip file
93
93
# Assuming codeql is in /root/codeql/codeql after extraction
94
94
EXECUTABLE_PATH="/root/codeql/codeql/codeql"
95
-
95
+
96
96
# Optionally, update the PATH in a way that's guaranteed to work for non-interactive shells
97
97
docker exec $CONTAINER_NAME bash -c "echo 'export PATH=\$PATH:$EXECUTABLE_PATH' > /etc/profile.d/codeql.sh"
98
-
98
+
99
99
echo "CodeQL CLI installation completed."
100
100
101
101
- name : restore-projects
@@ -128,9 +128,9 @@ jobs:
128
128
docker exec $container_name bash -c "bash /root/codeql/codeql/codeql database trace-command $database_name dotnet restore $cs_proj_name"
129
129
echo ""
130
130
131
- echo "Trace commands dotnet build..."
132
- docker exec $container_name bash -c "bash /root/codeql/codeql/codeql database trace-command $database_name dotnet build $cs_proj_name"
133
- echo ""
131
+ # echo "Trace commands dotnet build..."
132
+ # docker exec $container_name bash -c "bash /root/codeql/codeql/codeql database trace-command $database_name dotnet build $cs_proj_name"
133
+ # echo ""
134
134
135
135
echo "Database finalize..."
136
136
docker exec $container_name bash -c "bash /root/codeql/codeql/codeql database finalize $database_name"
@@ -140,8 +140,10 @@ jobs:
140
140
docker exec $container_name bash -c "bash /root/codeql/codeql/codeql resolve qlpacks"
141
141
echo ""
142
142
143
- echo "Database Query..."
144
- docker exec $container_name bash -c "bash /root/codeql/codeql/codeql database analyze $database_name codeql/csharp-queries codeql/csharp-solorigate-queries githubsecuritylab/codeql-csharp-queries --format=sarif-latest --output=/var/spacedev/tmp/analysis-results.sarif"
143
+ docker exec $container_name bash -c "bash /root/codeql/codeql/codeql database create $database_name --language=csharp --command='dotnet build $cs_proj_name' && bash /root/codeql/codeql/codeql database analyze $database_name codeql/csharp-queries codeql/csharp-solorigate-queries githubsecuritylab/codeql-csharp-queries --format=sarif-latest --output=/var/spacedev/tmp/analysis-results.sarif"
144
+
145
+ #echo "Database Query..."
146
+ #docker exec $container_name bash -c "bash /root/codeql/codeql/codeql database analyze $database_name codeql/csharp-queries codeql/csharp-solorigate-queries githubsecuritylab/codeql-csharp-queries --format=sarif-latest --output=/var/spacedev/tmp/analysis-results.sarif"
145
147
146
148
- name : Upload analysis results
147
149
uses : actions/upload-artifact@v2
0 commit comments