From 713b6d0d3168c1295970fe9715a5885da73d8216 Mon Sep 17 00:00:00 2001 From: Joe Corall Date: Tue, 12 Nov 2024 08:02:06 -0500 Subject: [PATCH 1/5] Add docs around IDE identity --- README.template.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.template.md b/README.template.md index 909de41..53c1925 100644 --- a/README.template.md +++ b/README.template.md @@ -28,6 +28,7 @@ - [OSX and Linux](#osx-and-linux-2) - [Upgrading Isle Docker Images](#upgrading-isle-docker-images) - [Drupal Development](#drupal-development) + - [Pushing code changes](#pushing-code-changes) - [Production](#production) - [Generate secrets](#generate-secrets) - [Production Domain](#production-domain) @@ -405,6 +406,21 @@ the Drupal Docker image, see [building](#building) for how. > should be fairly locked down, and only permit changes to content and not > configuration. +### Pushing code changes + +The [IDE] configured for local development receives its identity from the host system using `ssh-agent`. This is how you are able to `git push` from within the IDE container to a remote git origin (e.g. GitHub). Depending on whether the host is [Mac OS or Linux the docker compose overrides](#override) can be seen in the respective override file on how the host identity is propagated into the IDE container. + +> [!WARNING] +> If ssh-agent is not configured properly on your host, code changes made in the IDE may be lost +> +> For linux host systems such as Debian or Ubuntu 24+ an environment variable `SSH_AUTH_SOCK` (set by `ssh-agent`) needs to be available in order to pass the host system's SSH identity into the IDE container. If this environment variable is not set (which can be checked on the host by seeing if `echo $SSH_AUTH_SOCK` prints output) it will need to be configured on your host system in order to allow the IDE to `git push` code changes to remote git origins. One possible solution to set this is to add this to your shell's login profile. e.g. +> +>``` +>echo 'eval $(ssh-agent -s)' >> ~/.bashrc +>``` + +After ensuring `SSH_AUTH_SOCK` is set properly, you will need to restart the codeserver service to pickup the changes. Then you should be able to push changes made in your IDE to a remote git origin. + # Production Running in production makes use of the [production profile], which requires From a50ca6fb8413b4a8647d6f302183aaff3509cedd Mon Sep 17 00:00:00 2001 From: Joe Corall Date: Tue, 12 Nov 2024 08:02:17 -0500 Subject: [PATCH 2/5] Add build step --- tests/init-template-starter.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/init-template-starter.sh b/tests/init-template-starter.sh index b5e1fde..457c6ad 100755 --- a/tests/init-template-starter.sh +++ b/tests/init-template-starter.sh @@ -23,6 +23,7 @@ cp ./tests/solr.php drupal/rootfs/var/www/drupal/ ./generate-certs.sh ./generate-secrets.sh +docker compose --profile dev build --pull docker compose --profile dev up -d ./tests/ping.sh From 457620db28c20bbdc86bac87dc6ed23839847d72 Mon Sep 17 00:00:00 2001 From: Joe Corall Date: Tue, 12 Nov 2024 08:02:44 -0500 Subject: [PATCH 3/5] test on ubuntu 24.04 and record db in logs --- .github/workflows/integration-test.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index b897370..2d961a9 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -17,7 +17,10 @@ on: - cron: '15 11 * * *' jobs: build: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-22.04, ubuntu-24.04] env: ISLANDORA_TAG: "${{ github.event.inputs.buildkit-tag }}" ISLANDORA_STARTER_REF: "${{ github.event.inputs.starter-site-ref }}" @@ -43,13 +46,14 @@ jobs: for service in $services; do docker compose --profile dev logs $service > "logs/${service}.log" done + docker compose --profile dev exec mariadb-dev mysqldump drupal_default > logs/drupal_default.sql - name: Upload logs as artifacts if: ${{ always() }} uses: actions/upload-artifact@v3 with: name: docker-logs - path: logs/*.log + path: logs/* - name: Notify Slack on nightly test failure if: failure() && github.event_name == 'schedule' @@ -58,4 +62,5 @@ jobs: "text": "🚨 Scheduled job failed! Click to view the run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}", }' env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} \ No newline at end of file + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + From ce80fd87115d5acda0ddf677f17845e276fc83e6 Mon Sep 17 00:00:00 2001 From: Joe Corall Date: Tue, 12 Nov 2024 08:04:23 -0500 Subject: [PATCH 4/5] fixup link --- README.template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.template.md b/README.template.md index 53c1925..8ecd0b1 100644 --- a/README.template.md +++ b/README.template.md @@ -408,7 +408,7 @@ the Drupal Docker image, see [building](#building) for how. ### Pushing code changes -The [IDE] configured for local development receives its identity from the host system using `ssh-agent`. This is how you are able to `git push` from within the IDE container to a remote git origin (e.g. GitHub). Depending on whether the host is [Mac OS or Linux the docker compose overrides](#override) can be seen in the respective override file on how the host identity is propagated into the IDE container. +The [IDE] configured for local development receives its identity from the host system using `ssh-agent`. This is how you are able to `git push` from within the IDE container to a remote git origin (e.g. GitHub). Depending on whether the host is [Mac OS or Linux the docker compose overrides](##docker-compose) can be seen in the respective override file on how the host identity is propagated into the IDE container. > [!WARNING] > If ssh-agent is not configured properly on your host, code changes made in the IDE may be lost From 5394ae83418876fa8f659cddbe116ddf4e180a0b Mon Sep 17 00:00:00 2001 From: Joe Corall Date: Tue, 12 Nov 2024 12:27:27 -0500 Subject: [PATCH 5/5] Update README.template.md --- README.template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.template.md b/README.template.md index 8ecd0b1..70147be 100644 --- a/README.template.md +++ b/README.template.md @@ -408,7 +408,7 @@ the Drupal Docker image, see [building](#building) for how. ### Pushing code changes -The [IDE] configured for local development receives its identity from the host system using `ssh-agent`. This is how you are able to `git push` from within the IDE container to a remote git origin (e.g. GitHub). Depending on whether the host is [Mac OS or Linux the docker compose overrides](##docker-compose) can be seen in the respective override file on how the host identity is propagated into the IDE container. +The [IDE] configured for local development receives its identity from the host system using `ssh-agent`. This is how you are able to `git push` from within the IDE container to a remote git origin (e.g. GitHub). Depending on whether the host is [Mac OS or Linux the docker compose overrides](#docker-compose) can be seen in the respective override file on how the host identity is propagated into the IDE container. > [!WARNING] > If ssh-agent is not configured properly on your host, code changes made in the IDE may be lost