[expat] Build error on x64-windows #4648
This file contains 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: Check For Common Issues | |
on: | |
issues: | |
types: | |
- opened | |
jobs: | |
check-for-common-issues: | |
runs-on: ubuntu-latest | |
permissions: | |
issues: write | |
steps: | |
- uses: actions/github-script@v7 | |
with: | |
script: | | |
let issue_query = { | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo | |
}; | |
let issue = await github.rest.issues.get(issue_query) | |
let issue_body = issue.data.body.replaceAll("\r\n", "\n"); | |
let commentLabelClose = async (comment, label) => { | |
await github.rest.issues.removeAllLabels(issue_query); | |
await github.rest.issues.setLabels({...issue_query, labels: [label]}); | |
await github.rest.issues.createComment({...issue_query, body: comment}); | |
await github.rest.issues.update({...issue_query, state: "closed"}); | |
} | |
// missing-windows-sdk-issue | |
let reg = /RC Pass 1: command "rc .*" failed \(exit code 0\) with the following output:/; | |
if (reg.test(issue_body)){ | |
let body = "Thanks for posting this issue. Please make sure you have the following installed.\n" + | |
"- Visual Studio Desktop development with C++.\n" + | |
"- Windows 10 SDK or Windows 11 SDK."; | |
return await commentLabelClose(body, "category:question"); | |
} | |
// msys2 download fails => old vcpkg version | |
reg = /error: https:\/\/repo\.msys2\.org\/.*: failed: status code 404/; | |
if (reg.test(issue_body)){ | |
let body = "Try updating your vcpkg version via `git pull` to resolve this issue. MSYS2 downloads are removed from the upstream servers from time to time, so using an up-to-date vcpkg version is necessary." | |
return await commentLabelClose(body, "category:question"); | |
} | |
regs = [] | |
// Issue text is: Copy issue body from .../issue_body.md | |
regs.push( /^Copy issue body from .*issue_body.md$/ ); | |
// Issue to short like #36592 or #36668 | |
regs.push( /^error: building.* BUILD_FAILED\r\nElapsed time.*\r\nPlease ensure.*(\r\nThen check .*\r\n.*)?$/ ); | |
// Issues with only the default error message like #41813 | |
regs.push( /^error: building.* BUILD_FAILED\r\n[\s\S]*issue_body.md$/ ); | |
if (regs.some(reg => reg.test(issue_body))) { | |
let body = "Please see #30604 for how to report a build failure." | |
return await commentLabelClose(body, "requires:more-information"); | |
} | |
// pkg-config/ not found issues like #36011 | |
reg = /CMake Error at scripts\/cmake\/vcpkg_find_acquire_program.*\n(.*Please install it via your package manager:[\s\S]+)Call Stack/; | |
match = issue_body.match(reg) | |
if (match){ | |
let body = "From the log:\n```\n" + match[1] + "```\n" | |
return await commentLabelClose(body, "category:question"); | |
} | |
// MSVC internal compiler error like #36628 | |
if (issue_body.indexOf("fatal error C1001: Internal compiler error") !== -1){ | |
let body = "The build failed due to an internal compiler error. Please update your compiler or revert to an old version." | |
return await commentLabelClose(body, "category:question"); | |
} | |
// configure: error: 'autoconf-archive' is missing like #37013 | |
if (issue_body.indexOf("configure: error: 'autoconf-archive' is missing") !== -1){ | |
let body = "Please install `autoconf-archive` via `brew install autoconf-archive` (macos) or `sudo apt-get install autoconf-archive` (linux)" | |
return await commentLabelClose(body, "category:question"); | |
} | |
// Wrong formatted issues like #36086 | |
const containsCopyHint = issue_body.indexOf("Copy issue body from") !== -1 || issue_body.indexOf("%2Fissue_body.md") !== -1; | |
if (containsCopyHint && issue_body.indexOf("```") === -1){ | |
let body = "Please see #30604 for how to properly report a build failure." | |
return await github.rest.issues.createComment({...issue_query, body: body}); | |
} |