72 Commits

Author SHA1 Message Date
Alone 2d7ec0ba35 Add ghcr docker image (#757) 2026-05-26 17:58:18 +08:00
xiantang 66e48f8417 ci: increase stale workflow operation limit (#904) 2026-05-19 21:43:45 +08:00
xiantang 0b99b4a848 ci: extend stale timeout (#903) 2026-05-19 21:22:07 +08:00
xiantang 46bcacc376 Add stale issue workflow (#902) 2026-05-18 11:15:18 +08:00
lif 0d9e5e1344 fix: route air's own log messages to stderr instead of stdout (#887)
* fix: route air's own log messages to stderr instead of stdout

Air's internal loggers (main, build, runner, watcher) were writing to
stdout, causing air's messages to intermix with the user's application
output. This made it impossible to separate them with shell redirections
like `air 2>/dev/null`.

Change the log output destination from os.Stdout/color.Output to
os.Stderr/color.Error so air's messages go to stderr while the user's
app output remains on stdout.

Also remove dead `c.Stdout` and `c.Stderr` assignments in startCmd()
on all platforms — these had no effect after StdoutPipe()/StderrPipe()
were already called.

Fixes #744

Signed-off-by: majiayu000 <1835304752@qq.com>

* test: add regression test for logger stderr routing

Signed-off-by: majiayu000 <1835304752@qq.com>

* fix: route warning messages in config.go to stderr

Signed-off-by: majiayu000 <1835304752@qq.com>

* fix: update smoke test to check stderr for air log messages

Since air's log output now goes to stderr, the smoke test must check
nohup.err instead of nohup.out for the "running" message.

Signed-off-by: majiayu000 <1835304752@qq.com>

* fix: print splash banner to stderr

---------

Signed-off-by: majiayu000 <1835304752@qq.com>
Co-authored-by: xiantang <zhujingdi1998@gmail.com>
2026-04-03 16:20:57 +08:00
xiantang 6cbf191523 fix Windows tests (#875)
* Bind test listeners to loopback

* Adjust Windows test expectations

* Fix Windows test setup

* Fix lint in dangerous root test

* Stabilize Windows engine tests

* Add Windows unit tests to CI

* Prevent cwd leakage in tests

* Normalize line endings in CI

* Skip unstable Windows engine tests

* Move Windows line-ending normalization to windows job

* Stabilize ctrl-c build failure test

* Skip touch-based engine tests on Windows
2026-01-23 00:01:18 +08:00
xiantang dcef46287f Add Windows smoke test workflow (#873)
* Add Windows smoke test workflow

* Remove redundant loop variable shadowing
2026-01-22 22:44:50 +08:00
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 9f6f24b1c0 Update bug report template checklist (#834) 2025-11-27 00:03:18 +08:00
xiantang 52b33db224 Update issue templates 2025-11-26 23:55:52 +08:00
xiantang ed276e09eb Update issue templates 2025-11-26 23:53:15 +08:00
xiantang 05bd53abe6 Remove merge schedule workflow (#816) 2025-11-11 00:45:19 +08:00
xiantang 2e2bd918bc Pin merge schedule action version (#815) 2025-11-10 23:32:00 +08:00
xiantang 0bb8b8ebff Run merge schedule hourly (#814) 2025-11-10 22:15:25 +08:00
xiantang 3b4ec0dcd4 Add merge schedule workflow (#813) 2025-11-10 22:03:33 +08:00
xiantang f0e684c516 Update funding sources in FUNDING.yml 2025-11-09 19:26:43 +08:00
xiantang 17bcb89700 Update GitHub Sponsors username in FUNDING.yml 2025-11-09 19:25:31 +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
xiantang 42d73d7de0 Change project owner to air-verse (#607)
This reverts commit 613d2b313d.
2024-06-04 10:52:28 +08:00
xiantang 613d2b313d Revert "Change project owner to air-verse (#602)" (#606)
This reverts commit 32b22d6c7f.
2024-06-04 09:09:34 +08:00
xiantang 32b22d6c7f Change project owner to air-verse (#602) 2024-06-03 22:44:23 +08:00
Neemias e3b6eafe8a fix: add golangci-lint setup action and fix lint issue (#592)
Co-authored-by: Neemias Almeida <ndalmeida@bol.com>
2024-05-28 17:21:09 +08:00
Rick Yu c402493557 feat: improve smoke test (#538) 2024-02-25 11:28:14 +08:00
Rick Yu 3d408e92bd chore: upgrade actions (#537) 2024-02-25 11:19:07 +08:00
Rick Yu 3164beedb7 feat: bump deps and actions (#536) 2024-02-25 11:01:19 +08:00
Tim Routowicz 076ad27daa chore: bump Go to 1.22 (#529)
* chore: bump Go to 1.22

* Fix go version
2024-02-21 11:19:42 +08:00
Bo-Yi Wu ee40f424f2 chore: update GitHub Actions versions in build and release workflows (#481)
- Update the version of `actions/checkout` from `v2` to `v4` in `.github/workflows/build.yml`
- Update the version of `actions/setup-go` from `v2` to `v4` in `.github/workflows/build.yml`
- Update the version of `codecov/codecov-action` from `v2` to `v3` in `.github/workflows/build.yml`
- Update the version of `docker/setup-qemu-action` from `v1` to `v3` in `.github/workflows/build.yml`
- Update the version of `docker/setup-buildx-action` from `v1` to `v3` in `.github/workflows/build.yml`
- Update the version of `docker/login-action` from `v1` to `v3` in `.github/workflows/build.yml`
- Update the version of `docker/build-push-action` from `v2` to `v5` in `.github/workflows/build.yml`
- Update the version of `docker/setup-qemu-action` from `v1` to `v3` in `.github/workflows/release.yml`
- Update the version of `docker/setup-buildx-action` from `v1` to `v3` in `.github/workflows/release.yml`
- Update the version of `docker/login-action` from `v1` to `v3` in `.github/workflows/release.yml`
- Update the version of `docker/build

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2023-10-19 22:22:36 +08:00
xiantang 3d7b3d8fba build when merge request to master 2023-10-18 21:29:10 +08:00
Ethan Daniel ee37436c59 chore: bump Go to 1.21 (#449)
* update Go to 1.21

* undo format changes
2023-08-10 10:13:52 +08:00
Kevin Centeno 5b4facdb3b chore: bump go to 1.20 and update deps (#394) 2023-02-23 12:35:28 +08:00
Rick Yu fafccf2ca8 chore: bump go to 1.19 and update deps (#375) 2023-01-13 10:38:00 +08:00
xiantang a2b8871f2a change build delay to zero (#343)
* change build delay to zero

Co-authored-by: xiantang <zhujingdi1998@gamil.com>
2022-10-24 15:56:13 +08:00
xiantang 5ac18a4db4 Fix update ExcludeRegex to empty not work (#308)
* Fix update ExcludeRegex to empty not work https://github.com/cosmtrek/air/issues/304
2022-07-11 18:43:01 +08:00
xiantang b3a0f1348a Use cosmtrek/air 2022-06-07 00:26:05 +08:00
xiantang dee5db649e fix air wrong image tag (#289)
* should be cosmtrek
2022-06-05 21:13:31 +08:00
Robert Boros a74b85500a Docker ARM support (#271)
* setup platform at build

* mock commit

* fix docker tag

* remove delve

* remove empty line
2022-06-05 20:32:31 +08:00
xiantang bc71f7dd2c Fix port already used when using dlv to debug go program (#259)
* Fix dlv port address already in use
* add test for dlv port already used
2022-06-03 23:38:12 +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 f46e57e6ed fix(ci): update codecov actions (#236) 2021-12-29 21:39:28 +08:00
xiantang cae70ac43f Merge branch 'master' of https://github.com/cosmtrek/air 2021-12-05 21:03:04 +08:00
xiantang dd8dbb3d28 enable smoke test on pr 2021-12-05 21:02:59 +08:00
xiantang 34482301fe point to this branch 2021-12-04 18:27:36 +08:00
xiantang 32d78e274b change window job 2021-12-04 18:22:26 +08:00
xiantang f78ffe0695 extend sleep length for windows platform 2021-11-28 22:01:35 +08:00
xiantang 63d42e6a28 smoke test run on just push 2021-11-28 16:42:20 +08:00
xiantang f4dbae5fa3 add smoke support for file change in macOS, windows, ubuntu 2021-11-28 16:14:04 +08:00
xiantang 957258e1f8 add smoke test for main logic which is reload when go file change 2021-11-28 12:31:45 +08:00