fix(http): resolve timeout config issues (#6562) #148
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: 👤 Generate PGO | |
| on: | |
| push: | |
| branches: ["dev"] | |
| paths: | |
| - '**.go' | |
| - '**.mod' | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| # TODO(dwisiswant0): https://go.dev/doc/pgo#merging-profiles | |
| jobs: | |
| pgo: | |
| strategy: | |
| matrix: | |
| targets: [150] | |
| runs-on: ubuntu-latest | |
| if: github.repository == 'projectdiscovery/nuclei' | |
| permissions: | |
| contents: write | |
| env: | |
| PGO_FILE: "cmd/nuclei/default.pgo" | |
| LIST_FILE: "/tmp/targets-${{ matrix.targets }}.txt" | |
| PROFILE_MEM: "/tmp/nuclei-profile-${{ matrix.targets }}-targets" | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: projectdiscovery/actions/setup/git@v1 | |
| - uses: projectdiscovery/actions/setup/go@v1 | |
| - name: Generate list | |
| run: for i in {1..${{ matrix.targets }}}; do echo "https://honey.scanme.sh/?_=${i}" >> "${LIST_FILE}"; done | |
| # NOTE(dwisiswant0): use `-no-mhe` flag to get better samples. | |
| - run: go run . -l "${LIST_FILE}" -profile-mem="${PROFILE_MEM}" -no-mhe | |
| working-directory: cmd/nuclei/ | |
| - run: mv "${PROFILE_MEM}.cpu" ${PGO_FILE} | |
| # NOTE(dwisiswant0): shall we prune $PGO_FILE git history? | |
| # if we prune it, this won't be linear since it requires a force-push. | |
| # if we don't, the git objects will just keep growing bigger. | |
| # | |
| # Ref: | |
| # - https://go.dev/blog/pgo#:~:text=We%20recommend%20committing%20default.pgo%20files%20to%20your%20repository | |
| # - https://gist.github.com/nottrobin/5758221 | |
| - uses: projectdiscovery/actions/commit@v1 | |
| with: | |
| files: "${PGO_FILE}" | |
| message: "build: update PGO profile :robot:" | |
| - run: git push origin $GITHUB_REF | |
| - uses: actions/upload-artifact@v5 | |
| with: | |
| name: "pgo" | |
| path: "${{ env.PGO_FILE }}" |