Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -315,10 +315,10 @@ jobs:
# Bump the last segment of the version prefix below to force a cache reset.
# Lookup cache based on the default branch and a timestamp. Allows
# to use cache from the very first build on the day (sanitized database dump, for example).
- v26.8.1-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback" }}-{{ checksum "/tmp/db_cache_timestamp" }}
- v26.10.0-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback" }}-{{ checksum "/tmp/db_cache_timestamp" }}
# Fallback to caching by default branch name only. Allows to use
# cache from the branch build on the previous day.
- v26.8.1-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback" }}-
- v26.10.0-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback" }}-

- run:
name: Fetch DB
Expand Down Expand Up @@ -377,7 +377,7 @@ jobs:
# The cache will not be saved if it already exists.
# Note that the cache fallback flag is enabled for this case in order
# to save cache even if the fallback is not used when restoring it.
key: v26.8.1-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback_yes" }}-{{ checksum "/tmp/db_cache_timestamp" }}
key: v26.10.0-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback_yes" }}-{{ checksum "/tmp/db_cache_timestamp" }}
paths:
- /root/project/.data

Expand Down Expand Up @@ -463,8 +463,8 @@ jobs:
keys:
# Use cached artifacts from previous builds of this branch.
# https://circleci.com/docs/2.0/caching/#restoring-cache
- v26.8.1-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback_yes" }}-{{ checksum "/tmp/db_cache_timestamp" }}
- v26.8.1-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback_yes" }}-
- v26.10.0-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback_yes" }}-{{ checksum "/tmp/db_cache_timestamp" }}
- v26.10.0-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback_yes" }}-
#;> !PROVISION_TYPE_PROFILE

- *step_setup_remote_docker
Expand Down
10 changes: 5 additions & 5 deletions .circleci/vortex-test-common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -135,10 +135,10 @@ jobs:
# Bump the last segment of the version prefix below to force a cache reset.
# Lookup cache based on the default branch and a timestamp. Allows
# to use cache from the very first build on the day (sanitized database dump, for example).
- v26.8.1-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback" }}-{{ checksum "/tmp/db_cache_timestamp" }}
- v26.10.0-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback" }}-{{ checksum "/tmp/db_cache_timestamp" }}
# Fallback to caching by default branch name only. Allows to use
# cache from the branch build on the previous day.
- v26.8.1-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback" }}-
- v26.10.0-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback" }}-

- run:
name: Fetch DB
Expand Down Expand Up @@ -197,7 +197,7 @@ jobs:
# The cache will not be saved if it already exists.
# Note that the cache fallback flag is enabled for this case in order
# to save cache even if the fallback is not used when restoring it.
key: v26.8.1-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback_yes" }}-{{ checksum "/tmp/db_cache_timestamp" }}
key: v26.10.0-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback_yes" }}-{{ checksum "/tmp/db_cache_timestamp" }}
paths:
- /root/project/.data

Expand Down Expand Up @@ -264,8 +264,8 @@ jobs:
keys:
# Use cached artifacts from previous builds of this branch.
# https://circleci.com/docs/2.0/caching/#restoring-cache
- v26.8.1-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback_yes" }}-{{ checksum "/tmp/db_cache_timestamp" }}
- v26.8.1-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback_yes" }}-
- v26.10.0-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback_yes" }}-{{ checksum "/tmp/db_cache_timestamp" }}
- v26.10.0-{{ checksum "/tmp/db_cache_branch" }}-{{ checksum "/tmp/db_cache_fallback_yes" }}-
#;> !PROVISION_TYPE_PROFILE

- *step_setup_remote_docker
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/build-test-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -296,11 +296,11 @@ jobs:
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6
with:
path: .data
key: v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback') }}-${{ hashFiles('db_cache_timestamp') }}
key: v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback') }}-${{ hashFiles('db_cache_timestamp') }}
# Fallback to caching by default branch name only. Allows to use
# cache from the branch build on the previous day.
restore-keys: |
v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback') }}-
v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback') }}-

- name: Fetch DB
run: |
Expand Down Expand Up @@ -364,7 +364,7 @@ jobs:
if: env.db_hash != hashFiles('.data')
with:
path: .data
key: v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}
key: v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}
#;> !PROVISION_TYPE_PROFILE

build:
Expand Down Expand Up @@ -481,7 +481,7 @@ jobs:
date "${VORTEX_CI_DB_CACHE_TIMESTAMP}" | tee db_cache_timestamp

