From 992f6a4fe65ca05a330f3412f40aac01ac3229b6 Mon Sep 17 00:00:00 2001 From: Dionisio Fernandez Date: Wed, 13 Nov 2024 12:22:29 +0100 Subject: [PATCH 1/3] 2.x: Fixed some bits about localgov --- .../drupal10/ce-dev/ansible/deploy.yml.j2 | 2 +- .../localgov/ce-dev/ansible/deploy.yml.j2 | 70 ++++++++++------- .../localgov/ce-dev/ansible/provision.yml.j2 | 78 ++++++++++--------- .../web/sites/default/local.settings.php.j2 | 2 +- 4 files changed, 83 insertions(+), 69 deletions(-) diff --git a/templates/drupal10/ce-dev/ansible/deploy.yml.j2 b/templates/drupal10/ce-dev/ansible/deploy.yml.j2 index 5603b32..2e85f6b 100644 --- a/templates/drupal10/ce-dev/ansible/deploy.yml.j2 +++ b/templates/drupal10/ce-dev/ansible/deploy.yml.j2 @@ -42,7 +42,7 @@ # You can safely remove these steps once you have a working composer.json. - name: Download composer file. ansible.builtin.get_url: - url: https://raw.githubusercontent.com/drupal/recommended-project/10.1.x/composer.json + url: https://raw.githubusercontent.com/drupal/recommended-project/10.3.x/composer.json dest: "{{ deploy_path }}/composer.json" force: false - name: Install drush. diff --git a/templates/localgov/ce-dev/ansible/deploy.yml.j2 b/templates/localgov/ce-dev/ansible/deploy.yml.j2 index cce88a9..45ae505 100644 --- a/templates/localgov/ce-dev/ansible/deploy.yml.j2 +++ b/templates/localgov/ce-dev/ansible/deploy.yml.j2 @@ -2,44 +2,47 @@ # Template playbook for a local Drupal9 codebase. - hosts: {{ project_name }}-web vars: - - project_name: {{ project_name }} - - project_type: drupal8 - - webroot: web - - build_type: local - - _env_type: dev + project_name: {{ project_name }} + project_type: drupal8 + webroot: web + build_type: local + _env_type: dev {% raw %} - - _domain_name: www.{{ project_name }}.local + _domain_name: www.{{ project_name }}.local # Path to your project root. This must match the "volume" set in the docker compose template. - - deploy_path: /home/ce-dev/deploy/live.local + deploy_path: /home/ce-dev/deploy/live.local # This actually does not take any backup, but is needed to populate settings.php. - - mysql_backup: - handling: none - credentials_handling: static + mysql_backup: + handling: none + credentials_handling: static # A list of Drupal sites (for multisites). - - drupal: - sites: - - folder: "default" - public_files: "sites/default/files" - install_command: "-y si localgov" - # Toggle config import on/off. Disabled for initial passes. - config_import_command: "" - # config_import_command: "cim" - config_sync_directory: "config/sync" - sanitize_command: "sql-sanitize" - # Remove after initial pass, to avoid reinstalling Drupal. - force_install: true - base_url: "https://{{ _domain_name }}" + drupal: + sites: + - folder: "default" + public_files: "sites/default/files" + install_command: "-y si localgov" + # Toggle config import on/off. Disabled for initial passes. + config_import_command: "" + # config_import_command: "cim" + config_sync_directory: "config/sync" + sanitize_command: "sql-sanitize" + # Remove after initial pass, to avoid reinstalling Drupal. + force_install: true + base_url: "https://{{ _domain_name }}" # Composer command to run. - - composer: - command: install - no_dev: false - working_dir: "{{ deploy_path }}" - apcu_autoloader: false + composer: + command: install + no_dev: false + working_dir: "{{ deploy_path }}" + apcu_autoloader: false + drush: + use_vendor: true + drush_bin: "{{ deploy_path }}/vendor/drush/drush/drush" pre_tasks: # You can safely remove these steps once you have a working composer.json. - name: Download composer file. ansible.builtin.get_url: - url: https://raw.githubusercontent.com/drupal/recommended-project/9.1.x/composer.json + url: https://raw.githubusercontent.com/drupal/recommended-project/10.3.x/composer.json dest: "{{ deploy_path }}/composer.json" force: false - name: Adding composer/installers plugin to composer config. @@ -70,13 +73,20 @@ - name: Install drush. community.general.composer: command: require - arguments: drush/drush:10.* + arguments: drush/drush:12.* working_dir: "{{ deploy_path }}" - name: Install localgov. community.general.composer: command: require arguments: localgovdrupal/localgov working_dir: "{{ deploy_path }}" + post_tasks: + - name: "Symlink global Drush" + ansible.builtin.file: + src: "{{ drush_bin }}" + dest: "/usr/local/bin/drush" + state: link + become: yes roles: - _init # Sets some variables the deploy scripts rely on. - composer # Composer install step. diff --git a/templates/localgov/ce-dev/ansible/provision.yml.j2 b/templates/localgov/ce-dev/ansible/provision.yml.j2 index 384dfd7..40bed73 100644 --- a/templates/localgov/ce-dev/ansible/provision.yml.j2 +++ b/templates/localgov/ce-dev/ansible/provision.yml.j2 @@ -19,47 +19,49 @@ ce_provision: local_dir: /home/ce-dev/ce-provision {% raw %} - - nginx: - domains: - - server_name: "{{ _domain_name }}" - access_log: "/var/log/nginx-access.log" - error_log: "/var/log/nginx-error.log" - error_log_level: "notice" - webroot: "/home/ce-dev/deploy/live.local/web" - project_type: "drupal8" - ssl: - domain: "{{ _domain_name }}" - cert: "{{ _ce_dev_mkcert_base}}/{{ _domain_name }}.pem" - key: "{{ _ce_dev_mkcert_base}}/{{ _domain_name }}-key.pem" - handling: "unmanaged" - ratelimitingcrawlers: false - is_default: true - servers: - - port: 80 - ssl: false - https_redirect: true - - port: 443 - ssl: true - https_redirect: false - upstreams: [] - - php: - version: - - 8.1 - cli: - memory_limit: -1 - _env_type: dev - fpm: - _env_type: dev - - xdebug: - cli: true - - nodejs: - version: 20.x - - apt_unattended_upgrades: - enable: false + nginx: + domains: + - server_name: "{{ _domain_name }}" + access_log: "/var/log/nginx-access.log" + error_log: "/var/log/nginx-error.log" + error_log_level: "notice" + webroot: "/home/ce-dev/deploy/live.local/web" + project_type: "drupal8" + ssl: + domain: "{{ _domain_name }}" + cert: "{{ _ce_dev_mkcert_base}}/{{ _domain_name }}.pem" + key: "{{ _ce_dev_mkcert_base}}/{{ _domain_name }}-key.pem" + handling: "unmanaged" + ratelimitingcrawlers: false + is_default: true + servers: + - port: 80 + ssl: false + https_redirect: true + - port: 443 + ssl: true + https_redirect: false + upstreams: [] + php: + version: + - 8.1 + cli: + memory_limit: -1 + _env_type: dev + fpm: + _env_type: dev + xdebug: + cli: true + nodejs: + version: 20.x + apt_unattended_upgrades: + enable: false {% endraw %} tasks: - apt: update_cache: true + - import_role: + name: _init - import_role: name: _meta/common_base - import_role: @@ -70,3 +72,5 @@ name: debian/php-fpm - import_role: name: debian/nginx + - import_role: + name: _exit diff --git a/templates/localgov/ce-dev/ansible/web/sites/default/local.settings.php.j2 b/templates/localgov/ce-dev/ansible/web/sites/default/local.settings.php.j2 index 9a0c41c..c98d91a 100644 --- a/templates/localgov/ce-dev/ansible/web/sites/default/local.settings.php.j2 +++ b/templates/localgov/ce-dev/ansible/web/sites/default/local.settings.php.j2 @@ -7,7 +7,7 @@ require __DIR__ . '/default.settings.php'; /** * Include local dev settings. */ -require DRUPAL_ROOT . '/sites/example.settings.local.php' +require DRUPAL_ROOT . '/sites/example.settings.local.php'; $databases['default']['default'] = array ( 'database' => '{{ build_databases[0].name }}', From 0f935e1e4fccb5450c14c4e070579e366336e110 Mon Sep 17 00:00:00 2001 From: Dionisio Fernandez Date: Wed, 13 Nov 2024 15:57:12 +0100 Subject: [PATCH 2/3] 2.x: Getting the latest release available per branch --- install.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/install.sh b/install.sh index a357fec..ea9fba5 100644 --- a/install.sh +++ b/install.sh @@ -43,7 +43,15 @@ fi # Version is optional. if [ -z "$VERSION" ]; then - VERSION=$( curl --silent "https://api.github.com/repos/codeenigma/ce-dev/releases/latest" | grep tag_name | cut -d \" -f 4) + API_URL="https://api.github.com/repos/codeenigma/ce-dev/releases" + VERSION=$(curl -s $API_URL | grep -Eo '"tag_name":\s*"2\.[^"]*"' | grep -Eo '2\.[^"]*' | sort -Vr | head -n 1) + + # Check if we found a release + if [ -n "$VERSION" ]; then + echo "Downloading the latest 2.x version: $VERSION" + else + echo "No 2.x release found" + fi fi RELEASE=https://github.com/codeenigma/ce-dev/releases/download/$VERSION/ce-dev-v$VERSION-$PLATFORM-x64.tar.gz From 5343def5a774390c856faf8d7d0977a8a970a26b Mon Sep 17 00:00:00 2001 From: Dionisio Fernandez Date: Thu, 13 Feb 2025 16:01:28 +0100 Subject: [PATCH 3/3] 2.x: Removed regx flags --- src/abstracts/base-cmd-abstract.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/abstracts/base-cmd-abstract.ts b/src/abstracts/base-cmd-abstract.ts index 81c31fd..d08dc94 100644 --- a/src/abstracts/base-cmd-abstract.ts +++ b/src/abstracts/base-cmd-abstract.ts @@ -266,7 +266,7 @@ export default abstract class BaseCmd extends Command { protected getProjectRunningContainersCeDev(): Array { const running = this.getProjectRunningContainers(); const ceDev = []; - const regex = /ce-dev.*/gm; + const regex = /ce-dev.*/; for (const containerName of running) { const image = execSync(this.dockerBin + ' inspect ' +