Alexander Stecher
e5ca97308e
perf: optimize $_SERVER import ( #1106 )
...
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
Co-authored-by: a.stecher <a.stecher@sportradar.com >
Co-authored-by: Alliballibaba <alliballibaba@gmail.com >
2024-11-04 15:34:00 +01:00
Kévin Dunglas
69c43ee43d
chore: use upstream e-dant/watcher headers and build system ( #1119 )
2024-10-31 09:39:51 +01:00
Kévin Dunglas
dad858b697
ci: remove remaining latest- prefix
2024-10-28 16:18:36 +01:00
Kévin Dunglas
f567318e19
ci: don't compress using UPX for PRs
2024-10-27 11:51:40 +01:00
Kévin Dunglas
afedeb9d58
refactor: use build tags to disable, instead of to enable a feature ( #1113 )
2024-10-24 14:14:47 +02:00
Kévin Dunglas
2532eb5887
chore: compile without nosql's support for Postgres and MySQL ( #1112 )
2024-10-22 22:50:31 +02:00
Kévin Dunglas
e9c075a4a5
feat: add build tag to skip Watcher support ( #1076 )
...
* feat: add build tag to skip Watcher support
* fix
* fix
* cleanup
2024-10-08 23:23:53 +02:00
Kévin Dunglas
029ce7e0ad
chore: use cc instead of hardcoding compiler
2024-10-07 15:37:26 +02:00
Alexander Stecher
8d9b6e755b
feat: restart workers when on source changes ( #1013 )
...
* Adds filesystem watcher with tests.
* Refactoring.
* Formatting.
* Formatting.
* Switches to absolute path in tests.
* Fixes race condition from merge conflict.
* Fixes race condition.
* Fixes tests.
* Fixes markdown lint errors.
* Switches back to absolute paths.
* Reverts back to relative file paths.
* Fixes golangci-lint issues.
* Uses github.com/dunglas/go-fswatch instead.
* Stops watcher before stopping workers.
* Updates docs.
* Avoids segfault in tests.
* Fixes watcher segmentation violations on shutdown.
* Adjusts watcher latencies and tests.
* Adds fswatch to dockerfiles
* Fixes fswatch in alpine.
* Fixes segfault (this time for real).
* Allows queueing new reload if file changes while workers are reloading.
* Makes tests more consistent.
* Prevents the watcher from getting stuck if there is an error in the worker file itself.
* Reverts changing the image.
* Puts fswatch version into docker-bake.hcl.
* Asserts instead of panicking.
* Adds notice
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update dev.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update alpine.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update alpine.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update dev-alpine.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update dev-alpine.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update dev.Dockerfile
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update docs/config.md
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Runs fswatch version.
* Removes .json.
* Replaces ms with s.
* Resets the channel after closing it.
* Update watcher_options.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update watcher_test.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Asserts no error instead.
* Fixes a race condition where events are fired after frankenphp has stopped.
* Updates docs.
* Update watcher_options_test.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Allows queuing events while watchers are reloading.
* go fmt
* Refactors stopping and draining logic.
* Allows extended watcher configuration with dirs, recursion, symlinks, case-sensitivity, latency, monitor types and regex.
* Updates docs.
* Adds TODOS.
* go fmt.
* Fixes linting errors.
* Also allows wildcards in the longform and adjusts docs.
* Adds debug log.
* Fixes the watcher short form.
* Refactors sessions and options into a struct.
* Fixes an overflow in the 'workersReadyWG' on unexpected terminations.
* Properly logs errors coming from session.Start().
* go fmt.
* Adds --nocache.
* Fixes lint issue.
* Refactors and resolves race condition on worker reload.
* Implements debouncing with a timer as suggested by @withinboredom.
* Starts watcher even if no workers are defined.
* Updates docs with file limit warning.
* Adds watch config unit tests.
* Adjusts debounce timings.
* go fmt.
* Adds fswatch to static builder (test).
* Adds a short grace period between stopping and destroying the watcher sessions.
* Adds caddy test.
* Adjusts sleep time.
* Swap to edant/watcher.
* Fixes watch options and tests.
* go fmt.
* Adds TODO.
* Installs edant/watcher in the bookworm image.
* Fixes linting.
* Refactors the watcher into its own module.
* Adjusts naming.
* ADocker image adjustments and refactoring.
* Testing installation methods.
* Installs via gcc instead.
* Fixes pointer formats.
* Fixes lint issues.
* Fixes arm alpine and updates docs.
* Clang format.
* Fixes dirs.
* Adds watcher version arg.
* Uses static lib version.
* Adds watcher to tests and sanitizers.
* Uses sudo for copying the shared lib.
* Removes unnused func.
* Refactoring.
* Update .github/workflows/sanitizers.yaml
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Adds fpic.
* Fixes linting.
* Skips tests in msan.
* Resets op_cache in every worker thread after termination
* Review fixes part 1.
* Test: installing libstc++ instead of gcc.
* Test: using msan ignorelist.
* Test: using msan ignorelist.
* Test: using msan ignorelist.
* Allows '/**/' for global recursion and '**/' for relative recursion.
* Reverts using the ignorelist.
* Calls opcache directly.
* Adds --watch to php-server command
* Properly free CStrings.
* Sorts alphabetically and uses curl instead of git.
* Labeling and formatting.
* Update .github/workflows/sanitizers.yaml
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update .github/workflows/sanitizers.yaml
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update .github/workflows/tests.yaml
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update .github/workflows/tests.yaml
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update caddy/caddy.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update docs/config.md
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update frankenphp_with_watcher_test.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update watcher/watcher.h
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update frankenphp.c
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update watcher/watcher.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update docs/config.md
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update frankenphp_with_watcher_test.go
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update testdata/files/.gitignore
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update watcher/watcher-c.h
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Update watcher/watcher.c
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
* Fixes test and Dockerfile.
* Fixes Dockerfiles.
* Resets go versions.
* Replaces unsafe.pointer with uintptr_t
* Prevents worker channels from being destroyed on reload.
* Minimizes the public api by only passing a []string.
* Adds support for directory patterns and multiple '**' globs.
* Adjusts label.
* go fmt.
* go mod tidy.
* Fixes merge conflict.
* Refactoring and formatting.
* Cleans up unused vars and functions.
* Allows dirs with a dot.
* Makes test nicer.
* Add dir tests.
* Moves the watch directive inside the worker directive.
* Adds debug log on special events.
* Removes line about symlinks.
* Hints at multiple possible --watch flags.
* Adds ./**/*.php as default watch configuration.
* Changes error to a warning.
* Changes the default to './**/*.{php,yaml,yml,twig,env}' and supports the {bracket} pattern.
* Fixes linting.
* Fixes merge conflict and adjust values.
* Adjusts values.
---------
Co-authored-by: a.stecher <a.stecher@sportradar.com >
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
2024-10-07 13:17:24 +02:00
Kévin Dunglas
59f1690596
ci: better Docker cache
2024-09-26 15:44:56 +02:00
Kévin Dunglas
7a524ddbd5
ci: add back -Wall -Werror
2024-08-20 01:36:26 +02:00
Kévin Dunglas
496831329f
ci: run tests with PHP 8.4
2024-08-13 09:46:54 +02:00
Kévin Dunglas
3ca52f5934
ci: generate SLSA attestations for static binaries
2024-08-09 22:47:50 +02:00
Kévin Dunglas
968176a948
ci: run tests with ASAN and MSAN ( #955 )
2024-08-09 18:18:15 +02:00
Kévin Dunglas
6c708be99d
ci: upgrade to super-linter 6 ( #952 )
2024-08-04 14:05:54 +02:00
Kévin Dunglas
bcc825a121
ci: switch to super-linter slim variant
2024-08-02 17:33:18 +02:00
Kévin Dunglas
0500ebc191
perf: improve PHP thread management ( #898 )
2024-07-09 09:39:03 +02:00
dependabot[bot]
e0ccd816e6
ci: bump docker/bake-action from 4 to 5
...
Bumps [docker/bake-action](https://github.com/docker/bake-action ) from 4 to 5.
- [Release notes](https://github.com/docker/bake-action/releases )
- [Commits](https://github.com/docker/bake-action/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: docker/bake-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-17 14:42:51 +02:00
Kévin Dunglas
c894a92135
ci: load setup-php debug symbols
2024-05-21 11:12:30 +02:00
Kévin Dunglas
835ad8acb2
ci: cleanup static build workflows
2024-05-17 16:14:22 +02:00
Kévin Dunglas
73e9b640d6
fix: skip installing Buildx when possible
2024-05-16 15:59:41 +02:00
Kévin Dunglas
f773c1f529
ci: clean Docker tags
2024-05-15 14:23:36 +02:00
dependabot[bot]
e5fcea0690
ci: bump golangci/golangci-lint-action from 5 to 6
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 5 to 6.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-05-13 13:52:15 +02:00
Kévin Dunglas
3dbb3fd48d
feat(static): add ftp, gettext, gmp, imagick, mbregex, parallel, protobuf, shmop, soap, ssh2, sysmsg, sysvshm, tidy, xlswriter, yaml and zstd extensions ( #773 )
2024-05-11 15:43:00 +02:00
dependabot[bot]
627f817b59
ci: bump golangci/golangci-lint-action from 4 to 5
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 4 to 5.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-05-09 21:46:45 +02:00
Kévin Dunglas
ac2dd4ab56
ci: fix linux/amd64 static pipeline
2024-04-24 17:18:58 +02:00
Kévin Dunglas
6597b71f52
ci: fix static pipeline
2024-04-24 11:42:25 +02:00
Kévin Dunglas
fe7d69d01b
ci: fix mimalloc pipeline
2024-04-24 00:40:31 +02:00
Kévin Dunglas
977cad0314
ci: fix debug and mimalloc pipeline
2024-04-23 21:34:09 +02:00
Kévin Dunglas
60b5a11e5a
ci: fix mimalloc pipeline
2024-04-23 19:29:28 +02:00
Kévin Dunglas
498294a561
feat: option to use mimalloc for static builds ( #666 )
...
* feat: use mimalloc for static builds
* fix: use Tweag's approach
* fix: debug build
* chore: mark USE_MIMALLOC as experimental
* ci: build a static binary using mimalloc
2024-04-23 14:04:25 +02:00
Rob Landers
1abd549eb7
limit concurrency for static/docker builds ( #711 )
2024-04-09 23:11:21 +02:00
Kévin Dunglas
f182eba6f0
ci: prevent some useless runs when only docs are updated
2024-03-13 21:59:40 +01:00
Kévin Dunglas
408cc5fb5a
ci: re-add non-debug builds to the matrix ( #656 )
2024-03-13 17:38:13 +01:00
Kévin Dunglas
9a88401b03
ci: fix upload debug builds
2024-03-11 18:03:10 +01:00
Kévin Dunglas
e0531fa17c
ci: build static binary with debug symbols
2024-03-09 00:33:11 +01:00
Kévin Dunglas
14d1fd93a4
docs: remove the fixed Datadog know issue
2024-03-04 18:42:01 +01:00
Kévin Dunglas
f5af2a2e87
docs: add more known issues and improve bug template
2024-02-28 22:14:37 +01:00
dependabot[bot]
c00a011221
ci: bump golangci/golangci-lint-action from 3 to 4
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 3 to 4.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-02-13 05:18:19 +01:00
Kévin Dunglas
feaa950d89
feat: compile with Go 1.22 ( #568 )
2024-02-12 10:00:46 +01:00
Kévin Dunglas
5da805d9ee
ci: use Apple Silicon machines when useful ( #550 )
...
* ci: add Apple Silicon build
* ci: let the CI build Apple Silicon binaries
2024-02-04 18:25:04 +01:00
Kévin Dunglas
b61900eae1
ci: fix push or Docker dev images
2024-02-02 12:21:59 +01:00
Kévin Dunglas
e53b1ce891
ci: use master Buildx version
2024-02-01 23:51:08 +01:00
Kévin Dunglas
ab7ce9cb18
ci: temporary fix for Buildx crash
2024-01-31 16:29:45 +01:00
Kévin Dunglas
5afde55ebf
ci: debug Docker buildx crash
2024-01-31 15:59:54 +01:00
Kévin Dunglas
da63e700b0
ci: fix scheduled Docker images build (ctd)
2024-01-31 15:21:03 +01:00
Kévin Dunglas
3d9f344a50
docs: Docker image updates and tags
2024-01-30 22:07:33 +01:00
Kévin Dunglas
65c8720250
ci: push dev Docker images to a dedicated repository
2024-01-30 18:17:02 +01:00
Kévin Dunglas
59dd04234f
ci: fix scheduled Docker images build
2024-01-30 15:05:24 +01:00
Kévin Dunglas
62d53253d1
ci: add a bug report form
2024-01-29 14:08:16 +01:00