Releases: WeareJH/wf2
the one with fixed `--debug`
Fixed a bug where the incorrect container was being used for the following feature:
to debug CLI commands & composer, provide --debug
wf2 --debug m setup:upgrade
the one with xdebug enable/disable
New commands added to enable/disable xdebug for all requests.
Note: it's still recommended to use WF2 without xdebug, and use debug=true
where possible as the speed difference is immense.
# enable xdebug for ALL requests (resets when wf2 stops)
wf2 xdebug enable
# disable xdebug (?debug=true still works)
wf2 xdebug disable
Note: for CLI/Composer debugging, this has always been supported
wf2 --debug m setup:upgrade
wf2 --debug composer install
the one with `varnish enable` and `varnish disable`
enable/disable for varnish was always possible wf2
by manually reloading vcls (if you knew the command) - this release just makes them first-class commands. 17fafa3
before
# enable
wf2 dc exec varnish varnishadm vcl.use boot0
# disable
wf2 dc exec varnish varnishadm vcl.use boot
after
# enable
wf2 varnish enable
# disable
wf2 varnish disable
The one with integration test support, `-y` for self update and a helpful message after `m2-playground`
1: @dcabrejas added support for running integration tests (details to follow, when he's back)
2: @jflanaganuk added a -y
flag for self-update
to remove the need for user input
3: @shakyShane added a large help guide/message with some copy/paste commands after m2-playground
Here's how the message looks after running m2-playground
Update as usual by running wf2 self-update
.
the one with the `m2-playground` command
This feature replicates just enough of composer create project
to allow a fresh M2 instance to be created, from nothing. (other than your Magento username/password).
the m2-playground
command will download & configure a fresh M2 instance into a new directory for you. Then you can run wf2
commands as usual.
wf2 m2-playground 2.3.3 --username <username> --password <password>
specify a different directory name (username and password fields omitted for brevity)
wf2 m2-playground 2.3.3 -o my-cool-dir
override a previous directory
wf2 m2-playground 2.3.3 -f
Once that's done...
CD into the new folder and execute the following
wf2 up
wf2 doctor (separate tab)
wf2 composer install
wf2 exec magento-install
Your fresh installation will be available at https://local.m2
- so make sure that's in your /etc/hosts
file.
The one with more 'timelog' features
To make it easier to keep track of logged time, the following features are added.
- you can now query upto 31 days
- you can apply filters like
low
,weekdays
,weekends
,empty
,overtime
-> they apply left-to-right - you can see a summary of what a given collection of days should add up to.
- note: the 'target' part of the summary automatically excludes weekends, regardless of how you filter.
Easier to just see examples
Show the last 7 days
wf2 timelog 7
Date Normal Overtime Total
Sun, 24 Nov, 2019 0h 0m 0h 0m 0h 0m
Sat, 23 Nov, 2019 0h 0m 0h 0m 0h 0m
Fri, 22 Nov, 2019 10h 6m 0h 0m 16h 6m
Thu, 21 Nov, 2019 8h 1m 2h 0m 10h 1m
Wed, 20 Nov, 2019 7h 36m 0h 30m 8h 6m
Tue, 19 Nov, 2019 7h 38m 0h 0m 11h 38m
Mon, 18 Nov, 2019 7h 32m 0h 0m 7h 32m
Target Normal Overtime Difference
37h 30m 40h 53m 2h 30m +3h 23m
Show only weekdays
that are low
wf2 timelog 31 -f low -f weekdays
Date Normal Overtime Total
Thu, 07 Nov, 2019 2h 34m 1h 0m 3h 34m
Wed, 06 Nov, 2019 5h 3m 1h 30m 6h 33m
Mon, 04 Nov, 2019 0h 5m 1h 0m 1h 5m
Fri, 01 Nov, 2019 0h 31m 6h 30m 7h 1m
Fri, 25 Oct, 2019 5h 40m 5h 0m 10h 40m
Target Normal Overtime Difference
37h 30m 13h 53m 15h 0m -23h 37m
The one with `-f` for push, and a new `timelog` command
2 new features in this release.
-f
for the push
command.
Previously, trying to push
anything within the app
folder was a hard error. This is needed since the syncing mechanism can get really screwed up when you're trying to run delete commands in the container (which then causes the host file to get deleted)...
However, since the syncing is still not 100% reliable, we've added -f
to allow the error to be downgraded to a friendly warning. This means the following is now possible.
wf2 push app/code/somefile.php -f
new timelog
command.
This will likely be pulled into a separate tool once we have feedback etc, but it's been added to wf2 since we all have it installed already and are familiar with it.
The primary goal is to allow you to view jira worklogs, grouped into days.
The following will show a summary of today + 1 prev day (2 in total)
wf2 timelog 2d
[wf2 info] getting your account info...
[wf2 info] getting issues & worklogs for 2 day(s)
+-------------------+--------+--------+----------+
| Date | Total | Normal | Overtime |
+-------------------+--------+--------+----------+
| Sat, 09 Nov, 2019 | 4h 0m | 0h 0m | 4h 0m |
| Fri, 08 Nov, 2019 | 7h 30m | 7h 30m | 0h 0m |
+-------------------+--------+--------+----------+
if you provide the -v
flag, you'll get more verbose output
wf2 timelog 2 -v
+------------------------------------------------------------------------------+
| Date | Normal | Overtime | Total |
| -------------------+--------+----------+------- |
| Fri, 08 Nov, 2019 | 7h30m | 0h0m | 7h30m |
+------------------------------------------------------------------------------+
| Ticket | Time | Type | Status |
| -----------------------------------------------+------+--------+------------ |
| https://acme.atlassian.net/browse/ACME-943 | 30m | Normal | UAT |
| https://acme.atlassian.net/browse/ACME-912 | 7h | Normal | Refinement |
+------------------------------------------------------------------------------+
First run
The very first time you run the command, you'll need --api
--email
& --domain
where
api
is a personal Jira API key (make your own in the user section of jira)email
is the email used in your jira accountdomain
is the sub-domain of your cloud account, eg, if you accesshttps://acme.atlassian.net
then yours isacme
# first time only
wf2 timelog 1 --api 123456 --email [email protected] --domain acme
The one with PHP 7.3 + self-update
Thanks to @Loxzibit & @jflanaganuk we have 2 new important features.
PHP 7.3
PHP 7.3 is now the default. if this breaks your project because you don't have a php_version
in your wf2.yml
file - you'll have to add it :)
Self update.
running wf2 self-update
will attempt to self-update your version, meaning you shouldn't need to do anything else.
The one with Elastic Search + base mysql conf
Features:
-
MySQL now has higher default settings https://github.com/WeareJH/wf2/blob/bd4278bd44b9000db27ed2e0478102d54feda2ef/wf2_core/src/recipes/m2/templates/mysql.cnf#L1
This file can also be overriden, but we discourage that in general. if you absolutely need to, ask and we'll explain how to. bd4278b -
Elastic Search has been added 48b043e
The ones with the 'scripts' feature from https://github.com/WeareJH/wf2/issues/50
Please see the previous RFC for reasoning/details - but note that the actually implementation differs slightly from what's seen there.
Scripts allow you to define and run scripts that live in wf2.yaml
.
scripts:
steps:
- sh: echo "starting"
- sh: sleep 1
- sh: echo "All done!"
All scripts have a sequence of steps
- in the example above sh: <command>
instructs wf2
to simply execute the command.
But that alone wouldn't be very useful, the core reasoning for the scripts
feature is to allow deep integration with the docker services running as part of the recipe.
Here's an example from a recent project where the FE team had command that needed to be run by the node
container, but also in a deep directory
recipe: M2
domains: [ acme.m2 ]
php_version: 7.1
scripts:
fe-assets:
description: Install FE dependencies & build CSS/Icons
steps:
- fe-install
- fe-build
fe-install:
description: Install build dependencies
steps:
- run:
service: node
workdir: /var/www/app/design/frontend/Acme/default
command: npm i
fe-build:
description: Build CSS & Icon files
steps:
- run:
service: node
workdir: /var/www/app/design/frontend/Acme/default
command: npm run build-all
The killer feature here, is that anyone (frontend or backend) now can simply run wf2 fe-assets
with no host dependencies and they'll have a consistent experience.
The scripts are also printed when you run wf2 --help
to help discovery
SUBCOMMANDS:
up Bring up containers
stop Take down containers & retain data
down Take down containers & delete everything
pull Pull files or folders from the main container to the host
push Push files or folders into the main container
doctor Try to fix common issues with a recipe
eject Dump all files into the local directory for manual running
update-images Update images used in the current recipe
db-dump Dump the current database to dump.sql
db-import Import a DB file
exec Execute commands in the main container
help Prints this message or the help of the given subcommand(s)
PASS THRU COMMANDS:
composer [M2] Run composer commands with the correct user
npm [M2] Run npm commands
dc [M2] Run docker-compose commands
node [M2] Run commands in the node container
m [M2] Execute ./bin/magento commands inside the PHP container
PROJECT COMMANDS
fe-install Install build dependencies
fe-watch Build CSS & Icon files
fe-assets Install FE dependencies & build CSS/Icons
fe-build Build CSS & Icon files