8
.github/workflows/doc.yml
vendored
8
.github/workflows/doc.yml
vendored
@@ -21,7 +21,13 @@ jobs:
|
|||||||
run: npm install -g embedme
|
run: npm install -g embedme
|
||||||
|
|
||||||
- name: Verify README.md embedded code
|
- name: Verify README.md embedded code
|
||||||
run: npx embedme --verify README.md
|
run: embedme --verify README.md
|
||||||
|
|
||||||
|
- name: Link Checker
|
||||||
|
id: lychee
|
||||||
|
uses: lycheeverse/lychee-action@v2
|
||||||
|
with:
|
||||||
|
args: README.md
|
||||||
|
|
||||||
doc_test:
|
doc_test:
|
||||||
strategy:
|
strategy:
|
||||||
|
|||||||
@@ -401,11 +401,11 @@ TODO
|
|||||||
|
|
||||||
## Development tools
|
## Development tools
|
||||||
|
|
||||||
* [pydump](chore/_xtool/pydump): It's the first program compiled by `llgo` (NOT `go`) in a production environment. It outputs symbol information (functions, variables, and constants) from a Python library in JSON format, preparing for the generation of corresponding packages in `llgo`.
|
* [pydump](_xtool/pydump): It's the first program compiled by `llgo` (NOT `go`) in a production environment. It outputs symbol information (functions, variables, and constants) from a Python library in JSON format, preparing for the generation of corresponding packages in `llgo`.
|
||||||
* [pysigfetch](https://github.com/goplus/hdq/tree/main/chore/pysigfetch): It generates symbol information by extracting information from Python's documentation site. This tool is not part of the `llgo` project, but we depend on it.
|
* [pysigfetch](https://github.com/goplus/hdq/tree/main/chore/pysigfetch): It generates symbol information by extracting information from Python's documentation site. This tool is not part of the `llgo` project, but we depend on it.
|
||||||
* [llpyg](chore/llpyg): It is used to automatically convert Python libraries into Go packages that `llgo` can import. It depends on `pydump` and `pysigfetch` to accomplish the task.
|
* [llpyg](compiler/chore/llpyg): It is used to automatically convert Python libraries into Go packages that `llgo` can import. It depends on `pydump` and `pysigfetch` to accomplish the task.
|
||||||
* [llgen](chore/llgen): It is used to compile Go packages into LLVM IR files (*.ll).
|
* [llgen](compiler/chore/llgen): It is used to compile Go packages into LLVM IR files (*.ll).
|
||||||
* [ssadump](chore/ssadump): It is a Go SSA builder and interpreter.
|
* [ssadump](compiler/chore/ssadump): It is a Go SSA builder and interpreter.
|
||||||
|
|
||||||
How do I generate these tools?
|
How do I generate these tools?
|
||||||
|
|
||||||
|
|||||||
@@ -213,7 +213,8 @@ func main() {
|
|||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
var testErr error
|
var testErr error
|
||||||
for attempt := 0; attempt < 2; attempt++ {
|
const maxAttempts = 4
|
||||||
|
for attempt := 1; attempt <= maxAttempts; attempt++ {
|
||||||
testErr = func() error {
|
testErr = func() error {
|
||||||
// Create a new test directory for each test case
|
// Create a new test directory for each test case
|
||||||
tmpDir := setupTestProject(t)
|
tmpDir := setupTestProject(t)
|
||||||
@@ -285,8 +286,8 @@ func main() {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
if attempt == 0 {
|
if attempt < maxAttempts {
|
||||||
t.Logf("Test failed on first attempt: %v. Retrying...", testErr)
|
t.Logf("Test failed on attempt %v/%v: %v. Retrying...", testErr, attempt, maxAttempts)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user