7474 steps :
7575 - uses : actions/checkout@v4
7676 - uses : projectdiscovery/actions/setup/go@v1
77- - uses : actions/setup-python@v4
77+ - uses : actions/setup-python@v5
7878 with :
7979 python-version : ' 3.10'
8080 - run : bash run.sh "${{ matrix.os }}"
@@ -119,11 +119,11 @@ jobs:
119119 security-events : write
120120 steps :
121121 - uses : actions/checkout@v4
122- - uses : github/codeql-action/init@v2
122+ - uses : github/codeql-action/init@v3
123123 with :
124124 languages : ' go'
125- - uses : github/codeql-action/autobuild@v2
126- - uses : github/codeql-action/analyze@v2
125+ - uses : github/codeql-action/autobuild@v3
126+ - uses : github/codeql-action/analyze@v3
127127
128128 release :
129129 name : " Release test"
@@ -133,3 +133,36 @@ jobs:
133133 - uses : actions/checkout@v4
134134 - uses : projectdiscovery/actions/setup/go@v1
135135 - uses : projectdiscovery/actions/goreleaser@v1
136+
137+ flamegraph :
138+ name : " Flamegraph"
139+ needs : ["tests"]
140+ env :
141+ PROFILE_MEM : " /tmp/nuclei"
142+ TARGET_URL : " http://scanme.sh/a/?b=c"
143+ runs-on : ubuntu-latest
144+ steps :
145+ - uses : actions/checkout@v4
146+ - run : make build
147+ - name : " Setup environment (push)"
148+ if : ${{ github.event_name == 'push' }}
149+ run : |
150+ echo "PROFILE_MEM=${PROFILE_MEM}-${GITHUB_REF_NAME}-${GITHUB_SHA}" >> $GITHUB_ENV
151+ echo "FLAMEGRAPH_NAME=nuclei-${GITHUB_REF_NAME} (${GITHUB_SHA})" >> $GITHUB_ENV
152+ - name : " Setup environment (pull_request)"
153+ if : ${{ github.event_name == 'pull_request' }}
154+ run : |
155+ echo "PROFILE_MEM=${PROFILE_MEM}-pr-${{ github.event.number }}" >> $GITHUB_ENV
156+ echo "FLAMEGRAPH_NAME=nuclei (PR #${{ github.event.number }})" >> $GITHUB_ENV
157+ - run : ./bin/nuclei -silent -update-templates
158+ - run : ./bin/nuclei -silent -u "${TARGET_URL}" -profile-mem="${PROFILE_MEM}"
159+ - uses : projectdiscovery/actions/flamegraph@master
160+ id : flamegraph
161+ with :
162+ profile : " ${{ env.PROFILE_MEM }}.prof"
163+ name : " ${{ env.FLAMEGRAPH_NAME }}"
164+ continue-on-error : true
165+ - if : ${{ steps.flamegraph.outputs.message == '' }}
166+ run : echo "::notice::${FLAMEGRAPH_URL}"
167+ env :
168+ FLAMEGRAPH_URL : ${{ steps.flamegraph.outputs.url }}
0 commit comments