Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include binaries during ddev start #172 #207

Closed
wants to merge 54 commits into from
Closed
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
f39b90c
Install go binaries globally in ddev #172
deviantintegral May 9, 2023
0d4b874
Disable binaries when set in composer.json
deviantintegral May 9, 2023
bfd219d
Tests
deviantintegral May 9, 2023
fcace4a
Update CI to use global binaries
deviantintegral May 9, 2023
ccc440f
Use the local task for this test
deviantintegral May 9, 2023
020e640
Remove asserts for global binaries in test not run in ddev
deviantintegral May 9, 2023
d417b04
Missed these ones
deviantintegral May 9, 2023
e7263f9
Remove local-php-security-checker as it is a drainpipe-dev dependency
deviantintegral May 10, 2023
17ce53d
Fix wrong deprecation version
deviantintegral May 10, 2023
c34b353
Use the binary name in the warning message
deviantintegral May 12, 2023
f904ab7
Merge branch 'main' into 172--global-binaries
deviantintegral May 24, 2023
7788519
Update production build test and add note to README to make task a gl…
justafish Jun 12, 2023
ca4a349
Configure path to Drainpipe
justafish Jun 12, 2023
7bac73c
Configure path to Drainpipe
justafish Jun 12, 2023
700fbeb
Add missing composer.json
justafish Jun 12, 2023
092c251
Restart DDEV
justafish Jun 12, 2023
d937e1d
tmate
justafish Jun 12, 2023
601e3ac
tmate
justafish Jun 12, 2023
5255f57
fix php project type not including drush
deviantintegral Jun 12, 2023
ee1d514
Merge branch 'main' into 172--global-binaries
deviantintegral Jun 23, 2023
c6992c3
Merge branch 'main' into 172--global-binaries
deviantintegral Jul 6, 2023
272d241
Merge remote-tracking branch 'origin/main' into 172--global-binaries
Jul 24, 2023
09e276b
Merge tag 'v3.1.2' of github.com:Lullabot/drainpipe into 172--global-…
deviantintegral Sep 13, 2023
c0fff90
Fix wrong path to task
deviantintegral Sep 13, 2023
50b4fe8
Merge remote-tracking branch 'origin/main' into 172--global-binaries
elvism-lullabot Sep 22, 2023
0e0f4ae
Update path to task command in test file
deviantintegral Sep 29, 2023
c23e8a2
Merge branch 'main' of github.com:Lullabot/drainpipe into 172--global…
deviantintegral Sep 29, 2023
1ec70a2
Make task path configurable in tugboat
deviantintegral Sep 29, 2023
85a6c9a
Fix not creating settings.ddev.php
deviantintegral Sep 29, 2023
81573ca
Log commands as they are run
deviantintegral Sep 29, 2023
ea1d9dc
Fix missing ? for null coalesce
deviantintegral Sep 29, 2023
233ff3d
Add missing check
deviantintegral Sep 29, 2023
94ed49e
Need more espresso apparently
deviantintegral Sep 29, 2023
1924dc2
Restore default paths
deviantintegral Sep 29, 2023
90319b3
Print composer.json for debugging
deviantintegral Sep 29, 2023
36f06cf
Fix race condition between cat and tee
deviantintegral Sep 29, 2023
e52e8b0
Use build and update command vars
deviantintegral Sep 29, 2023
94e2ad8
Merge branch 'main' into 172--global-binaries
justafish Oct 5, 2023
6d18309
Merge branch 'main' into 172--global-binaries
deviantintegral Oct 6, 2023
e28747f
Merge branch 'main' into 172--global-binaries
justafish Oct 9, 2023
664d1e9
Merge branch 'main' into 172--global-binaries
deviantintegral Oct 26, 2023
90fd0df
Merge branch 'main' into 172--global-binaries
deviantintegral Nov 1, 2023
ca13661
Install task globally if needed in review apps jobs
deviantintegral Nov 1, 2023
3629af0
Task version updated in main
deviantintegral Nov 1, 2023
719adcf
Merge branch 'main' into 172--global-binaries
davereid Jan 8, 2024
e4c8696
Fix help text for migrating
deviantintegral Jan 29, 2024
31a7d46
Show warning even if entire extra section is missing
deviantintegral Jan 31, 2024
88bf648
Merge branch 'main' into 172--global-binaries
mrdavidburns Feb 15, 2024
eb8b403
Merge tag 'v3.5.0' of github.com:Lullabot/drainpipe into 172--global-…
deviantintegral Mar 15, 2024
502309f
Move test fixture back to match main
deviantintegral Mar 15, 2024
b4fda8e
Revert "Move test fixture back to match main"
deviantintegral Mar 15, 2024
71e2048
Instead update the path we use for the cp
deviantintegral Mar 15, 2024
7cf6505
We need this absolute path, or use a checkout dir
deviantintegral Mar 15, 2024
b5b7f2c
Merge remote-tracking branch 'origin' into 172--global-binaries
leonel-lullabot May 21, 2024
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
2 changes: 1 addition & 1 deletion .github/workflows/DrainpipeDev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,4 @@ jobs:
ddev composer require lullabot/drainpipe --with-all-dependencies

- name: Push drainpipe-dev
run: ddev exec "./vendor/bin/task deploy:git directory=/var/www/html/drainpipe/drainpipe-dev branch=${{ github.ref_name }} remote=https://${{ secrets.DRAINPIPE_DEV_GITHUB_TOKEN_USERNAME }}:${{ secrets.DRAINPIPE_DEV_GITHUB_TOKEN }}@github.com/lullabot/drainpipe-dev.git message=\"${{ github.event.head_commit.message }}\""
run: ddev exec "task deploy:git directory=/var/www/html/drainpipe/drainpipe-dev branch=${{ github.ref_name }} remote=https://${{ secrets.DRAINPIPE_DEV_GITHUB_TOKEN_USERNAME }}:${{ secrets.DRAINPIPE_DEV_GITHUB_TOKEN }}@github.com/lullabot/drainpipe-dev.git message=\"${{ github.event.head_commit.message }}\""
43 changes: 39 additions & 4 deletions .github/workflows/test-production-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
composer-flags: --prefer-lowest --prefer-stable

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- uses: shivammathur/setup-php@v2
with:
Expand All @@ -41,11 +41,46 @@ jobs:
cd ../
mkdir drupal
cd drupal
cp ${GITHUB_WORKSPACE}/tests/fixtures.drainpipe-test-build/composer.json .
cp ${GITHUB_WORKSPACE}/tests/fixtures.drainpipe-test-build/Taskfile.yml .
cp ${GITHUB_WORKSPACE}/tests/fixtures/drainpipe-test-production-build/composer.json .
cp ${GITHUB_WORKSPACE}/tests/fixtures/drainpipe-test-production-build/Taskfile.yml .
composer update ${{ matrix.composer-flags }}

- name: Run static tests
- name: Run production build
run: |
cd ../drupal
./vendor/bin/task build

Test-Production-Build-DDEV-Global-Binary:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
path: drainpipe

- uses: ./drainpipe/scaffold/github/actions/common/set-env

- name: Install DDEV
uses: ./drainpipe/scaffold/github/actions/common/ddev
with:
git-name: Drainpipe Bot
git-email: [email protected]
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
ssh-known-hosts: ${{ secrets.SSH_KNOWN_HOSTS }}

- name: Setup Project
run: |
cp drainpipe/tests/fixtures/drainpipe-test-production-build/composer-ddev-global-binary.json composer.json
cp drainpipe/tests/fixtures/drainpipe-test-production-build/Taskfile.yml .
ddev config --auto
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏 I like --auto!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to roll this one back @justafish as it turns out --auto isn't autodetecting Drupal, so ddev doesn't respect ddev drush.

ddev/ddev#4963 makes it seem like this should work, but perhaps it requires a web directory to exist first.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, ddev config --auto is great when the code already exists and the docroot and project type are autodetected. But doesn't work at all if the code isn't in place. And then people get confused.

ddev start
ddev composer install
ddev restart

- name: Install Drupal
run: |
ddev drush site:install minimal -y
echo "\$settings['config_sync_directory'] = '../config';" >> web/sites/default/settings.php
ddev drush config:export -y

- name: Run production build
run: ddev task build
13 changes: 12 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,17 @@ for a Drupal site, including:
```sh
composer config extra.drupal-scaffold.gitignore true
composer config --json extra.drupal-scaffold.allowed-packages "[\"lullabot/drainpipe\", \"lullabot/drainpipe-dev\"]"
composer config --json extra.drainpipe.global-binaries.task "true"
composer config --json extra.drainpipe.global-binaries.local-php-security-checker "true"
```

If using DDEV (highly recommended!), additionally set `task` to be a global binary:
```sh
ddev composer config extra.drainpipe.global-binaries.task true
```
Comment on lines +63 to +66
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this duplicate the lines above?


Finally, require `drainpipe` and `drainpipe-dev`
```sh
composer require lullabot/drainpipe
composer require lullabot/drainpipe-dev --dev
```
Expand All @@ -50,7 +61,7 @@ Task is just a single binary and has no other dependencies. It's also
cross-platform with everything running through the same [shell interpreter](https://github.com/mvdan/sh).

You can see what tasks are available after installation by running
`./vendor/bin/task --list` or `ddev task --list` if you're running DDEV. To get
`task --list` or `ddev task --list` if you're running DDEV. To get
more information on a specific task e.g. what parameters it takes, you can run
`task [task name] --summary`.

Expand Down
2 changes: 1 addition & 1 deletion scaffold/ddev/task-command.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
## Usage: task
## Example: "ddev task build"

./vendor/bin/task "$@"
task "$@"
8 changes: 8 additions & 0 deletions scaffold/ddev/web-build/Dockerfile.drainpipe
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
COPY install-task.sh /usr/local/bin
RUN chmod +x /usr/local/bin/install-task.sh
# Also update .github/workflows/ValidateTaskfile.yml if changing version.
RUN install-task.sh -b /usr/local/bin -d v3.24.0

COPY install-local-php-security-checker.sh /usr/local/bin
RUN chmod +x /usr/local/bin/install-local-php-security-checker.sh
RUN install-local-php-security-checker.sh -b /usr/local/bin -d v2.0.6
Loading