Skip to content

Releases: WeareJH/wf2

the one with fixed `--debug`

20 Dec 18:31
Compare
Choose a tag to compare

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

19 Dec 22:37
Compare
Choose a tag to compare

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

6d76175

the one with `varnish enable` and `varnish disable`

12 Dec 20:21
Compare
Choose a tag to compare

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`

10 Dec 21:55
Compare
Choose a tag to compare

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

image

Update as usual by running wf2 self-update.

the one with the `m2-playground` command

10 Dec 13:22
Compare
Choose a tag to compare

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

25 Nov 07:56
Compare
Choose a tag to compare

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

10 Nov 21:52
Compare
Choose a tag to compare

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 account
  • domain is the sub-domain of your cloud account, eg, if you access https://acme.atlassian.net then yours is acme
# first time only
wf2 timelog 1 --api 123456 --email [email protected] --domain acme

The one with PHP 7.3 + self-update

01 Nov 14:26
Compare
Choose a tag to compare

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

30 Oct 17:33
Compare
Choose a tag to compare

Features:

The ones with the 'scripts' feature from https://github.com/WeareJH/wf2/issues/50

17 Oct 09:21
Compare
Choose a tag to compare

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