Commit graph

134 commits

Author SHA1 Message Date
Oliver Davies af3c1fb840 Automatically find the build configuration file
Automatically find and use a `build-configs.yaml` or `build.yaml` if it
exists.

The `--config-file` option is still available if a custom filename needs
to be used, and it's currently used when running snapshot tests.
2024-08-03 20:56:45 +01:00
Oliver Davies 2ca755ee28 Refactor Actions to Commands 2024-08-03 20:48:15 +01:00
Oliver Davies a83c51bbcd Move console commands into a Console directory 2024-08-03 12:22:19 +01:00
Oliver Davies 39988504d9 fractal: create both Docker and Nix files if needed
The two aren't mutually exclusive so a project could use both.
2024-08-03 10:44:48 +01:00
Oliver Davies 11b72e35d4 Remove unused Terraform templates 2024-08-03 10:39:29 +01:00
Oliver Davies 5c976b13fb Alias symfony-cli to symfony 2024-07-31 18:21:30 +01:00
Oliver Davies 8b59f9f1c9 Map the sculpin-site template to the sculpin
...type
2024-07-31 10:20:28 +01:00
Oliver Davies e81303b7bc Add support for the new build-configs.yaml file
- `template` is mapped to `type`.
- Parameters are moved into a `parameters` key.
- `parameters.nix` is mapped to `parameters.flake` (`parameters.flake`
  will be deprecated).
2024-07-31 10:20:28 +01:00
Oliver Davies 43849524a2 Add PHP opcache 2024-04-08 18:12:57 +01:00
Oliver Davies 1369ee750a Remove createInclusiveGitIgnoreFile option 2024-04-04 23:39:37 +01:00
Oliver Davies 3065597f64 Add Apache support to Drupal 2024-04-04 19:09:53 +01:00
Oliver Davies 0d774daca0 Add Behat
Add Behat as a dev dependency and add the example `ls` example.

Due to a deprecation error, I needed to downgrade to PHP 8.1 on stream,
though this would error the main `app:generate` command as I'm using
`readonly` classes that were introduced in PHP 8.2.
2024-03-01 20:35:26 +00:00
Oliver Davies 65070dfb2b Coding standards fix 2024-03-01 20:32:38 +00:00
Oliver Davies a5fe4dada8 Use non-empty-string 2024-03-01 20:32:38 +00:00
Oliver Davies ea43e67da8 Don't generate files if the --dry-run option is set
* Add the --dry-run option.
* Add a warning if --dry-run is used saying no files have been
  generated.
2024-03-01 20:32:38 +00:00
Oliver Davies e64b340af2 Allow extra fields
Since removing `useNewDatabaseCredentials`, projects with it in its
build.yaml file were failing as it was an additional value.