- name: Show cache key for database caching
run: echo 'v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}'
run: echo 'v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}'

# Restore DB cache based on the cache strategy set by the cache keys below.
# Bump the last segment of the version prefix below to force a cache reset.
Expand All @@ -493,9 +493,9 @@ jobs:
path: .data
fail-on-cache-miss: true
# Use cached database from previous builds of this branch.
key: v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}
key: v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}
restore-keys: |
v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-
v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-
#;> !PROVISION_TYPE_PROFILE

- name: Login to container registry
Expand Down
24 changes: 12 additions & 12 deletions .github/workflows/vortex-test-didi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,11 +142,11 @@ jobs:
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6
with:
path: .data
key: v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback') }}-${{ hashFiles('db_cache_timestamp') }}
key: v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback') }}-${{ hashFiles('db_cache_timestamp') }}
# Fallback to caching by default branch name only. Allows to use
# cache from the branch build on the previous day.
restore-keys: |
v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback') }}-
v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback') }}-

- name: Fetch DB
run: |
Expand Down Expand Up @@ -210,7 +210,7 @@ jobs:
if: env.db_hash != hashFiles('.data')
with:
path: .data
key: v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}
key: v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}

vortex-dev-didi-build-fi:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -328,7 +328,7 @@ jobs:
date "${VORTEX_CI_DB_CACHE_TIMESTAMP}" | tee db_cache_timestamp

- name: Show cache key for database caching
run: echo 'v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}'
run: echo 'v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}'

# Restore DB cache based on the cache strategy set by the cache keys below.
# Bump the last segment of the version prefix below to force a cache reset.
Expand All @@ -340,9 +340,9 @@ jobs:
path: .data
fail-on-cache-miss: true
# Use cached database from previous builds of this branch.
key: v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}
key: v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}
restore-keys: |
v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-
v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-
#;> !PROVISION_TYPE_PROFILE

- name: Login to container registry
Expand Down Expand Up @@ -653,11 +653,11 @@ jobs:
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6
with:
path: .data
key: v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback') }}-${{ hashFiles('db_cache_timestamp') }}
key: v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback') }}-${{ hashFiles('db_cache_timestamp') }}
# Fallback to caching by default branch name only. Allows to use
# cache from the branch build on the previous day.
restore-keys: |
v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback') }}-
v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback') }}-

- name: Fetch DB
run: |
Expand Down Expand Up @@ -721,7 +721,7 @@ jobs:
if: env.db_hash != hashFiles('.data')
with:
path: .data
key: v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}
key: v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}

vortex-dev-didi-build-ii:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -839,7 +839,7 @@ jobs:
date "${VORTEX_CI_DB_CACHE_TIMESTAMP}" | tee db_cache_timestamp

- name: Show cache key for database caching
run: echo 'v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}'
run: echo 'v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}'

# Restore DB cache based on the cache strategy set by the cache keys below.
# Bump the last segment of the version prefix below to force a cache reset.
Expand All @@ -851,9 +851,9 @@ jobs:
path: .data
fail-on-cache-miss: true
# Use cached database from previous builds of this branch.
key: v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}
key: v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-${{ hashFiles('db_cache_timestamp') }}
restore-keys: |
v26.8.1-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-
v26.10.0-${{ hashFiles('db_cache_branch') }}-${{ hashFiles('db_cache_fallback_yes') }}-
#;> !PROVISION_TYPE_PROFILE

- name: Login to container registry
Expand Down
2 changes: 1 addition & 1 deletion .vortex/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ pass "Disabled Search API Solr server."
**Publishing**: the version is injected at publish time - never hardcode
`version` in the package `composer.json`. The path repository in the
template's root `composer.json` declares
`"versions": {"drevops/vortex-tooling": "1.4.0"}` so the in-repo copy
`"versions": {"drevops/vortex-tooling": "1.5.0"}` so the in-repo copy
resolves during development; the installer strips that entry from consumer
sites so they resolve from Packagist.

Expand Down
11 changes: 9 additions & 2 deletions .vortex/docs/.utils/type-and-run.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,12 @@
echo "\n";
flush();

passthru($cmd, $exit_code);
exit($exit_code);
// The command writes to the terminal itself rather than a pipe, so Docker
// Compose can open a console for its build progress.
$process = proc_open($cmd, [STDIN, STDOUT, STDERR], $pipes);
if (!is_resource($process)) {
fwrite(STDERR, sprintf("Failed to run: %s\n", $cmd));
exit(1);
}

