Oliver Davies
4b67b0edb1
fix(fractal): run inside the container
2023-10-08 09:52:50 +01: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
783d76fcf5
refactor(drupal): reorganise templates
2023-09-25 00:25:11 +01:00
Oliver Davies
cfbdeb375e
refactor(fractal): reorganise templates
...
Refs: OD-44
2023-09-25 00:17:41 +01:00
Oliver Davies
b6b6e86558
fix(drupal): syntax error
2023-09-24 23:23:33 +01:00
Oliver Davies
88b92924fb
feat(astro): add justfile
2023-09-24 23:13:43 +01:00
Oliver Davies
bfee1e8029
feat(drupal): add justfile
2023-09-24 23:13:24 +01:00
Oliver Davies
c9faf7bda3
refactor(drupal): reorganise templates
2023-09-24 22:55:07 +01:00
Oliver Davies
7db995f109
fix(astro): incorrect template name
2023-09-24 21:50:35 +01:00
Oliver Davies
ff5f2aa875
feat(astro): add .gitignore
2023-09-24 21:49:02 +01:00
Oliver Davies
9c450a850e
revert(astro): move projects into a language
...
This reverts commit f5803212e5
.
2023-09-24 21:24:19 +01:00
Oliver Davies
f5803212e5
refactor(astro): move projects into a language
...
...directory
2023-09-24 18:55:06 +01:00
Oliver Davies
cd4355bbc1
feat: add support for Astro projects
2023-09-24 18:10:24 +01:00
Oliver Davies
022315edd3
refactor: rename node
to typescript
2023-09-24 15:52:49 +01:00
Oliver Davies
33563446d1
chore(justfile): remove test-watch
2023-09-24 15:25:22 +01:00
Oliver Davies
8f48eea65f
feat(flakes): add direnv support
...
Generate an `.envrc` file to add support for Nix Flakes for projects
that use them.
I currently have `.direnv` directories ignored globally though this
could be added to a `.gitignore` template when one is added.
Refs: OD-43
2023-08-29 23:24:47 +01:00
Oliver Davies
1a70ba7c17
refactor(git-hooks): remove comment
2023-08-27 00:18:04 +01:00
Oliver Davies
452b779fa4
feat(git-hooks): allow issue IDs on multiple lines
2023-08-27 00:03:35 +01:00
Oliver Davies
b5fd94b369
refactor(git-hooks): move description text
2023-08-26 23:42:17 +01:00
Oliver Davies
ec494d934f
fix(git-hooks): always create the commit msg hook
2023-08-26 23:05:51 +01:00
Oliver Davies
acd73bcb4f
chore(git): change placeholder to Refs:
...
This is more inline with the conventional commits approach and
encourages it to be replaced manually if not being done with commit
hooks.
2023-08-26 22:27:00 +01:00
Oliver Davies
ac854bf8c7
feat(git): automatically add refs
to commit
...
...messages
Add a `prepare-commit-msg` hook to automaically add `Refs` values, such
as issue IDs or commit SHAs to a Git commit message body by replacing an
`ISSUE_ID` placeholder that can be added to a commit message template.
2023-08-26 22:19:35 +01:00
Oliver Davies
17142d868f
feat(github-actions): run tests first
...
The tests are the most valuable part of the CI pipeline, so these should
be run first.
If a PHPCS or PHPStan error occurs but the tests pass, we know the
functionality works and the error can be addressed.
If a test fails, the CI pipeline will fail sooner.
In the future, the tasks could be split into separate jobs though it
would need to be done in a way that doesn't add a lot of repetition.
Refs: OD-41
2023-08-19 08:40:15 +01:00
Oliver Davies
c68bca3d56
chore: rename drupal-project to drupal
2023-07-22 10:40:02 +01:00
Oliver Davies
22e5e7aed5
ci: create the traefik network
2023-06-27 21:35:58 +01:00
Oliver Davies
ca2b0731e5
fix(docker-compose): set network as external
2023-06-27 21:20:59 +01:00
Oliver Davies
99ffb87446
feat(flake): generate nix.flake instead of Docker
...
...files if a `flake` key exists in a `build.yaml` file.
Refs: OD-37
2023-06-27 17:29:59 +01:00
Oliver Davies
db76011b91
fix(docker-compose): remove empty anchors
2023-06-11 01:07:30 +01:00
Oliver Davies
7af6ec5d8a
fix: use Traefik with PHP Apache images
2023-06-05 23:02:01 +01:00
Oliver Davies
1c7f1f2e2b
feat(php): make ini values configurable
...
Refs: OD-28
2023-06-05 22:01:10 +01:00
Oliver Davies
b121f2fb77
fix: jpg support for image styles
2023-06-05 21:51:31 +01:00
Oliver Davies
590cb8ffc0
feat(justfile): add test-watch recipe
...
Automatically re-run tests when files change using nodemon.
2023-05-11 20:50:44 +01:00
Oliver Davies
34e85ccdb4
fix(justfile): running tests in Drupal
2023-05-09 20:24:21 +01:00
Oliver Davies
6531efe56e
fix: indentation error
2023-05-09 20:09:12 +01:00
Oliver Davies
0cd35db6db
fix: only generate a web
service if it's
...
...included in the `services` list in `build.yaml`.
2023-05-09 19:40:43 +01:00
Oliver Davies
1e9fcc8a75
refactor!: change services into a list of names
...
Previously:
```yaml
docker-compose:
services:
database: ~
php:
build:
target: build
```
Now:
```yaml
docker-compose:
services:
- database
- php
```
2023-05-09 19:13:32 +01:00
Oliver Davies
356b97cbde
refactor(docker-compose): simplify the build
...
...stage
Hard-code more of these values as they're the same for all projects.
2023-05-02 22:55:30 +01:00
Oliver Davies
830c37c681
fix: add missing managed text
2023-04-24 23:00:25 +01:00
Oliver Davies
2afdf43cd2
feat: add and enable pre-push Git hooks
2023-04-24 22:54:34 +01:00
Oliver Davies
c419332bad
fix: incorrect directory name
2023-04-24 20:30:34 +01:00
Oliver Davies
2a9d4ca7b4
feat(justfile): add start and stop recipes
2023-04-24 20:26:34 +01:00
Oliver Davies
fc87a82688
fix: only add if CI config is generated
2023-04-24 19:41:23 +01:00
Oliver Davies
4af661bad4
fix(phpcs): Drupal standard missing if standards
...
...are empty
2023-04-23 20:47:08 +01:00
Oliver Davies
e715496e76
feat(phpstan): include baseline file
2023-04-23 20:15:08 +01:00
Oliver Davies
a947001772
fix(phpcs): duplicate Drupal rule
2023-04-23 20:14:04 +01:00
Oliver Davies
c6fe47aff2
feat(phpcs): run in CI
2023-04-23 19:19:04 +01:00
Oliver Davies
315890165c
fix(phpstan): increase memory limit
2023-04-23 19:18:49 +01:00
Oliver Davies
e67a7180a7
feat(phpcs): add rule overrides
2023-04-23 17:37:27 +01:00
Oliver Davies
d1be2d631b
fix(phpcs): incorrect rule formatting
2023-04-23 17:20:21 +01:00
Oliver Davies
3b0fc2c8a0
fix(phpcs): incorrect rule formatting
2023-04-23 17:16:32 +01:00
Oliver Davies
642b479934
fix(phpstan): correct key
2023-04-21 23:22:17 +01:00
Oliver Davies
d9cdc2bac6
fix(phpstan): ignore test files by default
2023-04-21 23:14:56 +01:00
Oliver Davies
0165029423
feat: run PHPStan in CI if enabled
2023-04-21 21:30:57 +01:00
Oliver Davies
02c8b41194
feat: generate GitHub Actions configuration
...
Generate a GitHub Actions workflow file if a project is opted-in for
this feature.
Refs: OD-29
2023-04-21 01:39:43 +01:00
Oliver Davies
fb63a6c245
feat: opt-in to the new database credentials
...
Allow for changing the default database name, username and password from
`drupal` to `app` by enabling the
`experimental.useNewDatabaseCredentials` feature flag in a project's
`build.yaml` file.
Refs: OD-27
2023-04-16 21:21:40 +01:00
Oliver Davies
96fba34f4a
fix(phpunit): not strict about output during tests
2023-04-12 23:05:29 +01:00
Oliver Davies
53765e6048
fix(phpunit): XML parse error
2023-04-12 22:49:45 +01:00
Oliver Davies
1819fa9a97
refactor(justfile): split onto multiple lines
2023-04-12 22:45:56 +01:00
Oliver Davies
1303656f4a
fix(justfile): remove hard-coded service name
...
Add the service name as a parameter and include it from the `phpunit`
recipe.
2023-04-12 22:36:27 +01:00
Oliver Davies
5c6e25a660
feat(justfile): add phpunit
recipe
...
Add a `phpunit` recipe for running PHPUnit tests, with a `test` alias
that could later be used for running Pest in PHP projects or Jest in a
node project.
2023-04-12 22:21:46 +01:00
Oliver Davies
d45d0d6616
refactor(justfile): add a run
recipe
2023-04-12 22:20:19 +01:00
Oliver Davies
9657ad693e
fix: XML error
...
> XML declaration allowed only at the start of the document
2023-04-11 00:36:02 +01:00
Oliver Davies
4d034d9ba2
feat: allow for adding extra databases
...
Allow for declaring extra databases that should be created when the
project is first started. This is done by adding an `extra_databases`
key to `database`, containing a list of database names.
```yaml
database:
type: mariadb
version: 10
extra_databases:
- tinhat
- freshcover
```
2023-04-07 08:40:42 +01:00
Oliver Davies
692151d26c
fix: Docker Compose YAML error
...
Implement the fix from
https://github.com/docker/compose/issues/10411#issuecomment-1488019350 .
Refs: OD-12
2023-04-07 01:21:07 +01:00
Oliver Davies
410717bb6b
feat(fractal): add more justfile recipes
...
Add `justfile` recipes to build a production version of Fractal and
sync it to an S3 bucket.
2023-04-01 20:27:15 +01:00
Oliver Davies
9cc2f181ee
feat: add hadolint configuration
2023-04-01 20:27:15 +01:00
Oliver Davies
eb01ae0790
fix: add DOCKER_UID
argument
2023-03-17 16:56:24 +00:00
Oliver Davies
fc8474d198
feat: enable Traefik proxy for Fractal
2023-03-17 15:39:33 +00:00
Oliver Davies
7deddd4aa6
refactor: hard-code the build service target name
2023-03-17 14:58:51 +00:00
Oliver Davies
fd5af4f397
fix: missing web service
2023-03-14 23:22:05 +00:00
Oliver Davies
474f8129a9
fix: incorrect docroot value
2023-03-14 23:21:57 +00:00
Oliver Davies
d865f694fd
fix: remove debug code
2023-03-14 23:12:38 +00:00
Oliver Davies
1802fdeb53
fix: incorrect project type
2023-03-14 23:11:59 +00:00
Oliver Davies
62bbe88ffc
fix: spacing
2023-03-14 23:11:28 +00:00
Oliver Davies
39956ee2f5
feat: add .dockerignore
2023-03-14 15:06:13 +00:00
Oliver Davies
7978c03709
feat: initial Laravel support
...
Refs #17
2023-03-13 21:18:31 +00:00
Oliver Davies
5c4ddd52a4
feat(justfile): add recipes for node and fractal
...
Refs: #5
2023-03-12 12:36:59 +00:00
Oliver Davies
b4b289748a
feat: add initial node
support
...
Refs: #5
2023-03-12 12:33:33 +00:00
Oliver Davies
a179f1b0ee
refactor: move the PHP Dockerfile
2023-03-12 11:11:45 +00:00
Oliver Davies
3891774f79
fix: add missing volume to the PHP service
2023-03-10 23:16:39 +00:00
Oliver Davies
25772d512f
fix: missing args from the install
recipe
2023-03-10 23:16:11 +00:00
Oliver Davies
ae8132f0db
feat: add root_commands
...
As well as commands that are run by the `app` user, also specify
commands that should be run by the `root` user such as updating the
`DocumentRoot` within an Apache virtual host.
2023-03-10 23:11:23 +00:00
Oliver Davies
22299f1cc6
feat: disable the web
service
...
Don't create a `web` service in Docker Compose if it has been disabled
in `build.yaml`.
Fixes #28
2023-03-10 22:38:13 +00:00
Oliver Davies
6b5c1b5aee
feat: add project_root
setting
...
Allow for overriding the project root from `/app` to something else,
such as `/var/www/html`.
The default is set within a new `build.defaults.yaml` file which the
project specific file is merged into.
Fixes #27
2023-03-10 22:21:14 +00:00
Oliver Davies
8b2181525d
fix: automatically copy PHPUnit files
2023-03-09 11:51:44 +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
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
eb29d11134
feat: add Caddy as a web server
2023-02-14 20:14:43 +00:00