From 0666356ef2355bb492abf2887da742c401a99df7 Mon Sep 17 00:00:00 2001 From: Alex Skrypnyk Date: Fri, 10 May 2024 08:46:15 +1000 Subject: [PATCH] Updated docs to use DrevOps Scaffold when referencing Scaffold. --- .env.local.default | 2 +- .scaffold/.ahoy.yml | 9 +- .../extra/.env.local.default.variables.sh | 2 +- .scaffold/docs/content/README.mdx | 12 +- .../docs/content/contributing/README.mdx | 14 ++- .../maintenance/documentation.mdx | 29 ++--- .../contributing/maintenance/scripts.mdx | 12 +- .../contributing/maintenance/tests.mdx | 4 +- .../docs/content/contributing/roadmap.mdx | 14 ++- .scaffold/docs/content/drupal/composer.mdx | 6 +- .scaffold/docs/content/drupal/settings.mdx | 6 +- .../content/getting-started/architecture.mdx | 10 +- .../docs/content/getting-started/faqs.mdx | 116 ++++++++++-------- .../docs/content/getting-started/features.mdx | 6 +- .../content/getting-started/installation.mdx | 10 +- .scaffold/docs/content/tools/README.mdx | 2 +- .scaffold/docs/content/tools/hadolint.mdx | 2 +- .../docs/content/tools/twig-cs-fixer.mdx | 2 +- .scaffold/docs/content/workflows/test.mdx | 27 ++-- .../docs/content/workflows/variables.mdx | 2 +- 20 files changed, 156 insertions(+), 131 deletions(-) diff --git a/.env.local.default b/.env.local.default index 00a1ba67c..6a1938a9f 100644 --- a/.env.local.default +++ b/.env.local.default @@ -24,7 +24,7 @@ DREVOPS_PROVISION_OVERRIDE_DB=1 # Override only if you need to use a different URL than the default. # DREVOPS_LOCALDEV_URL="your_site.docker.amazee.io" -# Print debug information in DrevOps scripts. +# Print debug information in DrevOps Scaffold scripts. # DREVOPS_DEBUG=1 #;< !PROVISION_USE_PROFILE diff --git a/.scaffold/.ahoy.yml b/.scaffold/.ahoy.yml index 1579437a4..5ebddd1ae 100644 --- a/.scaffold/.ahoy.yml +++ b/.scaffold/.ahoy.yml @@ -16,11 +16,6 @@ commands: lint-dockerfiles: cmd: ./tests/lint.dockerfiles.sh - lint-docs: - cmd: | - npm --prefix=./docs ci - npm --prefix=./docs run test - test: name: Test Scaffold project. cmd: | @@ -37,7 +32,9 @@ commands: cmd: ./tests/test.workflow.sh test-docs: - cmd: ahoy docs build && ahoy docs test + cmd: | + npm --prefix=./docs ci + npm --prefix=./docs run test # If there are changes to the fixtures - this command will re-run twice reporting error the first time. update-fixtures: diff --git a/.scaffold/docs/.utils/variables/extra/.env.local.default.variables.sh b/.scaffold/docs/.utils/variables/extra/.env.local.default.variables.sh index 340986f3c..d99a59511 100755 --- a/.scaffold/docs/.utils/variables/extra/.env.local.default.variables.sh +++ b/.scaffold/docs/.utils/variables/extra/.env.local.default.variables.sh @@ -11,7 +11,7 @@ DREVOPS_LOCALDEV_URL=".docker.amazee.io" # Set to `1` to override existing downloaded DB dump without asking. DREVOPS_DB_DOWNLOAD_FORCE= -# Set to `1` to print debug information in DrevOps scripts. +# Set to `1` to print debug information in DrevOps Scaffold scripts. DREVOPS_DEBUG= # Set to `y` to suppress Ahoy prompts. diff --git a/.scaffold/docs/content/README.mdx b/.scaffold/docs/content/README.mdx index 31e6dbb3b..735f3076f 100644 --- a/.scaffold/docs/content/README.mdx +++ b/.scaffold/docs/content/README.mdx @@ -11,7 +11,7 @@ sidebar_position: 1 -DrevOps is a project scaffold for [Drupal](https://drupal.org) that is designed +DrevOps Scaffold is a project template for [Drupal](https://drupal.org) that is designed to streamline the development process for building high-quality Drupal websites. The template is validated through automated tests, ensuring all tooling and @@ -33,7 +33,7 @@ for developers to switch between projects and get up to speed quickly. Refer to [Features](getting-started/features.mdx) for more details. -## Why DrevOps? +## Why DrevOps Scaffold? There are many ways to build a Drupal website. The ecosystem is rich with options, but there are not many places to find all the tools and workflows @@ -47,17 +47,17 @@ inheriting the same configuration or workflow bugs. Then, when new tools may need to be introduced, you'll have to manually add them to the project, which can be time-consuming and error-prone. -Enter DrevOps. +Enter DrevOps Scaffold. We've created a project template that eliminates the guesswork: all the essential tools and workflows are already in place, fine-tuned, and vetted through rigorous automated tests. -Using DrevOps also provides a place to test workflows and tools independently, +Using DrevOps Scaffold also provides a place to test workflows and tools independently, away from high-stakes production projects. It’s a proactive approach to catch potential regressions early on. -With DrevOps, consistency is key. We aim for a smooth developer experience +With DrevOps Scaffold, consistency is key. We aim for a smooth developer experience across multiple projects, ensuring you're familiar with the structure and documentation from one project to the next. It's about making things efficient without compromising on quality. @@ -86,5 +86,5 @@ Refer to [Contributing](contributing) for more details. ## License -DrevOps project scaffold is licensed under the GPL-3.0 license. See +DrevOps Scaffold is licensed under the GPL-3.0 license. See the [LICENSE](https://github.com/drevops/scaffold/blob/develop/LICENSE) file for more details. diff --git a/.scaffold/docs/content/contributing/README.mdx b/.scaffold/docs/content/contributing/README.mdx index d9fc967be..a8696372c 100644 --- a/.scaffold/docs/content/contributing/README.mdx +++ b/.scaffold/docs/content/contributing/README.mdx @@ -5,14 +5,15 @@ sidebar_position: 1 # Contributing -DrevOps is an open source project. There are numerous ways to contribute to -DrevOps whether you’re a developer or a non-technical user. +DrevOps Scaffold is an open source project. There are numerous ways to +contribute to DrevOps Scaffold whether you’re a developer or a non-technical +user. ## What forms of contribution are we looking for? -Any form of contribution to DrevOps, be it rectifying a bug, proposing a new -feature, or enhancing our documentation, is highly appreciated. We are glad for -your willingness to assist! +Any form of contribution to DrevOps Scaffold, be it rectifying a bug, proposing +a new feature, or enhancing our documentation, is highly appreciated. We are +glad for your willingness to assist! ## I've discovered a problem @@ -24,7 +25,8 @@ already been reported in the [issue queue](https://github.com/drevops/scaffold/i Fantastic! Please [submit your idea](https://github.com/drevops/scaffold/issues) and we'll gladly review it. While we can't promise every suggestion will be -implemented, we are always keen to hear innovative ideas for enhancing DrevOps. +implemented, we are always keen to hear innovative ideas for enhancing +the DrevOps Scaffold. ## Talk to us on Slack diff --git a/.scaffold/docs/content/contributing/maintenance/documentation.mdx b/.scaffold/docs/content/contributing/maintenance/documentation.mdx index 38691efd3..3f8c8a8f2 100644 --- a/.scaffold/docs/content/contributing/maintenance/documentation.mdx +++ b/.scaffold/docs/content/contributing/maintenance/documentation.mdx @@ -1,16 +1,17 @@ # Authoring documentation -There are 2 types of the documentation that DrevOps provides: +There are 2 types of the documentation that DrevOps Scaffold provides: -1. This Documentation of DrevOps that is then deployed +1. This Documentation of DrevOps Scaffold that is then deployed to https://docs.drevops.com/ -2. Consumer site documentation that is distributed when DrevOps is installed. +2. Consumer site documentation that is distributed when DrevOps Scaffold is + installed. ## docs.drevops.com The Documentation (this site) is written in Markdown and located in [`.scaffold/docs`](https://github.com/drevops/scaffold/blob/develop/.scaffold/docs) directory. This is -removed when you install DrevOps for a +removed when you install DrevOps Scaffold for a consumer site. ### Local build @@ -24,19 +25,18 @@ Parts of the documentation is generated automatically from the codebase. To update it, run: ```bash -composer -d .scaffold/docs/.utils install -cd .scaffold/docs -ahoy update +cd .scaffold +ahoy update-docs ``` -If you have the documentation site running locally, the updates will be seen -immediately. +If you have the documentation site running locally, the content changes will +be available immediately. ### Check spelling and links ```bash -cd .scaffold/docs -ahoy test +cd .scaffold +ahoy test-docs ``` If required, add spelling exclusions to `.scaffold/docs/cspell.json` @@ -53,10 +53,11 @@ An automated CI build publishes this documentation. ## Consumer site documentation -DrevOps provides a scaffold of the consumer site documentation in the +DrevOps Scaffold provides a scaffold of the consumer site documentation in the [`docs`](https://github.com/drevops/scaffold/blob/develop/docs) directory. -After DrevOps is installed into the consumer site, these docs are intended to -be used by the site maintainers and stay up-to-date with the project changes. +After DrevOps Scaffold is installed into the consumer site, these docs are +intended to be used by the site maintainers and stay up-to-date with the +project changes. See [Documentation](../../workflows/documentation.mdx) section. diff --git a/.scaffold/docs/content/contributing/maintenance/scripts.mdx b/.scaffold/docs/content/contributing/maintenance/scripts.mdx index 853402c57..276ab3223 100644 --- a/.scaffold/docs/content/contributing/maintenance/scripts.mdx +++ b/.scaffold/docs/content/contributing/maintenance/scripts.mdx @@ -68,7 +68,7 @@ pass "Finished GitHub notification for operation ${DREVOPS_NOTIFY_EVENT}" 16. MAY rely on variables from the external scripts (not prefixed with a script-specific prefix), but MUST declare such variables in the header of the file. -17. MAY call other DrevOps scripts (discouraged), but MUST source them rather +17. MAY call other DrevOps Scaffold scripts (discouraged), but MUST source them rather than creating a sub-process. This is to allow passing environment variables down the call stack. 18. SHOULD use `note` messages for informing about the script progress. @@ -82,19 +82,19 @@ Follow these guidelines when creating or updating DrevOps variables. 1. Local variables MUST be in lowercase, and global variables MUST be in uppercase. -2. All DrevOps variables MUST start with `DREVOPS_` to separate DrevOps from +2. All DrevOps Scaffold variables MUST start with `DREVOPS_` to separate DrevOps from third-party variables. 3. Global variables MAY be re-used as-is across scripts. For instance, the `DREVOPS_WEBROOT` variable is used in several scripts. -4. DrevOps action-specific script variables MUST be scoped within their own +4. DrevOps Scaffold action-specific script variables MUST be scoped within their own script. For instance, the `DREVOPS_PROVISION_OVERRIDE_DB` variable in the `provision.sh`. 5. Drupal-related variables SHOULD start with `DRUPAL_` and SHOULD have a module - name added as a second prefix. This is to separate DrevOps, third-party - services variables, and Drupal variables. For instance, to set + name added as a second prefix. This is to separate DrevOps Scaffold, + third-party services variables, and Drupal variables. For instance, to set a user for Drupal's Shield module configuration, use `DRUPAL_SHIELD_USER`. 6. Variables SHOULD NOT be exported into the global scope unless absolutely @@ -103,7 +103,7 @@ Follow these guidelines when creating or updating DrevOps variables. ## Boilerplate script -Use the boilerplate script below to kick-start your custom DrevOps script. +Use the boilerplate script below to kick-start your custom DrevOps Scaffold script. import CodeBlock from '@theme/CodeBlock'; import MyComponentSource from '!!raw-loader!./script-boilerplate.sh'; diff --git a/.scaffold/docs/content/contributing/maintenance/tests.mdx b/.scaffold/docs/content/contributing/maintenance/tests.mdx index 9854ceeee..fc07a7217 100644 --- a/.scaffold/docs/content/contributing/maintenance/tests.mdx +++ b/.scaffold/docs/content/contributing/maintenance/tests.mdx @@ -1,6 +1,6 @@ # Authoring tests -DrevOps uses [Bats](https://github.com/bats-core/bats-core) for testing. +DrevOps Scaffold uses [Bats](https://github.com/bats-core/bats-core) for testing. Bats is a TAP-compliant testing framework for Bash. It provides a simple way to verify that the UNIX programs you write behave as expected. @@ -42,7 +42,7 @@ Some tests use test fixtures such as Drupal database snapshots. ### Updating demo database file dump -1. Run fresh build of DrevOps locally: +1. Run fresh build of DrevOps Scaffold locally: ```bash echo "DRUPAL_PROFILE=standard">>.env.local echo "DREVOPS_PROVISION_USE_PROFILE=1">>.env.local diff --git a/.scaffold/docs/content/contributing/roadmap.mdx b/.scaffold/docs/content/contributing/roadmap.mdx index b96e21c5f..4b52d5eec 100644 --- a/.scaffold/docs/content/contributing/roadmap.mdx +++ b/.scaffold/docs/content/contributing/roadmap.mdx @@ -11,10 +11,16 @@ bug fixes required. ## Current goals -1. Introduction of the DDEV and Lando for local development. -2. Introduction of the GitHub Actions for CI/CD as alternative to CircleCI. -3. Replacing Ahoy with Task. -4. Improving installation and update process. +:::note + + DrevOps Scaffold 2.0 is coming soon! + +::: + +1. Improving installation and update process to use `composer create-project`. +2. Introduction of the DDEV and Lando for local development. +3. Introduction of the GitHub Actions for CI/CD as alternative to CircleCI. +4. Replacing Ahoy with Task. 5. Increasing test coverage for scripts. ## Future goals diff --git a/.scaffold/docs/content/drupal/composer.mdx b/.scaffold/docs/content/drupal/composer.mdx index 58fdb0c6c..4b49ceeca 100644 --- a/.scaffold/docs/content/drupal/composer.mdx +++ b/.scaffold/docs/content/drupal/composer.mdx @@ -27,9 +27,9 @@ provides a starter kit for managing your site dependencies with Composer. Scaffold extends the Drupal Composer project's `composer.json` to support additional features and tools. -DrevOps team will keep the `composer.json` file up-to-date with the latest -version of the `composer.json` in the Drupal Composer project, so you can always -make sure you are using the best community practices. +DrevOps Scaffold team will keep the `composer.json` file up-to-date with the +latest version of the `composer.json` in the [Drupal Composer project](https://github.com/drupal-composer/drupal-project), +so you can always make sure you are using the best community practices. ## `composer.json` diff --git a/.scaffold/docs/content/drupal/settings.mdx b/.scaffold/docs/content/drupal/settings.mdx index d1793a76c..4343c14eb 100644 --- a/.scaffold/docs/content/drupal/settings.mdx +++ b/.scaffold/docs/content/drupal/settings.mdx @@ -135,12 +135,12 @@ functionality. ## Testing settings with unit tests -DrevOps provides a [set of unit tests](https://github.com/drevops/scaffold/blob/develop/tests/phpunit/Drupal) that +DrevOps Scaffold provides a [set of unit tests](https://github.com/drevops/scaffold/blob/develop/tests/phpunit/Drupal) that ensure that the settings apply correctly per environment. These tests are supposed to be maintained within your project, ensuring that settings activated by specific environments and environment variables are applied accurately. -After installing DrevOps, run `vendor/bin/phpunit --group=drupal_settings` to -run the tests for the settings provided by DrevOps. +After installing DrevOps Scaffold, run `vendor/bin/phpunit --group=drupal_settings` to +run the tests for the settings provided by DrevOps Scaffold. You may simply remove these tests if you do not want to maintain them. diff --git a/.scaffold/docs/content/getting-started/architecture.mdx b/.scaffold/docs/content/getting-started/architecture.mdx index ce37e65b8..135519efa 100644 --- a/.scaffold/docs/content/getting-started/architecture.mdx +++ b/.scaffold/docs/content/getting-started/architecture.mdx @@ -8,9 +8,9 @@ Scaffold offers a pre-configured project template that is reliable, tested and ready-to-use. Its main goal is to streamline onboarding, making it as quick and efficient as possible. -## Zen of DrevOps +## Zen of DrevOps Scaffold -Similar to [Zen of Python](https://www.python.org/dev/peps/pep-0020/), DrevOps +Similar to [Zen of Python](https://www.python.org/dev/peps/pep-0020/), DrevOps Scaffold has its own set of principles. * Simple is better than complex. @@ -55,10 +55,10 @@ with addition of several configuration files and directories. │ ├── library # Library of hook implementations. │ └── prod # Hook implementations that run in prod environment. ├── patches # Patches for packages. -├── scripts # Composer, DrevOps and custom project scripts. +├── scripts # Composer, DrevOps Scaffold and custom project scripts. │ ├── composer # Composer scripts. │ ├── custom # Custom project scripts. -│ └── drevops # DrevOps workflow scripts. +│ └── drevops # DrevOps Scaffold workflow scripts. ├── tests # Integration and configuration tests. │ ├── behat # Behat BDD tests. │ └── phpunit # Configuration unit tests @@ -75,7 +75,7 @@ with addition of several configuration files and directories. ├── .ahoy.local.example.yml # Ahoy local configuration file. ├── .dockerignore # Docker ignore configuration file. ├── .editorconfig # Helps maintain consistent coding styles. -├── .env # Environment variables to control project workflow using DrevOps variables. +├── .env # Environment variables to control project workflow using variables. ├── .env.local.default # Environment variables local overrides. ├── .gitignore # Intentionally untracked files to ignore in Git. ├── .gitignore.artifact # Intentionally untracked files to ignore in artifact deployment. diff --git a/.scaffold/docs/content/getting-started/faqs.mdx b/.scaffold/docs/content/getting-started/faqs.mdx index 3e840a7ef..f1d918df0 100644 --- a/.scaffold/docs/content/getting-started/faqs.mdx +++ b/.scaffold/docs/content/getting-started/faqs.mdx @@ -1,90 +1,99 @@ # FAQs -## Why would I use DrevOps instead of just using Drupal Composer template? +## Why would I use DrevOps Scaffold instead of just using Drupal Composer template? You can use Drupal Composer template, but that will be your step 1. Your next -step would be to add all the missing pieces that DrevOps provides, such as CI -integrations, tool configuration, workflows, deployment scripts, +step would be to add all the missing pieces that DrevOps Scaffold provides, +such as CI integrations, tooling configuration, workflows, deployment scripts, hosting-specific configurations, documentation. Then you would have to test all of that and make sure that it works together. And that there are no false positives (for example, passing CI on broken tests can go unnoticed up until the release and would block it). -## Can I use DrevOps with my existing project? +And you would have to maintain all of that and apply the updates to all the +projects that you have (if you like things to be consistent, of course). -Yes, you can install DrevOps into your existing project. +DrevOps Scaffold provides all of that out of the box: you can override anything +you want in your project, but still receive updates and improvements from +DrevOps Scaffold in the future. Your team will also have a central place to +look for the documentation and the tools that they need to use. -## Can I use DrevOps with my existing project and keep my existing CI? +## Can I use DrevOps Scaffold with my existing project? -Yes, but you would need to update your CI configuration to use DrevOps' +Yes, you can install DrevOps Scaffold into your existing project. + +## Can I use DrevOps Scaffold with my existing project and keep my existing CI? + +Yes, but you would need to update your CI configuration to use DrevOps Scaffold's workflow scripts. -We are in the process of adding support for other popular CI providers. +:::note -## Can I use DrevOps with my existing project and keep my existing hosting? + We are in the process of adding support for other popular CI providers. -Yes, but you would need to update some of the deployment scripts to match your -hosting provider. +::: -We are in the process of adding support for popular hosting providers. +## Can I use DrevOps Scaffold with my existing project and keep my existing hosting? -## What about BLT? +Yes, but you would need to update some of the deployment scripts to match your +hosting provider. -BLT uses a different approach to building Drupal projects, where your project -becomes dependent on BLT. DrevOps is a project template, which means that you -can override anything and everything in it. The code is all yours. +:::note -BLT also abstracts (wraps) tooling into own commands. DrevOps encourages the use -of tools the way it was designed. + We are in the process of adding support for popular hosting providers. -DrevOps does provide an Ahoy command file to wrap some the tools to use locally, -but you do not have to use it. +::: -## I do not like some of the decisions made in DrevOps. Can I change them? +## I do not like some of the decisions made in DrevOps Scaffold. Can I make changes? -Yes, you can change anything you want. DrevOps is a project template, which -means that you can disable/remove certain features. +Yes, you can change anything you want. DrevOps Scaffold is a project template, +which means that you can disable/remove certain features. But it also means that +you may need to maintain these changes in the future yourself. Feel free to [open an issue](https://github.com/drevops/scaffold/issues) to -discuss any of the decisions made in DrevOps. +discuss any of the decisions made in DrevOps Scaffold. ## I do not need all these features? It looks like an overkill. -One of the core principles of DrevOps is to provide +One of the core principles of DrevOps Scaffold is to provide rich features to all projects, regardless of their size. If you think that some of the features are not required for your project, then -DrevOps is not for you. However, there were cases when people have discovered -some new tools and approaches by using DrevOps and have decided to keep them -in their projects. So, you may want to give it a try. +DrevOps Scaffold is not for you. However, there were cases when people have +discovered some new tools and approaches by using DrevOps Scaffold and have +decided to keep them in their projects. So, you may want to give it a try. :::note We are working on providing a more streamlined way of choosing the features - during the project creation process. + during the project creation process, so you could reduce the number of + features to the minimum required for your project. ::: ## I think it is too opinionated. -DrevOps is opinionated to the point to make it work as a template. There are -some changes that you can make to the project, but there are also some that have -to stay in order to make tools talk to each other. +DrevOps Scaffold is opinionated to the point to make it work as a project +template. There are some changes that you can make to the project, but there +are also some that have to stay in order to make tools "talk" to each other. There could be some cases when it is unreasonably opinionated - we consider this -as a bug and would be happy to fix it. Please provide your feedback in the +as a defect and would be happy to fix it. Please provide your feedback in the [issue queue](https://github.com/drevops/scaffold/issues). -## How easy is it to upgrade DrevOps? +## How easy is it to upgrade DrevOps Scaffold in my project? -We provide a command to update DrevOps to the latest version. However, any -changes and adjustments made for your project would need to be manually -resolved. +We provide a command to update DrevOps Scaffold to the latest version. When it +runs, it will update the scaffolded code to the latest version. You would then +need to manually resolve any conflicts that may arise. This process is similar +to how developers manually copying the changes from one project to another, but +in this case, it is automated. -This is a trade-off between having an upgradable project template, where you -have full control, and a dependency package, where someone else has full control -of the code that drives your project. +Also, any changes and adjustments made by your team for your project would need +to be manually resolved. This is a trade-off between relying on an upgradable +project template, where you have full control, and a dependency package, where +someone else has full control of the code that drives your project. :::note @@ -95,31 +104,40 @@ of the code that drives your project. ## How easy is it choose the features that I need? -DrevOps provides an installer that allows you to choose the features that you -need interactively. +DrevOps Scaffold provides an installer that allows you to choose the features +that you need interactively. It is usually used as a part of the project creation process. -We are working on providing a more robust installer and a web-UI version. +:::note + + We are working on providing a more robust installer and a web-UI version. + +::: ## Why CircleCI? What about other CI providers? CircleCI was chosen because of its flexibility. More specifically, CircleCI allows to use your own runner container (the container where CI steps run) and use remote Docker, making it possible to build the project in CI **exactly** the -same way as it would be built on the hosting (if your hosting uses Docker). +same way as it would be built in your hosting (if your hosting uses Docker). The other reason is that CircleCI supports passing the build artifacts between jobs via cache. This becomes really powerful on large consumer sites, where -building the project takes a long time. DrevOps mitigates this by providing -a CI configuration used to download and cache the database overnight and use this -cache for all the builds during the day, skipping the long database download +building the project takes a long time. DrevOps Scaffold mitigates this by +providing a [CI configuration](https://github.com/drevops/scaffold/blob/develop/.circleci/config.yml) +used to download and cache the database overnight and use this cache for all +the builds during the day, skipping the long database download and import process. And for the really large projects, CircleCI supports container image caching, meaning that some parts of the application could be built once and then reused in all the subsequent builds. -We are working on bringing integrations with other CI providers. - Read more about [CircleCI](../integrations/ci/circleci.mdx). + +:::note + + We are working on bringing integrations with other CI providers. + +::: diff --git a/.scaffold/docs/content/getting-started/features.mdx b/.scaffold/docs/content/getting-started/features.mdx index ab8f0961c..4f2634979 100644 --- a/.scaffold/docs/content/getting-started/features.mdx +++ b/.scaffold/docs/content/getting-started/features.mdx @@ -67,12 +67,12 @@ The following list includes ✅ completed and 🚧 upcoming features. * 📖 Documentation * ✅ Your project [README.md](https://github.com/drevops/scaffold/blob/develop/README.dist.md) * ✅ Your [project documentation](https://github.com/drevops/scaffold/blob/develop/docs) - * ✅ [DrevOps documentation](https://docs.drevops.com/) -* 🧪 DrevOps + * ✅ [Scaffold documentation](https://docs.drevops.com/) +* 🧪 Scaffold * ✅ Unit test coverage for scripts * ✅ Functional test coverage for workflows * ✅ Integration test coverage for deployments - * ✅ DrevOps updates + * ✅ Scaffold updates * ✅ [Basic installer](https://install.drevops.com/) * 🚧 Advanced installer CLI UI * 🚧 Advances installer Web UI diff --git a/.scaffold/docs/content/getting-started/installation.mdx b/.scaffold/docs/content/getting-started/installation.mdx index fadee8ce9..9389b196a 100644 --- a/.scaffold/docs/content/getting-started/installation.mdx +++ b/.scaffold/docs/content/getting-started/installation.mdx @@ -31,8 +31,8 @@ ahoy update-scaffold ahoy update-scaffold cb9979b2c10c59d52874be4661e9331b01d9b7c5 ``` -If you have modified any of the files that are managed by DrevOps, the update -will override them. You would need to re-apply your changes. This is because -DrevOps is not aware of the changes you have made (and this is a good thing -because you don't want to have your changes overwritten by mistake without a -proper review). +If you have modified any of the files that are managed by DrevOps Scaffold, +the update will override them. You would need to re-apply your changes. +This is because DrevOps Scaffold is not aware of the changes you have made +(and this is a good thing because you don't want to have your changes +overwritten by mistake without a proper review). diff --git a/.scaffold/docs/content/tools/README.mdx b/.scaffold/docs/content/tools/README.mdx index f51729e52..c4b0a19fb 100644 --- a/.scaffold/docs/content/tools/README.mdx +++ b/.scaffold/docs/content/tools/README.mdx @@ -20,7 +20,7 @@ Head over to the tool-specific documentation to learn more. | [Ahoy](ahoy.mdx) | CLI command wrapper | | [Behat](behat.mdx) | Testing framework for for auto-testing your business expectations | | [Docker](docker.mdx) | A platform for containerizing and running applications | -| [Doctor](doctor.mdx) | Check DrevOps project requirements or print info | +| [Doctor](doctor.mdx) | Check DrevOps Scaffold project requirements or print info | | [Drush](drush.mdx) | Command line shell and Unix scripting interface for Drupal | | [Git artifact](git-artifact.mdx) | Package and push files to remote repositories | | [PHPCS](phpcs.mdx) | Check that code adheres to coding standards | diff --git a/.scaffold/docs/content/tools/hadolint.mdx b/.scaffold/docs/content/tools/hadolint.mdx index f05224f94..6bcd002e6 100644 --- a/.scaffold/docs/content/tools/hadolint.mdx +++ b/.scaffold/docs/content/tools/hadolint.mdx @@ -4,7 +4,7 @@ https://github.com/hadolint/hadolint > A smarter Dockerfile linter that helps you build best practice container images. -DrevOps does not install Hadolint. Please follow the [ +DrevOps Scaffold does not install Hadolint. Please follow the [ instructions(https://github.com/hadolint/hadolint#install) to install it on your system. diff --git a/.scaffold/docs/content/tools/twig-cs-fixer.mdx b/.scaffold/docs/content/tools/twig-cs-fixer.mdx index 66637808b..31e3b2f20 100644 --- a/.scaffold/docs/content/tools/twig-cs-fixer.mdx +++ b/.scaffold/docs/content/tools/twig-cs-fixer.mdx @@ -6,7 +6,7 @@ https://github.com/VincentLanglet/Twig-CS-Fixer > > Twig CS Fixer aims to be what phpcs is to php. It checks your codebase for violations on coding standards. -DrevOps comes with [pre-configured Twig-cs-fixer ruleset](https://github.com/drevops/scaffold/blob/develop/.twig-cs-fixer.php) for Drupal projects. +DrevOps Scaffold comes with [pre-configured Twig-cs-fixer ruleset](https://github.com/drevops/scaffold/blob/develop/.twig-cs-fixer.php) for Drupal projects. ## Usage diff --git a/.scaffold/docs/content/workflows/test.mdx b/.scaffold/docs/content/workflows/test.mdx index 6ec61f6aa..afb3cbab8 100644 --- a/.scaffold/docs/content/workflows/test.mdx +++ b/.scaffold/docs/content/workflows/test.mdx @@ -20,7 +20,7 @@ In CI, tests are run by calling the test binaries directly. ## Unit testing -DrevOps uses PHPUnit as a framework for Unit testing. +DrevOps Scaffold uses PHPUnit as a framework for Unit testing. It is configured to use a copy of Drupal core's `core/phpunit.xml.dist` configuration file. This is done to allow per-project customisations. @@ -33,16 +33,16 @@ These reports are usually used in CI to track tests performance and stability. ### Scaffold -DrevOps provides a Unit test scaffold for custom [modules](https://github.com/drevops/scaffold/blob/develop/web/modules/custom/ys_core/tests/src), +DrevOps Scaffold provides a Unit test scaffold for custom [modules](https://github.com/drevops/scaffold/blob/develop/web/modules/custom/ys_core/tests/src), [themes](https://github.com/drevops/scaffold/blob/develop/web/themes/custom/your_site_theme/tests/src) and [scripts](https://github.com/drevops/scaffold/blob/develop/tests/phpunit). -These tests already run in CI when you install DrevOps and can be used as a +These tests already run in CI when you install DrevOps Scaffold and can be used as a starting point for writing your own. #### Drupal settings tests -DrevOps provides a [Drupal settings tests](https://github.com/drevops/scaffold/blob/develop/tests/phpunit/DrupalSettingsTest.php) +DrevOps Scaffold provides a [Drupal settings tests](https://github.com/drevops/scaffold/blob/develop/tests/phpunit/DrupalSettingsTest.php) to test that Drupal settings are correct based on the environment type the site is running: with the number of custom modules multiplied by the number of environment types, it is easy to miss certain settings which may lead to @@ -53,7 +53,7 @@ changes to the `settings.php` file. #### CI configuration tests -DrevOps provides a [CI configuration tests](https://github.com/drevops/scaffold/blob/develop/tests/phpunit/CircleCiConfigTest.php) +DrevOps Scaffold provides a [CI configuration tests](https://github.com/drevops/scaffold/blob/develop/tests/phpunit/CircleCiConfigTest.php) to assert that CI configuration is correct. It is intended to be used in a consumer site and kept up-to-date with the CI configurations. @@ -63,7 +63,7 @@ unexpected surprises during the consumer site release to production. ## BDD testing -DrevOps uses Behat for Behavior-Driven Development (BDD) testing. +DrevOps Scaffold uses Behat for Behavior-Driven Development (BDD) testing. It provides full Behat support, including configuration in [behat.yml](https://github.com/drevops/scaffold/blob/develop/behat.yml) and a [browser container](https://github.com/drevops/scaffold/blob/develop/docker-compose.yml) to run interactive tests. @@ -96,9 +96,10 @@ variable. In CI, Behat tests can be tagged to be split between multiple runners. The tags are then used by profiles with the identical names to run them. -Out of the box, DrevOps provides support for unlimited parallel runners, but -only 2 parallel profiles `p0` and `p1`: a feature can be tagged by either `@p0` -or `@p1`to run in a dedicated runner, or with both tags to run in both runners. +Out of the box, DrevOps Scaffold provides support for unlimited parallel +runners, but only 2 parallel profiles `p0` and `p1`: a feature can be tagged by +either `@p0` or `@p1`to run in a dedicated runner, or with both tags to run in +both runners. Note that you can easily add more `p*` profiles in your `behat.yml` by copying existing `p1`profile and changing several lines. @@ -122,7 +123,7 @@ and are accessible in the Artifacts tab. ### Format -Out of the box, DrevOps comes with [Behat Progress formatter](https://github.com/drevops/behat-format-progress-fail) +Out of the box, DrevOps Scaffold comes with [Behat Progress formatter](https://github.com/drevops/behat-format-progress-fail) Behat output formatter to show progress as TAP and fails inline. This allows to continue test runs after failures while maintaining a minimal output. @@ -134,8 +135,8 @@ CI to track tests performance and stability. ### Scaffold -DrevOps provides a BDD test scaffold for custom [modules](https://github.com/drevops/scaffold/blob/develop/web/modules/custom/ys_core/tests/src) +DrevOps Scaffold provides a BDD test scaffold for custom [modules](https://github.com/drevops/scaffold/blob/develop/web/modules/custom/ys_core/tests/src) and [themes](https://github.com/drevops/scaffold/blob/develop/web/themes/custom/your_site_theme/tests/src). -These tests already run in CI when you install DrevOps and can be used as a -starting point for writing your own. +These tests already run in CI when you install DrevOps Scaffold and can be used +as a starting point for writing your own. diff --git a/.scaffold/docs/content/workflows/variables.mdx b/.scaffold/docs/content/workflows/variables.mdx index 806d51149..48aade1e5 100644 --- a/.scaffold/docs/content/workflows/variables.mdx +++ b/.scaffold/docs/content/workflows/variables.mdx @@ -434,7 +434,7 @@ Defined in: `.env`, `scripts/drevops/download-db-container-registry.sh` ### `DREVOPS_DEBUG` -Set to `1` to print debug information in DrevOps scripts. +Set to `1` to print debug information in DrevOps Scaffold scripts. Default value: `UNDEFINED`