Commit graph

359 commits

Author SHA1 Message Date
Oliver Davies eeeb70df14 chore: allow for missing fields 2023-03-10 22:10:07 +00:00
Oliver Davies 8b2181525d fix: automatically copy PHPUnit files 2023-03-09 11:51:44 +00:00
Oliver Davies 96a7cd3cef ci: run PHPStan static analysis 2023-03-08 21:58:40 +00:00
Oliver Davies 484ff14d1f ci: initial workflow 2023-03-08 21:57:39 +00:00
Oliver Davies 78411c319c chore: fix PHPStan errors 2023-03-08 21:21:12 +00:00
Oliver Davies 0fcffc5d2f feat: add "auto-generated" text to templates
Fixes #21
2023-03-08 21:13:28 +00:00
Oliver Davies d04169a0d8 feat(justfile): add an install recipe
Fixes #26
2023-03-08 21:08:56 +00:00
Oliver Davies 3449ec5390 feat: add a phpunit.xml.dist file for Drupal
Fixes #15
2023-03-03 21:59:26 +00:00
Oliver Davies 5f1c8afa9c fix: include MySQL variables for Drupal
These environment variables are needed for the initial database to be
created for Drupal.
2023-03-03 21:54:15 +00:00
Oliver Davies a5f5771317 fix: add /app/bin to PATH
Ensure that Drush and other vendor binaries will work if the vendor bin
path is changed to `/app/bin` as it is with LocalGov Drupal.

Refs #24
2023-03-03 21:52:05 +00:00
Oliver Davies 38cfb31b2a chore: export DOCKER_UID 2023-03-03 21:46:06 +00:00
Oliver Davies a70557d2d5 refactor: extract a configuration validator 2023-02-25 00:21:43 +00:00
Oliver Davies 46747d2bf8 feat: allow for disabling a justfile
Prevent generating a justfile by adding `justfile: false` to the
project's build.yaml file.

Refs: #18
2023-02-21 08:33:51 +00:00
Oliver Davies fa1774b550 feat: create a justfile
Refs: #18
2023-02-21 08:33:45 +00:00
Oliver Davies 34810088c3 feat: add extra_files
Copy extra files into the image.
2023-02-20 23:00:22 +00:00
Oliver Davies d66f34480a feat: use a non-root Docker user
Create a non-root `app` user within Docker that maps to default user
(uid 1000) on Linux-based systems.

Refs #10
2023-02-19 13:00:06 +00:00
Oliver Davies 1fb75c9d93 feat: make the Drupal docroot configurable
Allow for setting a `docroot` directory for Drupal projects.

By default, I've set this to `web` as that's what the Drupal Composer
scaffold projects use, but other platforms such as Acquia Cloud hosting
use `docroot`.

This is how it can be configured in `build.yaml`:

```yaml
drupal:
  docroot: docroot
```

Fixes #2
2023-02-19 13:00:06 +00:00
Oliver Davies 8e1d0bae84
Create README.md 2023-02-15 22:00:37 +00:00
Oliver Davies cf7eb194f2
Delete build.yaml 2023-02-15 14:18:59 +00:00
Oliver Davies 142b95902d build: add flake.nix 2023-02-15 13:59:26 +00:00
Oliver Davies eb29d11134 feat: add Caddy as a web server 2023-02-14 20:14:43 +00:00
Oliver Davies 1d7f796538 feat: add extra hosts to the web service 2023-02-14 14:35:45 +00:00
Oliver Davies dd68f6c03e fix: ensure docker-entrypoint-php is executable 2023-02-14 11:22:30 +00:00
Oliver Davies b258b3e034 feat(Dockerfile): allow adding extra directories 2023-02-14 10:41:51 +00:00
Oliver Davies 1e800c0a56 refactor: run each command in a separate layer
This makes it easier to debug from which command an error might be
coming from.
2023-02-14 10:41:08 +00:00
Oliver Davies fa83cfee63 chore: add web as an optional configuration key 2023-02-14 09:23:43 +00:00
Oliver Davies acc3c0eda0 feat: add initial validation of build.yaml 2023-02-10 19:18:58 +00:00
Oliver Davies f91262419e fix: check for docker-compose and dockerCompose 2023-02-10 19:16:04 +00:00
Oliver Davies c92a59e9bd refactor: rename variable 2023-02-03 22:04:20 +00:00
Oliver Davies 36b32b69cc refactor: extract a method to generate files 2023-02-03 22:03:05 +00:00
Oliver Davies 8cbb834c33 fix: enum comparisons and check for null values 2023-02-03 22:02:25 +00:00
Oliver Davies 5ea7d312a6 refactor: extract helpers 2023-02-03 20:35:56 +00:00
Oliver Davies ddb1bcd58d feat: make the database values configurable
- Allow for setting a database `type` and `version`.
- Don't add a `database` service to docker-compose.yaml if there is no
  key within `docker-compose`.

Fixes #14
2023-02-03 20:13:28 +00:00
Oliver Davies a9a4925515 fix: undefined array key web 2023-02-03 18:57:50 +00:00
Oliver Davies 35f4c2e44a build: update the main and output filenames 2023-02-03 18:55:06 +00:00
Oliver Davies b0238beb67 refactor: add an Enum for languages 2023-02-02 18:06:47 +00:00
Oliver Davies 4e861685d9 chore: group PHP-related templates 2023-02-02 00:40:42 +00:00
Oliver Davies b1da05e9cf Rename binary file and make it executable 2023-01-21 20:48:03 +00:00
Oliver Davies 83cb16a818 Rename files and update namespace 2023-01-21 20:42:52 +00:00
Oliver Davies 31600df9c3 Add nginx configuration files 2023-01-21 19:53:25 +00:00
Oliver Davies 43f27371e2 Fix missing dependencies on first load 2023-01-21 19:53:19 +00:00
Oliver Davies f2e95f2b07 Rename the bin file 2023-01-21 19:52:04 +00:00
Oliver Davies 8837836d86 fix: Docker Compose configuration is an object 2023-01-21 12:28:02 +00:00
Oliver Davies 9c3e9a7819 Delete test.twig 2023-01-20 08:15:20 +00:00
Oliver Davies 24082ef007 Use build-config for build-config 2023-01-20 00:28:55 +00:00
Oliver Davies de35314400 docs: Add language to example build files 2023-01-19 22:40:49 +00:00
Oliver Davies 4a575c7d14 fix: Commands should be separated by newlines 2023-01-19 22:40:09 +00:00
Oliver Davies 076d994baf build: Add PHPStan 2023-01-19 22:39:23 +00:00
Oliver Davies b72f26b035 Remove the default option 2023-01-19 22:38:43 +00:00
Oliver Davies 2bc95de686 Make the configuration file configurable 2023-01-19 20:45:02 +00:00