492 Commits

Author SHA1 Message Date
xiantang a8f644ca65 Set default build bin (#838) 2025-11-27 09:50:12 +08:00
xiantang 7de8b17bd6 Revert "Add omitempty to build bin fields (#829)" (#837)
This reverts commit 94981f1c8b.
2025-11-27 01:21:54 +08:00
Henrique Marcelino Possatto e5e7d141a5 feat: add color flag (#766)
* feat: add colored flag

* feat: apply changes suggested by ccoVeille
2025-11-27 00:31:48 +08:00
xiantang dc89d6b9f4 docs: add mise install instructions (#835)
* docs(installation): add mise installation alternative to README

* docs: add mise install instructions

---------

Co-authored-by: jylenhof <jygithub@lenhof.eu.org>
Co-authored-by: Jean-Yves LENHOF <36410287+jylenhof@users.noreply.github.com>
2025-11-27 00:21:33 +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 0df3aa1df3 Document entrypoint over build.bin (#832) 2025-11-26 22:38:30 +08:00
xiantang 94981f1c8b Add omitempty to build bin fields (#829)
* Add omitempty to build bin fields

* Fix default config test and defaults
2025-11-23 21:37:04 +08:00
xiantang 61f563c941 Warn on deprecated build bin usage (#828) 2025-11-23 21:31:52 +08:00
xiantang dc225acc8e deprecated: --build.bin --build.args_bin (#826)
* Silence logs in build failure tests

* Add build entrypoint support

* Resolve entrypoint via PATH

* Fix TestWriteDefaultConfig

* Set default entrypoint path

* runner: support inline entrypoint args

* Fix TestRunCommand port setup

* Update runner/config.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-20 22:31:21 +08:00
xiantang 977915fc69 Handle include_dir outside root (#820)
* Handle include_dir outside root

* Use require.Empty for include dirs test
2025-11-20 22:26:12 +08:00
xiantang 3dc6e4437e Remove legacy .air.conf support (#827) 2025-11-19 11:28:24 +08:00
Copilot cfbf60d884 Send signals to process descendants concurrently (#822)
* Initial plan

* Improve performance by sending signals concurrently

Co-authored-by: xiantang <34479567+xiantang@users.noreply.github.com>

* Add test for concurrent signal sending with race detection

Co-authored-by: xiantang <34479567+xiantang@users.noreply.github.com>

* Fix formatting in util_test.go with goimports

Co-authored-by: xiantang <34479567+xiantang@users.noreply.github.com>

* Move Linux-specific test to util_linux_test.go to fix typecheck error

Co-authored-by: xiantang <34479567+xiantang@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: xiantang <34479567+xiantang@users.noreply.github.com>
2025-11-17 17:11:47 +08:00
Isak Styf 0ca6b6306c replace io.Copy with a scanner to avoid output related deadlocks on WSL2 (#674)
* replace io.Copy with a scanner to avoid output related deadlocks on wsl2

no clear idea what the actual problem is here, but deadlocks are very frequent
when running the unit tests under wsl2 and seem to be related to the use of
io.Copy to copy stdout and stderr

deadlock occurs when multiple goroutines get parked indefinitely waiting for
an rwlock in the posix file system to be able to write to stdout...

* switch back to synchronous copying until code has been reviewed by maintainers

* make it explicit that we do not handle any errors from Write
2025-11-12 22:51:33 +08:00
xiantang fb52989494 Add schema header to init config (#811) 2025-11-11 23:39:31 +08:00
xiantang 275c6dca73 Stop using pty on Linux (#809)
* Stop using pty on Linux

* Ensure killCmd terminates detached children

* Fix process tree signaling

* Update runner/util_linux.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-11 23:39:06 +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
Alexandre GV. 0adf6ae068 docs: add go get -tool install method in README (#779)
* docs: add `go get -tool` install method

* docs: use shell instead of bash in codeblocks

* docs: add missing "then use it like so" comments
2025-11-10 21:48:15 +08:00
xiantang 0c6dfb2bd8 remove vendor (#812) 2025-11-10 21:35:15 +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
Kenta Takeuchi 326e87d6fb Add a README for ja (#622) 2025-03-07 15:19:05 +08:00
这个名字不知道能不能修改 0448782ff1 fix: Fix the issue with ineffective --build.full_bin command line argument (#748)
* Update config.go

* Update flag_test.go

* fix: handle preprocess correctly in command line arguments

* fix: update withArgs documentation to reflect its private status

---------

Co-authored-by: xiantang <zhujingdi1998@gmail.com>
2025-03-05 23:36:15 +08:00
Pavel Kashin a830e5a27a fix: properly format paths with spaces in config.Build.Bin (#666) (#749) 2025-03-05 22:54:22 +08:00
Po 1068416272 Fix: using powershell instead of cmd /C (#708) 2025-01-23 19:58:56 +08:00
xiantang ad8fbb7a1c Add exiter to test os.Exit case (#729)
authored-by: jingdi.zhu <jingdi.zhu@bytedance.com>
2025-01-19 22:55:20 +08:00
Polo123456789 0811477d4f Feature: Show build errors when using proxy (#725)
* proxy: stream reload and error messages

* proxy: Console log on build failure

* proxy: show build errors in a modal

---------

Co-authored-by: xiantang <zhujingdi1998@gmail.com>
2025-01-19 16:28:51 +08:00
Isak Styf ad99709be0 wait for killfunc completion when shutting down current app (#670)
* wait for killfunc completion when shutting down current app

---------

Co-authored-by: jingdi.zhu <jingdi.zhu@bytedance.com>
2025-01-19 16:03:25 +08:00
Nathan Baulch 4be554006d fix: typos (#728) 2025-01-17 23:38:28 +08:00
Brandon Bloom a4539f6181 Avoid duplicating cors header. (#727) 2025-01-17 23:37:10 +08:00
Nemanja Milićević 023234486a fix: default config override (#719) 2024-12-17 10:53:05 +08:00
xiantang 2186c12645 Update README for air help command 2024-12-17 00:47:59 +08:00
xiantang c8498c261b air -h will be document of air 2024-12-17 00:42:17 +08:00
xiantang 785da249cd chore: fix test case TestRegexes 2024-12-16 23:53:33 +08:00
Isak Styf 8fae31cd27 catch and report start cmd failure rather than panicing (#676)
* do not report the process as running if it failed to start

* change the return values on error to match what the other platforms produce
2024-12-16 23:47:13 +08:00
Isak Styf e0851cb94e remove a data race by compiling the exclude regexes in the preprocess phase (#677)
the regex compilation was done lazily on first access but did not properly synchronize
for being accessed by multiple watcher goroutines

between the option of adding a mutex for something that (should) only ever happen
once and removing the potential for a race, this seems like the better choice
2024-12-16 23:40:25 +08:00
ZipFile 7a0a17f0fb Handle absolute paths in config (#318) 2024-12-16 22:57:54 +08:00
8LWXpg 6511c41773 Implement kill delay on Windows (#552)
* fix color output

* Implement kill delay on Windows

* Revert the change on master

* Remove extra newline
2024-12-16 22:34:53 +08:00
Olivia Bahr 7019f7aa79 Fix: typo in air_example.toml (#706) 2024-11-21 15:19:56 +08:00
Gourav Kolhatkar 8fadfe6b5c Update unclear .profile changes in README.md (#684) 2024-11-11 11:56:58 +08:00
Oleksandr Redko 2c1bccfd26 refactor: simplify test asserts; enable testifylint (#680) 2024-11-07 10:27:45 +08:00
Oleksandr Redko 7547fc66be docs: fix badge link in README-zh_cn.md (#681) 2024-11-06 21:43:20 +08:00
Oleksandr Redko 6c02409764 refactor: remove unnecessary var copy in for (#682) 2024-11-06 21:39:21 +08:00