Allowing extra fields prevents the project from erroring.
2024-03-01 20:32:38 +00:00
Oliver Davies b60cd7ae1b Revert "Make the PHP test runner conifigurable"
This reverts commit 5f62b02d14.
2024-02-19 10:52:09 +00:00
Oliver Davies 3d0a8215f9 Remove feature flag for different database credentials 2024-02-18 23:13:46 +00:00
Oliver Davies f602b6e1e6 Move Drupal templates into the PHP directory 2024-02-18 23:13:46 +00:00
Oliver Davies 30942b2d95 git: allow for creating inclusive gitignore files 2024-02-18 23:13:46 +00:00
Oliver Davies 5f62b02d14 Make the PHP test runner conifigurable
PHPUnit, Pest or Paratest.
2024-02-18 16:35:37 +00:00
Oliver Davies 95159abc94 Fix web server type checks 2024-01-27 21:00:04 +00:00
Oliver Davies 09da2bc403 Create .tmux files
If `experimental.createTmuxStartupFile` is set in `build.yaml`.
2024-01-26 15:00:24 +00:00
Oliver Davies ed36ac2e28 Create flake.nix files for Symfony projects 2024-01-26 15:00:24 +00:00
Oliver Davies f98a69e21f Initial Sculpin support
* Add Sculpin as a project type
* Declare initial files to generate
* Add flake.nix.twig
* Add .gitignore.twig
* Add run.twig
2024-01-26 14:59:54 +00:00
Oliver Davies 7bab7e91f4 Remove Astro 2024-01-21 22:02:59 +00:00
Oliver Davies fa99fc006f Fix names 2023-12-16 00:05:31 +00:00
Oliver Davies de990f3836 Rename DTO class and variable names 2023-12-15 12:09:50 +00:00
Oliver Davies 87c2f2e496 Allow for running PHPStan on test files and not
...ignoring them within the PHPStan configuration file
2023-11-28 13:31:23 +00:00
Oliver Davies 7c17007d84 refactor(validator): remove duplicate constraints
e.g. if a constraint is a choice of strings, that implies the value must
be a string so there's no need for an additional type constraint.
2023-11-25 08:55:50 +00:00
Oliver Davies e6a757cd05 fix: typed property error 2023-11-23 08:35:19 +00:00
Oliver Davies baaf3bf16b refactor: add isDocker and isFlake to the
...Configuration DTO
2023-11-23 08:24:34 +00:00
Oliver Davies 8eb8a9d6e3 fix: recursively merge default values 2023-11-23 06:58:10 +00:00
Oliver Davies fb53f307af test: adding extra databases 2023-11-23 00:59:27 +00:00
Oliver Davies df070e1c7d style: add spacing between values 2023-11-22 23:57:23 +00:00
Oliver Davies 16ad71f4f4 chore: add missing values to the Config DTO
* Add `dockerfile.stages.*.extra_directories` as an optional list of
  strings.
* Allow `php.phpstan` and `php.phpcs` to be `false` or a Collection so
  their configuration files can not be generated.
* Add `php.phpunit` and allow it to be set to `false` so its
  configuration files can not be generated.
* Add `database.extra_databases`
* Add `php.phpstan.baseline` as an optional boolean.
* Add `node.version` as a string.
2023-11-22 23:50:20 +00:00
Oliver Davies b32813f4d7 chore: use new database credentials by default
Use the new database credentials by default.

The `experimental.useNewDatabaseCredentials` feature flag can be removed
once it's been removed from all `build.yaml` files.
2023-11-22 23:45:49 +00:00
Oliver Davies e9d5c4ea6f test: ensure the project type is valid 2023-11-22 21:48:49 +00:00
Oliver Davies b65e92b790 test: ensure the web server is a valid type 2023-11-22 21:45:01 +00:00
Oliver Davies 95012241e1 chore: add missing values to the Config DTO
Add missing properties and constraints to the `Config` data transfer
object.
2023-11-22 21:08:18 +00:00
Oliver Davies 517309e222 chore: PHPStan errors 2023-11-22 20:06:30 +00:00
Oliver Davies 1c5eac72bb test: re-add original tests 2023-11-06 01:07:23 +00:00
Oliver Davies 02774b820b feat(gitignore): add additional ignored paths 2023-10-18 20:54:36 +02:00
Oliver Davies 696aa5d617 feat(drupal): allow for disabling quality checks
For Commerce Kickstart, there are no custom modules so these checks will
fail in the CI pipeline.
2023-10-18 20:38:53 +02:00
Oliver Davies f5a8c691f0 chore(run): replace justfiles with run files 2023-10-07 22:23:40 +01:00
Oliver Davies f911d52573 feat(drupal): re-add phpstan.neon.dist 2023-10-06 15:26:10 +01:00
Oliver Davies af24a4b4fa feat(terraform): add support for terraform repos
Add terraform as a project type, make the language optional, and add a
.gitignore and justfile template for Terraform repositories.
2023-09-27 18:57:04 +01:00
Oliver Davies 9176f34444 refactor: remove old code and templates 2023-09-25 00:57:06 +01:00
Oliver Davies ad86e066cb fix(git-hooks): re-add 2023-09-25 00:52:09 +01:00
Oliver Davies ef928cbb3a chore: add TODOs 2023-09-25 00:26:19 +01:00