์ํฌํ๋ก๊ฐ Error: "No source code was seen during the build"
๋๋ The process '/opt/hostedtoolcache/CodeQL/0.0.0-20200630/x64/codeql/codeql' failed with exit code 32
(์ผ)๋ก ์ธํด ์คํจํ๋ ๊ฒฝ์ฐ ์ด๋ CodeQL์ด(๊ฐ) ์ฝ๋๋ฅผ ๋ชจ๋ํฐ๋งํ ์ ์์์ ๋ํ๋
๋๋ค. ์ด์ ๋ํด ๊ฐ๋ฅํ 6๊ฐ์ง ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
์ง์๋๋ ์ธ์ด ์์: ๋ฆฌํฌ์งํ ๋ฆฌ์๋ CodeQL์์ ์ง์ํ๋ ์ธ์ด๋ก ์์ฑ๋ ์์ค ์ฝ๋๊ฐ ํฌํจ๋์ด ์์ง ์์ ์ ์์ต๋๋ค. ์ง์๋๋ ์ธ์ด ๋ชฉ๋ก์ ํ์ธํ๊ณ ์ด ๊ฒฝ์ฐ CodeQL ์ํฌํ๋ก๋ฅผ ์ ๊ฑฐํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ CodeQL์ ์ฌ์ฉํ๋ ์ฝ๋ ๊ฒ์ฌ ์๋ด์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
-
๊ฒ์๋ ์ธ์ด์ ๋ถ์ ๊ฐ๋ฅํ ์ฝ๋ ์์: ์๋ ์ธ์ด ๊ฒ์์ ์ง์๋๋ ์ธ์ด๋ฅผ ์๋ณํ์ง๋ง ๋ฆฌํฌ์งํ ๋ฆฌ์๋ ํด๋น ์ธ์ด์ ๋ถ์ ๊ฐ๋ฅํ ์ฝ๋๊ฐ ์์ต๋๋ค. ์ผ๋ฐ์ ์ธ ์๋ ์ธ์ด ๊ฒ์ ์๋น์ค์์ ํน์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(์:
.h
๋๋.gyp
ํ์ผ)์ ์ฐ๊ฒฐ๋ ํ์ผ์ ์ฐพ์ง๋ง ๋ฆฌํฌ์งํ ๋ฆฌ์ ํด๋น ์คํ ์ฝ๋๊ฐ ์๋ ๊ฒฝ์ฐ์ ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํดlanguage
ํ๋ ฌ์ ์ธ์ด ๋ชฉ๋ก์ ์ ๋ฐ์ดํธํ์ฌ ๋ถ์ํ๋ ค๋ ์ธ์ด๋ฅผ ์๋์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์ ๊ตฌ์ฑ์ Go ๋ฐ JavaScript๋ง ๋ถ์ํฉ๋๋ค.strategy: fail-fast: false matrix: # Override automatic language detection by changing the list below. # Supported options are listed in a comment in the default workflow. language: ['go', 'javascript-typescript']
์์ธํ ๋ด์ฉ์ ์ผ๋ถ ์ธ์ด๋ CodeQL ๊ณ ๊ธ ์ค์ ์ผ๋ก ๋ถ์๋์ง ์์์ต๋๋ค.์ ์ํฌํ๋ก ์ถ์ถ์ ์ฐธ์กฐํ์ธ์.
-
์ปดํ์ผ๋ ์ธ์ด์ ์ปดํ์ผ ์คํจ: code scanning ์ํฌํ๋ก๊ฐ ์ปดํ์ผ๋ ์ธ์ด(C, C++, C#, Go ๋๋ Java)๋ฅผ ์ปดํ์ผํ๋ ค๊ณ ํ์ง๋ง ์ฝ๋๊ฐ ์ปดํ์ผ๋์ง ์์ ๊ฒฝ์ฐ์ ๋๋ค. ์ํฌํ๋ก๊ฐ ์ธ์ด๋ฅผ
build-mode: autobuild
๋ก ์ง์ ํ๊ฑฐ๋autobuild
๋จ๊ณ๋ฅผ ํฌํจํ๋ ๊ฒฝ์ฐ CodeQL์ ์ ์ ํ ๋น๋ ๋ฐฉ๋ฒ์ ๊ฒ์ํ๊ณ ์ฝ๋๋ฅผ ๋น๋ํ๊ธฐ ์ํด ์ต์ ์ ๋คํฉ๋๋ค.autobuild
ํ๋ก์ธ์ค๋ ํน์ ๋น๋ ํ๊ฒฝ์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ๋น๋ํ๋ ๋ฐ ์ฑ๊ณตํ์ง ๋ชปํ ์ ์์ต๋๋ค.autobuild
๋จ๊ณ๋ฅผ ์ ๊ฑฐํ๊ณ ๋น๋ ๋จ๊ณ๋ฅผ ์๋์ผ๋ก ํฌํจํ์ง ์์ ๊ฒฝ์ฐ์๋ ์ปดํ์ผ์ด ์คํจํ ์ ์์ต๋๋ค. ๋น๋ ๋จ๊ณ ์ง์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ปดํ์ผ๋ ์ธ์ด์ ๋ํ CodeQL ์ฝ๋ ๊ฒ์ฌํ๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์. -
์บ์๋ ๊ตฌ์ฑ ์์๊ฐ ๊ฒ์๋์ง ์์: ์ํฌํ๋ก์์๋ ์ปดํ์ผ๋ ์ธ์ด(C, C++, C#, Go ๋๋ Java)๋ฅผ ๋น๋ํ์ฌ ๋ถ์์ ์ํ CodeQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ฑ๋์ง๋ง ์ฑ๋ฅ ํฅ์์ ์ํด ๋น๋์ ์ผ๋ถ๊ฐ ์บ์๋ฉ๋๋ค(Gradle ๋๋ Bazel๊ณผ ๊ฐ์ ๋น๋ ์์คํ ์์ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๊ฐ์ฅ ๋์). CodeQL์(๋) ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ฐ์ดํฐ ํ๋ฆ์ ์ดํดํ๊ธฐ ์ํด ์ปดํ์ผ๋ฌ์ ํ๋์ ๊ด์ฐฐํ๋ฏ๋ก CodeQL์(๋) ๋ถ์์ ์ํํ๊ธฐ ์ํด ์์ ํ ๋น๋๊ฐ ํ์ํฉ๋๋ค.
-
init
๋ฐanalyze
๋จ๊ณ ์ด์ธ์ ์ปดํ์ผ: ์ํฌํ๋ก๋ ์ปดํ์ผ๋ ์ธ์ด(C, C++, C#, Go ๋๋ Java)๋ฅผ ๋ถ์ํ๊ณ ์์ง๋ง ์ํฌํ๋ก์init
๋ฐanalyze
๋จ๊ณ ๊ฐ์ ์ปดํ์ผ์ด ์คํ๋์ง ์์ต๋๋ค. CodeQL์(๋ฅผ) ์ํํ๋ ค๋ฉด ์ปดํ์ผ๋ฌ์ ํ๋์ ๊ด์ฐฐํ๊ณ ๋ถ์์ ์ํํ๊ธฐ ์ํด ์ด ๋ ๋จ๊ณ ์ฌ์ด์ ๋น๋๊ฐ ์ํ๋์ด์ผ ํฉ๋๋ค. -
CodeQL์์ ์ปดํ์ผ์ด ๊ฐ์ง๋์ง ์์: ์ปดํ์ผ๋ ์ฝ๋(C, C++, C#, Go ๋๋ Java)๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ปดํ์ผ๋์์ง๋ง CodeQL์์ ์ปดํ์ผ๋ฌ ํธ์ถ์ ๊ฒ์ํ ์ ์์์ต๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์์ธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- CodeQL์ ๋ํ ๋ณ๋์ ์ปจํ ์ด๋์์ ๋น๋ ํ๋ก์ธ์ค๋ฅผ ์คํํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ปจํ ์ด๋์์ CodeQL ์ฝ๋ ๊ฒ์ฌ ์คํ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
- ๋๋จผ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ์ฌ GitHub Actions ์ธ๋ถ์ ๋ถ์ฐ ๋น๋ ์์คํ ์ ํตํด ๋น๋ํฉ๋๋ค.
- CodeQL์(๋) ์ฌ์ฉ ์ค์ธ ํน์ ์ปดํ์ผ๋ฌ๋ฅผ ์ธ์ํ์ง ๋ชปํฉ๋๋ค.
ํน์ ์ปดํ์ผ๋ฌ ๋๋ ๊ตฌ์ฑ์ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด GitHub ์ง์ ํฌํธ ์ฌ์ฉ์ ๋ฌธ์ํ์ธ์.
๋น๋ ๋จ๊ณ ์ง์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ปดํ์ผ๋ ์ธ์ด์ ๋ํ CodeQL ์ฝ๋ ๊ฒ์ฌํ๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.