exit(proc_close($process));
4 changes: 3 additions & 1 deletion .vortex/docs/.utils/update-videos.php
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,8 @@ function build_installer_expect_script(int|float $prompt_delay, string $uri): st
}
}

# A multiselect that scrolls prints its selection count in the bottom border,
# so the corner follows the count instead of a line.
while {1} {
expect {
"Proceed with installing Vortex?" {
Expand All @@ -253,7 +255,7 @@ function build_installer_expect_script(int|float $prompt_delay, string $uri): st
"Finished installing Vortex" {
break
}
"─┘" {
-re {─┘| selected ┘} {
wait_and_enter
}
timeout {
Expand Down
2 changes: 1 addition & 1 deletion .vortex/docs/content/architecture.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ The scripts share these traits:

The scripts aren't part of the template's own files: they're a dependency.
Your project's `composer.json` requires `drevops/vortex-tooling` with a
tilde constraint (`~1.4.0` in the shipped template), which accepts patch
tilde constraint (`~1.5.0` in the shipped template), which accepts patch
releases but holds the minor version. As a result, a new minor release can't
reach your deployments until the constraint is raised. A **Vortex** release
that changes the scripts raises it, and
Expand Down
4 changes: 2 additions & 2 deletions .vortex/docs/content/contributing/maintenance/release.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -175,8 +175,8 @@ To release a new version of **Vortex**, follow these steps:
docker compose run --rm cli php -r "echo PHP_VERSION_ID . PHP_EOL;"
```

The commands print the version and its ID, for example `8.4.23` and
`80423`.
The commands print the version and its ID, for example `8.4.25` and
`80425`.

5. In `composer.json`, set `config.platform.php` to the PHP version.
6. In `phpcs.xml`, set `testVersion` to the major and minor PHP version, for
Expand Down
2 changes: 1 addition & 1 deletion .vortex/docs/content/development/code-quality/phpcs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ To add or remove targets, add or remove the `<file>` entries in

The `PHPCompatibility` checks run against PHP `8.4`, the `testVersion` value
in `phpcs.xml`, which matches the `composer.json` key `config.platform.php`
(`8.4.23`). PHPCS doesn't read that key, so update both when you move to a
(`8.4.25`). PHPCS doesn't read that key, so update both when you move to a
new PHP version:

```xml
Expand Down
2 changes: 1 addition & 1 deletion .vortex/docs/content/development/code-quality/phpstan.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ The analysis runs at [level 7](https://phpstan.org/user-guide/rule-levels)
with the Drupal context in mind, thanks to
[`mglaman/phpstan-drupal`](https://github.com/mglaman/phpstan-drupal), which
`phpstan/extension-installer` loads automatically. It treats the code as
PHP 8.4.23: the `phpVersion` value of `80423` matches the `composer.json`
PHP 8.4.25: the `phpVersion` value of `80425` matches the `composer.json`
key `config.platform.php`. PHPStan doesn't read that key, so update both
when you move to a new PHP version.

Expand Down
4 changes: 2 additions & 2 deletions .vortex/docs/content/development/composer.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ logic.
```json
{
"require": {
"drevops/vortex-tooling": "~1.4.0"
"drevops/vortex-tooling": "~1.5.0"
}
}
```
Expand Down Expand Up @@ -747,7 +747,7 @@ following keys:
- [`platform`](https://getcomposer.org/doc/06-config.md#platform): Tells
Composer which PHP version to resolve dependencies for, regardless of the
PHP version that runs Composer. Set it as an exact version number, such as
the `8.4.23` that **Vortex** ships, and keep it in sync with the PHP
the `8.4.25` that **Vortex** ships, and keep it in sync with the PHP
version in the [Docker containers](environment/docker.mdx).
- [`sort-packages`](https://getcomposer.org/doc/06-config.md#sort-packages):
When set to `true`, `composer require` keeps the package lists in
Expand Down
4 changes: 2 additions & 2 deletions .vortex/docs/content/faqs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ template instead of a dependency package. With a template, you have full
control. With a package, someone else has full control of the code that
drives your project. **Vortex** already takes the package route for its
scripts: they ship as the `drevops/vortex-tooling` Composer package and
update through Composer. The template requires it as `~1.4.0`, so
`composer update` picks up only `1.4.x` patch releases. A newer minor
update through Composer. The template requires it as `~1.5.0`, so
`composer update` picks up only `1.5.x` patch releases. A newer minor
version arrives when `ahoy update-vortex` brings a `composer.json` with a
raised constraint.

Expand Down
Loading