Skip to content
Open
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
24 changes: 23 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,16 @@ jobs:
run: drush si --db-url=mysql://root:drupal@mariadb:3306/drupal11 -y
working-directory: /var/www/drupal

# token is required by quant_search. purge is required by quant_purger,
# whose kernel tests install it, so the suite cannot run without it.
- name: Install module dependencies
run: composer --no-interaction --no-progress require drupal/token
run: composer --no-interaction --no-progress require drupal/token drupal/purge
working-directory: /var/www/drupal

# The image ships phpunit globally, but its bootstrap needs the test
# dependencies that core-dev pulls in.
- name: Install test dependencies
run: composer --no-interaction --no-progress require --dev -W drupal/core-dev:^11
working-directory: /var/www/drupal

- name: Set up custom module
Expand All @@ -52,3 +60,17 @@ jobs:
- name: Enable quant
run: drush en quant -y
working-directory: /var/www/drupal

- name: Prepare test output directory
run: mkdir -p /var/www/drupal/web/sites/simpletest/browser_output
working-directory: /var/www/drupal

# Runs every unit and kernel test in the module and its submodules.
# Previously this job installed the module and stopped, so a broken
# test file went unnoticed.
- name: Run tests
env:
SIMPLETEST_DB: mysql://root:drupal@mariadb:3306/drupal11
BROWSERTEST_OUTPUT_DIRECTORY: /var/www/drupal/web/sites/simpletest/browser_output
run: vendor/bin/phpunit -c web/core --display-deprecations web/modules/custom/quant
working-directory: /var/www/drupal
18 changes: 18 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"name": "drupal/quant",
"description": "Static site generator for Drupal, integrating with the QuantCDN static edge.",
"type": "drupal-module",
"license": "GPL-2.0-or-later",
"homepage": "https://www.quantcdn.io",
"support": {
"issues": "https://github.com/quantcdn/drupal/issues",
"docs": "https://docs.quantcdn.io/docs/integrations/drupal",
"source": "https://github.com/quantcdn/drupal"
},
"suggest": {
"drupal/token": "Required by Quant Search (quant_search).",
"drupal/purge": "Required by Quant Purger (quant_purger).",
"drupal/webform": "Required by Quant Webform (quant_webform).",
"drupal/tome": "Required by Quant Tome (quant_tome)."
}
}
116 changes: 116 additions & 0 deletions config/schema/quant.schema.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
quant.settings:
type: config_object
label: 'Quant settings'
mapping:
quant_enabled:
type: boolean
label: 'Enable Quant tracking'
quant_enabled_nodes:
type: boolean
label: 'Track node changes'
quant_enabled_taxonomy:
type: boolean
label: 'Track taxonomy term changes'
quant_enabled_views:
type: boolean
label: 'Track view changes'
quant_enabled_redirects:
type: boolean
label: 'Track redirect changes'
quant_show_page_info_block:
type: boolean
label: 'Show the page info block'
quant_routes_export:
type: string
label: 'Routes to export'
nullable: true
ssl_cert_verify:
type: boolean
label: 'Verify SSL certificates'
disable_content_drafts:
type: boolean
label: 'Do not export unpublished drafts'
proxy_override:
type: boolean
label: 'Override existing proxy configuration'
xpath_selectors:
type: string
label: 'XPath selectors used to discover pager links'
local_server:
type: string
label: 'Local webserver address used for the crawl'
host_domain:
type: string
label: 'HTTP Host header sent with the crawl'
host_domain_strip:
type: boolean
label: 'Strip the host domain from generated content'
entity_node:
type: boolean
label: 'Export nodes'
entity_node_revisions:
type: boolean
label: 'Export node revisions'
entity_node_bundles:
type: sequence
label: 'Node bundles to export'
sequence:
type: string
label: 'Bundle'
entity_node_languages:
type: sequence
label: 'Languages to export'
sequence:
type: string
label: 'Language code'
entity_taxonomy_term:
type: boolean
label: 'Export taxonomy terms'
theme_assets:
type: boolean
label: 'Export theme assets'
views_pages:
type: boolean
label: 'Export view pages'
redirects:
type: boolean
label: 'Export redirects'
robots:
type: boolean
label: 'Export robots.txt'
routes:
type: boolean
label: 'Export custom routes'
routes_textarea:
type: string
label: 'Custom routes, one per line'
file_paths:
type: boolean
label: 'Export custom file paths'
file_paths_textarea:
type: string
label: 'Custom file paths, one per line'
lunr:
type: boolean
label: 'Export Lunr search assets'
export_sitemap:
type: boolean
label: 'Export the XML sitemap'

quant.token_settings:
type: config_object
label: 'Quant token settings'
mapping:
timeout:
type: string
label: 'Token lifetime, as a relative time string'
disable:
type: boolean
label: 'Disable token verification'
secret:
type: string
label: 'Shared secret used to sign tokens'
nullable: true
strict:
type: boolean
label: 'Reject requests whose token does not match the route'
23 changes: 23 additions & 0 deletions modules/quant_api/config/schema/quant_api.schema.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
quant_api.settings:
type: config_object
label: 'Quant API settings'
mapping:
api_endpoint:
type: string
label: 'API endpoint'
api_account:
type: string
label: 'API organization'
api_project:
type: string
label: 'API project'
# Multi-domain sites override this per domain, so that each domain
# publishes to its own project.
nullable: true
api_token:
type: string
label: 'API token'
nullable: true
api_tls_disabled:
type: boolean
label: 'Disable TLS verification'
2 changes: 1 addition & 1 deletion modules/quant_api/quant_api.info.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ type: module
core_version_requirement: ^11
configure: quant_api.settings_form
dependencies:
- drupal:quant
- quant:quant
Loading
Loading