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

Improve the process for updating wp-a2z.org #1

Open
bobbingwide opened this issue May 10, 2019 · 6 comments
Open

Improve the process for updating wp-a2z.org #1

bobbingwide opened this issue May 10, 2019 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@bobbingwide
Copy link
Owner

bobbingwide commented May 10, 2019

I need to improve the method whereby updates to plugins and themes can be applied to wp-a2z.org efficiently. A time consuming part of the process has been downloading the latest runtime version of a component, extracting it to the WP-a2z repository, updating the repository and then running the batch process to rebuild the API reference.

This issue is to document the requirements and solution for building the API reference for the existing plugins and themes.

The logic has to cater for exceptions such as:

  1. The repository name for WordPress is wp-a2z.
  2. wp-a2z has some hand cranked files: README.md and .gitignore
  3. The Genesis theme framework is not downloadable from wordpress.org
@bobbingwide bobbingwide added the enhancement New feature or request label May 10, 2019
@bobbingwide bobbingwide self-assigned this May 10, 2019
@bobbingwide
Copy link
Owner Author

A couple of problems detected when processing the Genesis theme framework.
The .gitkeep file in the \docs\css folder prevents the directory from being emptied so we get a warning message calling rmdir.

Consequently, when files are being extracted from the zip file we get prompted about file replacement.

0Array
(
    [0] =>
    [1] => 7-Zip 18.05 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2018-04-30
    [2] =>
    [3] => Scanning the drive for archives:
    [4] => 1 file, 875236 bytes (855 KiB)
    [5] =>
    [6] => Extracting archive: C:\apache\htdocs\downloads\themes\genesis.2.10.1.zip
    [7] => --
    [8] => Path = C:\apache\htdocs\downloads\themes\genesis.2.10.1.zip
    [9] => Type = zip
    [10] => Physical Size = 875236
    [11] =>
    [12] =>
    [13] => Would you like to replace the existing file:
    [14] =>   Path:     .\genesis\docs\css\.gitkeep
    [15] =>   Size:     0 bytes
    [16] =>   Modified: 2019-05-01 18:46:54
    [17] => with the file from archive:
    [18] =>   Path:     genesis\docs\css\.gitkeep
    [19] =>   Size:     0 bytes
    [20] =>   Modified: 2019-05-07 17:43:26
    [21] => ? (Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit?
    [22] => Everything is Ok
    [23] =>
    [24] => Folders: 36
    [25] => Files: 302
    [26] => Size:       1801377
    [27] => Compressed: 875236
)

@bobbingwide
Copy link
Owner Author

Extracting wordpress from wordpress.zip puts the files into the wrong directory - wordpress rather than wp-a2z. Perhaps we should rename the wp-a2z folder to wordpress before performing the extract then rename it back to wp-a2z afterwards.

bobbingwide added a commit that referenced this issue Jul 13, 2019
@bobbingwide
Copy link
Owner Author

I need to add some logic to prevent a true source repository from being updated from the runtime version.
It made a complete mess of EDD.

@bobbingwide
Copy link
Owner Author

Also, update the logic to be able to use oik autoload when slog and/or slog-bloat are activated. slog uses shared library autoloading.

@bobbingwide
Copy link
Owner Author

I had a problem trying to update Gutenberg to 10.6.0-rc.1 from the zip file downloaded from GitHub.
The extract logic assumes that the .zip file stores all the files in the correctly named folder.
This is not the case.
The files were extracted to C:\github\wp-a2z so nothing was committed.
To recover I needed to pull the repository again, rerun the extract, realise the problem then manually move the files into the gutenberg folder and add and commit again.

Perhaps the extract process should use a separate directory for the extraction and then move the extracted files taking into account the directory structure that's been created.

bobbingwide added a commit that referenced this issue Nov 21, 2021
@bobbingwide
Copy link
Owner Author

I'm not going to close this yet. Using the update command I'm able to update a component to a new version.
But I have to specify the version on the command line.
Currently, for plugins I need to look at the plugin's Advanced view ( eg https://wordpress.org/plugins/woocommerce/advanced/ ) and determine the versions I want to support.
Note: I normally ignore betas and release candidates.
Then I have to run the update command for each version that's not in my repo.

Requirement

  • Automate the Git repo update for each component to the latest level

Proposed solution

For plugins:

  • Extend the update logic to access the plugininfo from wordpress.org
  • Determine any new versions
  • Apply the updates

For themes: tbc
For WordPress: tbc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant