-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Improve the build scripts #4465
Merged
Merged
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
a974e15
Add some common functions to an include file
pento 70b7a90
Add a script to instal NVM, and check and install the current node ve…
pento 9352818
Reshuffle the setup-local-env.sh script, and add some extra checks be…
pento a69357e
Use the common download() function in install-wp-tests.sh
pento 5cce301
Improve NVM and Node installation status feedback
pento 692ee2a
Improve Docker feedback
pento 91719b0
Run npm install after Node is updated
pento 0ed636d
Add a message to switch Node versions after updating
pento 74f6fd7
Check if npm install caused package-lock.json to change.
pento d29b64d
Use Docker to run Composer commands
pento ec0b412
Don't run NVM/Node updates on Travis
pento fe92cb9
Show the download progress of Docker containers, as it causes the int…
pento e044bfc
Always run `npm run build` before running the PHP unit tests.
pento e1f8a8a
chmod a+x
pento f71aaa0
Allow overriding the site port in docker-compose.override.yml
pento 5e5791d
Update Cypress to version 1.4.1, for the plugin API
pento aab85e2
Add a Cypress plugin that checks what port the WordPress Docker conta…
pento f6c32c9
Update CONTRIBUTING.md to call out setup-local-env.sh.
pento 10e84c1
Add a welcome message at the end of setup-local-env.sh
pento c653359
Improve the welcome message kerning, just for @jasmussen. 😉
pento 9b98afd
Add a timeout parameter to the ask() function
pento f18b232
Clarify the NPM cache cleanup question, and add a timeout.
pento b64b8f2
Add action_format(), to format commands or URLs that the user should …
pento File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,4 @@ | ||
#!/bin/bash | ||
NVM_VERSION="v0.33.8" | ||
|
||
# Exit if any command fails | ||
set -e | ||
|
@@ -28,17 +27,25 @@ if ! docker-compose up -d; then | |
docker-compose up -d | ||
fi | ||
|
||
HOST_PORT=$(docker inspect --format '{{(index (index .HostConfig.PortBindings "80/tcp") 0).HostPort}}' wordpress-dev) | ||
|
||
# Wait until the docker containers are setup properely | ||
echo -en $(status_message "Attempting to connect to wordpress...") | ||
until $(curl -L http://localhost:8888 -so - 2>&1 | grep -q "WordPress"); do | ||
until $(curl -L http://localhost:$HOST_PORT -so - 2>&1 | grep -q "WordPress"); do | ||
echo -n '.' | ||
sleep 5 | ||
done | ||
echo ' done!' | ||
|
||
# Install WordPress | ||
echo -en $(status_message "Installing WordPress...") | ||
docker run -it --rm --volumes-from wordpress-dev --network container:wordpress-dev wordpress:cli core install --url=localhost:8888 --title=Gutenberg --admin_user=admin --admin_password=password [email protected] >/dev/null | ||
docker run -it --rm --volumes-from wordpress-dev --network container:wordpress-dev wordpress:cli core install --url=localhost:$HOST_PORT --title=Gutenberg --admin_user=admin --admin_password=password [email protected] >/dev/null | ||
|
||
CURRENT_URL=$(docker run -it --rm --volumes-from wordpress-dev --network container:wordpress-dev wordpress:cli option get siteurl) | ||
if [ "$CURRENT_URL" != "http://localhost:$HOST_PORT" ]; then | ||
docker run -it --rm --volumes-from wordpress-dev --network container:wordpress-dev wordpress:cli option update home "http://localhost:$HOST_PORT" | ||
docker run -it --rm --volumes-from wordpress-dev --network container:wordpress-dev wordpress:cli option update siteurl "http://localhost:$HOST_PORT" | ||
fi | ||
echo ' done!' | ||
|
||
# Activate Gutenberg | ||
|
@@ -52,6 +59,5 @@ docker-compose run --rm wordpress_phpunit /app/bin/install-wp-tests.sh wordpress | |
echo ' done!' | ||
|
||
# Install Composer | ||
echo -en $(status_message "Installing Composer...") | ||
docker-compose run --rm composer install >/dev/null | ||
echo ' done!' | ||
echo -e $(status_message "Installing and updating Composer modules...") | ||
docker-compose run --rm composer install |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this Gary 💯
The Cypress
baseUrl
also needs to be overwritten for this to work I believeAdding the following to your
cypress.env.json
file and replacing8888
with the same port number used in yourdocker-compose.override.yml
file should do the trick (I didn't get this far in my local attempts to get an alternate port working):See https://docs.cypress.io/guides/guides/environment-variables.html#Overriding-Configuration
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was just writing the docs for this. 🙂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, it turns out that
baseUrl
can't be overridden fromcypress.env.json
. Also, it seems that file is probably going to be deprecated at some point. Working on an automated way of doing it.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just noting that
package.json
file hasconfig
field available:https://docs.npmjs.com/files/package.json#config
I think Cypress is able to consume it. Let me find the related doc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be possible to set it up using
Cypress.config()
:https://docs.cypress.io/guides/references/configuration.html#Environment-Variables
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean, I could do that. Or I could write a silly little Cypress plugin. 😉