26 Commits

Author SHA1 Message Date
xiantang d29a90a122 Optimize unit test performance from 60s to 35s (42% improvement) (#843)
Reduce test execution time through smart waiting and selective parallelization.

Changes:
- Replace fixed sleep delays with condition-based waiting (20ms polling)
- Add CI-aware timeout multiplier (2x in CI environments)
- Enable parallel execution for 30+ pure function tests
- Add test and test-ci Make targets
- Update GitHub Actions workflow with CI flag and timeout

Performance:
- Before: ~60 seconds
- After: ~35 seconds
- Improvement: 42% faster (25 seconds saved)

Technical details:
- New helpers: waitForCondition(), waitForEngineState() in test_util.go
- Optimized tests: TestRebuild, TestRun, TestRebuildWhenRunCmdUsingDLV, etc.
- Parallelized: config_test.go (6 tests), flag_test.go (1 test), util_test.go (13 tests)
- Avoided parallelizing tests with global state (os.Setenv, os.Chdir, signal handlers)

Limitations:
- Some tests cannot be parallelized due to Go 1.25 restrictions on t.Parallel() + t.Setenv()
- Pre-existing race conditions in engine tests remain (not addressed in this change)
2026-01-05 21:37:23 +08:00
xiantang 0c6dfb2bd8 remove vendor (#812) 2025-11-10 21:35:15 +08:00
xiantang 1053e27dc5 upgrade the actions for checkout and golang and remove Windows smoke test (#808)
* upgrade the actions for checkout and golang

* delete the unstale windows golanglint-ci

* use relative path

* Update golangci-lint setup for Windows workflow

* Remove Windows smoke test workflow
2025-11-09 16:07:34 +08:00
Ricko Yu 53e3fb858d chore: update Go version to 1.25.1 and dependencies (#797)
* chore: update Go version to 1.25.1 and dependencies

- Updated Dockerfile to use Go 1.25.1 for both builder and final images.
- Modified README files (Japanese, Chinese Simplified, Chinese Traditional, and English) to reflect the new Go version requirement of 1.25.1.
- Updated go.mod to specify Go 1.25 and updated dependencies:
  - Upgraded hugo from v0.147.6 to v0.149.1
  - Upgraded testify from v1.10.0 to v1.11.1
  - Upgraded other indirect dependencies to their latest versions.
- Updated go.sum to reflect the changes in dependencies.

* fix: update golangci-lint to use latest version and install mode
2025-09-07 11:54:20 +08:00
Rick Yu 6ba3c07ce6 chore: bump go to 1.24 (#771) 2025-05-31 15:35:51 +08:00
Rick Yu a63cff4e53 chore: bump go to 1.23 (#650) 2024-09-21 22:38:40 +08:00
Rick Yu ca162a8ba5 fix: broken golangci-lint tag 2024-02-21 11:46:54 +08:00
Lukasz Dobrzanski bd33bda5c7 Fix liting; use golangci lint (#508)
* add base golangci-lint

* fix linting errors: unused var t, unexported-return

```
runner/util_test.go:237:34: unused-parameter: parameter 't' seems to be unused, consider removing or renaming it as _ (revive)
func TestGetStructureFieldTagMap(t *testing.T) {
```

```
main.go:54:1: exported function GetVersionInfo should have comment or be unexported
main.go:54:23: exported func GetVersionInfo returns unexported type main.versionInfo, which can be annoying to use
```
2023-12-18 10:51:29 +08:00
Rick Yu 4315cda77b fix: make CGO_ENABLED=0 2023-06-02 22:50:14 +08:00
ayatk 9dc02fc91d Update go 1.17 (#235)
* go mod tidy -go=1.17

* update docker base image to go 1.17

* use go1.17 in github actions

* Install using `go get` has been deprecated in 1.16, so use `go install` command
2021-12-29 22:45:52 +08:00
Rick Yu b2e8428718 chore(*): update deps (#124) 2020-11-21 13:57:55 +08:00
Takumi Sue 4832f73e66 feat: set airVersion and goVersion with ldflags in release process (#111)
* feat: set airVersion and goVersion with ldflags in release process to prevent human error
2020-11-21 12:59:39 +08:00
Rick Yu 97d7074e64 chore(*): update docker image 2020-03-21 13:05:13 +08:00
Rick Yu dbf12560b5 chore(*): bump version to v1.12.0 2020-01-01 19:38:58 +08:00
Rick Yu c53bb1dcb0 chore(*): bump binary to v1.11.1 2019-11-10 04:54:19 +08:00
Rick Yu 3a6bddf116 fix(runner): print log correctly 2019-11-10 03:14:23 +08:00
wanhello 85b0e08e31 go 1.13 2019-09-25 00:51:40 +08:00
Rick Yu deea398027 Bump version to 1.10 to celebrate my girlfriend's birthday, and happy new year 2018-12-30 18:32:20 +08:00
Rick Yu d1eede04a5 Use dep to manage packages instead of glide 2018-03-08 13:49:25 +08:00
Rick Yu bb71162ecb Fix some problems on Windows 2017-10-24 13:52:40 +08:00
Rick Yu 0a6938d0f5 Release Air for Windows 2017-10-22 00:14:14 +08:00
Rick Yu 480fad6997 Support Docker build 2017-10-18 17:36:40 +08:00
Rick Yu afbfe74c47 Add air binaries for darwin and linux 2017-10-18 11:45:55 +08:00
Rick Yu c2b6279398 Fix makefile 2017-10-16 15:42:34 +08:00
Rick Yu df34a18e83 It works like a charm 🎉 2017-10-13 23:01:24 +08:00
Rick Yu 93e47ecfb9 Init 2017-10-12 22:29:58 +08:00