wordmove-ng 6.0.2 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6b938b4ef6d1ed30ecf48f1cbe1d48ba2f1a2ef223247189a3da3a0c1b840238
4
- data.tar.gz: a3ffcdb129f255a82a7257f7d50a9d7c8b56195fd7e8a169ff04cceed8216281
3
+ metadata.gz: 3b2ca340ce83622a7faa03d89c41573efb50933bd3c85f5427eac9f9ae07ee91
4
+ data.tar.gz: 9183010aadcc92084a70839d140bd62604c8e4058aac8411b809f70558e14d7d
5
5
  SHA512:
6
- metadata.gz: 7d8d9baa3cecea48ac16a2853c927695eb1ad865bc0df9efc01f5ba6d034e96afab4322eeae3da3b9a605584a5fe44ed4ff58c3995daea9d4b9f08de616720ac
7
- data.tar.gz: 211ca5b52895d6fef092985a0bec08cd7bad97845c6579187699856e1d79339d510da596a60247bc3aa4296b1bdb7e85859cebbeda51a853b36335bdb86723b0
6
+ metadata.gz: 7411e375d8221a234dcb394ada25d0c3caa7e62225a328d5cd78d25f9d4a5be8887227844126d6045abd339b1c7c3b74966894d9fef5159c0e1fc1eab909a79e
7
+ data.tar.gz: a1914ff1d4a9ed0b533588bd1aca0b13157576e0e4d731c326edaf54db72916524d2402460350b3d0315d3ca623acf870d57c800b04a6c21955cd301cc333952
@@ -2,12 +2,12 @@
2
2
  #
3
3
  # 1. release-please watches master. From Conventional Commits it opens (and keeps
4
4
  # updating) a "release PR" that bumps lib/wordmove/version.rb and CHANGELOG.md.
5
- # Merging that PR creates the vX.Y.Z tag and the GitHub release.
6
- # 2. The publish job then builds the gem and pushes it to rubygems.org with
7
- # trusted publishing (OIDC, no API key) and attaches the .gem to the release.
8
- #
9
- # The publish job also runs when a v* tag is pushed by hand, which is how the
10
- # very first release (v6.0.0) is cut.
5
+ # Merging that PR creates the vX.Y.Z tag and the GitHub release, using the
6
+ # RELEASE_PLEASE_TOKEN PAT so that the tag push triggers this workflow again.
7
+ # 2. That tag push runs the publish job, which builds the gem, pushes it to
8
+ # rubygems.org with trusted publishing (OIDC, no API key) and attaches the
9
+ # .gem to the release. A v* tag pushed by hand at the head of master goes
10
+ # through the same job.
11
11
  #
12
12
  # One-time setup (see README "Releasing"):
13
13
  # - rubygems.org: pending trusted publisher for gem wordmove-ng, repository
@@ -36,9 +36,6 @@ jobs:
36
36
  permissions:
37
37
  contents: write
38
38
  pull-requests: write
39
- outputs:
40
- release_created: ${{ steps.release.outputs.release_created }}
41
- tag_name: ${{ steps.release.outputs.tag_name }}
42
39
  steps:
43
40
  # A fine-grained PAT (secret RELEASE_PLEASE_TOKEN, contents + pull-requests
44
41
  # read/write) instead of the built-in token: PRs opened with the built-in
@@ -52,14 +49,10 @@ jobs:
52
49
  manifest-file: .release-please-manifest.json
53
50
 
54
51
  publish:
55
- needs: [release-please]
56
- # Runs after release-please created a release, or on a manually pushed tag.
57
- # The `always()` is needed because release-please is skipped on tag pushes.
58
- if: >-
59
- always() && (
60
- needs.release-please.outputs.release_created == 'true' ||
61
- startsWith(github.ref, 'refs/tags/v')
62
- )
52
+ # Only on tag pushes. release-please's tag (created with the PAT) triggers
53
+ # this workflow like any other push, so publishing from the master run as
54
+ # well would race it and fail with "Tag vX.Y.Z has already been created".
55
+ if: startsWith(github.ref, 'refs/tags/v')
63
56
  runs-on: ubuntu-latest
64
57
  environment: release
65
58
  permissions:
@@ -80,7 +73,7 @@ jobs:
80
73
 
81
74
  - name: Verify the tag points at the head of master
82
75
  env:
83
- TAG: ${{ needs.release-please.outputs.tag_name || github.ref_name }}
76
+ TAG: ${{ github.ref_name }}
84
77
  run: |
85
78
  git fetch --tags --force
86
79
  tag_commit="$(git rev-parse "refs/tags/$TAG^{commit}")"
@@ -104,7 +97,7 @@ jobs:
104
97
  - name: Attach the gem to the GitHub release
105
98
  env:
106
99
  GH_TOKEN: ${{ github.token }}
107
- TAG: ${{ needs.release-please.outputs.tag_name || github.ref_name }}
100
+ TAG: ${{ github.ref_name }}
108
101
  # release-please creates the release itself; a hand-pushed tag has none yet.
109
102
  run: |
110
103
  if ! gh release view "$TAG" >/dev/null 2>&1; then
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "6.0.2"
2
+ ".": "6.0.3"
3
3
  }
data/CHANGELOG.md CHANGED
@@ -5,6 +5,13 @@ All notable changes to wordmove-ng are documented here. The project follows
5
5
  are listed at https://github.com/welaika/wordmove/releases; the kokiddp fork's changes
6
6
  between 5.2.2 and this project are summarised under 6.0.0.
7
7
 
8
+ ## [6.0.3](https://github.com/tekgnosis-net/wordmove-ng/compare/v6.0.2...v6.0.3) (2026-09-30)
9
+
10
+
11
+ ### Documentation
12
+
13
+ * expand the Ruby installation guide ([#7](https://github.com/tekgnosis-net/wordmove-ng/issues/7)) ([5972e2c](https://github.com/tekgnosis-net/wordmove-ng/commit/5972e2cf45f8ef6ebf1c2724b7637a8f4d319e11))
14
+
8
15
  ## [6.0.2](https://github.com/tekgnosis-net/wordmove-ng/compare/v6.0.1...v6.0.2) (2026-09-12)
9
16
 
10
17
 
data/README.md CHANGED
@@ -35,7 +35,9 @@ in a few places where the old behaviour was unsafe. See [Upgrading from wordmove
35
35
 
36
36
  ## Installation
37
37
 
38
- Ruby 3.0 or newer is required.
38
+ Ruby 3.0 or newer is required. If your system Ruby is older or missing, the docs walk
39
+ through [installing Ruby](https://tekgnosis-net.github.io/wordmove-ng/installation/#ruby)
40
+ with your package manager, rbenv, RVM, mise or Docker.
39
41
 
40
42
  ```bash
41
43
  gem install wordmove-ng
@@ -320,12 +322,12 @@ stored anywhere.
320
322
  1. Every push to `master` updates a "release PR" that bumps `lib/wordmove/version.rb` and
321
323
  `CHANGELOG.md` according to the commits since the last release.
322
324
  2. Merging that PR creates the `vX.Y.Z` tag and the GitHub release.
323
- 3. The `publish` job in `.github/workflows/release.yml` then runs the test suite on the
324
- tagged commit, builds the gem, pushes it to rubygems.org and attaches the `.gem` file to
325
- the GitHub release.
325
+ 3. The tag push triggers the `publish` job in `.github/workflows/release.yml`, which runs
326
+ the test suite on the tagged commit, builds the gem, pushes it to rubygems.org and
327
+ attaches the `.gem` file to the GitHub release.
326
328
 
327
- Pushing a `v*` tag by hand at the head of `master` triggers the same publish job; that is
328
- how 6.0.0 was cut. Merge the release PR only when there is something worth shipping:
329
+ Pushing a `v*` tag by hand at the head of `master` goes through the same publish job; that
330
+ is how 6.0.0 was cut. Merge the release PR only when there is something worth shipping:
329
331
  release-please keeps proposing a patch release for any Conventional Commit, including
330
332
  `ci:` and `docs:` ones.
331
333
 
data/docs/contributing.md CHANGED
@@ -38,9 +38,9 @@ Releases are automated by [release-please](https://github.com/googleapis/release
38
38
 
39
39
  1. Every push to `master` updates a "release PR" that bumps the version and the changelog from the commits since the last release. release-please proposes a patch release for any Conventional Commit, `ci:` and `docs:` included, so merge the PR only when there is something worth shipping.
40
40
  2. Merging it creates the `vX.Y.Z` tag and the GitHub release.
41
- 3. The `publish` job in `.github/workflows/release.yml` re-runs the suite on the tagged commit, builds the gem, pushes it to rubygems.org and attaches the `.gem` file to the GitHub release.
41
+ 3. The tag push triggers the `publish` job in `.github/workflows/release.yml`, which re-runs the suite on the tagged commit, builds the gem, pushes it to rubygems.org and attaches the `.gem` file to the GitHub release.
42
42
 
43
- Pushing a `v*` tag by hand at the head of `master` triggers the same publish job.
43
+ Pushing a `v*` tag by hand at the head of `master` goes through the same publish job.
44
44
 
45
45
  `master` is protected: changes land through pull requests whose `test` checks pass, and the rules apply to administrators too. release-please opens its PR with a fine-grained personal access token (secret `RELEASE_PLEASE_TOKEN`) because PRs opened with the built-in Actions token never trigger the checks.
46
46
 
data/docs/installation.md CHANGED
@@ -11,11 +11,124 @@ nav_order: 2
11
11
 
12
12
  ## Ruby
13
13
 
14
- wordmove-ng needs **Ruby 3.0 or newer**. Check with `ruby --version`. If your system Ruby is older or missing, use a version manager:
14
+ wordmove-ng needs **Ruby 3.0 or newer** and is tested on 3.0 through 4.0. Check what you have:
15
15
 
16
- - [rbenv](https://github.com/rbenv/rbenv#installation)
17
- - [RVM](https://rvm.io/)
18
- - [mise](https://mise.jdx.dev/) (`mise use -g ruby@3.4`)
16
+ ```bash
17
+ ruby --version
18
+ ```
19
+
20
+ If that prints 3.0 or newer you can skip to [the gem](#the-gem). Otherwise pick one of the routes below. A version manager is the usual choice: it leaves the system Ruby alone (several distributions depend on it), installs gems into your home directory without `sudo`, and lets you upgrade Ruby later without touching anything else. Any current 3.x works; `3.4` is a good default and is what the project itself uses.
21
+
22
+ ### Option A: your distribution's Ruby
23
+ {: .no_toc }
24
+
25
+ The quickest route when the packaged version is recent enough. Debian 12, Ubuntu 22.04 and later, Fedora and Arch all ship Ruby 3.x.
26
+
27
+ ```bash
28
+ # Debian / Ubuntu
29
+ sudo apt update && sudo apt install -y ruby-full build-essential
30
+ # Fedora
31
+ sudo dnf install -y ruby ruby-devel @development-tools
32
+ # Arch
33
+ sudo pacman -S ruby base-devel
34
+ ```
35
+
36
+ Then install the gem for your user only, so no `sudo` is needed and the system stays untouched:
37
+
38
+ ```bash
39
+ gem install --user-install wordmove-ng
40
+ ```
41
+
42
+ `--user-install` puts executables under `~/.local/share/gem/ruby/<version>/bin` (older Rubies: `~/.gem/ruby/<version>/bin`). Add that directory to your `PATH` in `~/.bashrc` or `~/.zshrc`; `gem env` prints the exact path under `USER INSTALLATION DIRECTORY`.
43
+
44
+ ### Option B: rbenv
45
+ {: .no_toc }
46
+
47
+ Lightweight, shell-agnostic, and packaged everywhere. `rbenv` selects a Ruby; the `ruby-build` plugin compiles one.
48
+
49
+ ```bash
50
+ # macOS
51
+ brew install rbenv ruby-build
52
+ # Debian / Ubuntu (rbenv from apt is often old; the git checkout below is current)
53
+ sudo apt install -y git build-essential autoconf libssl-dev libyaml-dev zlib1g-dev libffi-dev libgmp-dev rustc
54
+ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
55
+ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
56
+ ~/.rbenv/bin/rbenv init # prints the line to add to your shell profile; add it, then reopen the terminal
57
+ ```
58
+
59
+ ```bash
60
+ rbenv install 3.4.11 # compiles Ruby, takes a few minutes
61
+ rbenv global 3.4.11
62
+ ruby --version
63
+ gem install wordmove-ng
64
+ rbenv rehash # makes the wordmove-ng executable visible
65
+ ```
66
+
67
+ `rbenv install --list` shows the versions available; run `git -C ~/.rbenv/plugins/ruby-build pull` (or `brew upgrade ruby-build`) if a recent one is missing.
68
+
69
+ ### Option C: RVM
70
+ {: .no_toc }
71
+
72
+ Heavier than rbenv but familiar to many WordPress developers, and its gemsets isolate one project's gems from another's.
73
+
74
+ ```bash
75
+ gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
76
+ \curl -sSL https://get.rvm.io | bash -s stable
77
+ source ~/.rvm/scripts/rvm # or reopen the terminal
78
+ ```
79
+
80
+ ```bash
81
+ rvm install 3.4.11
82
+ rvm use 3.4.11 --default
83
+ gem install wordmove-ng
84
+ ```
85
+
86
+ RVM installs the build dependencies for you (it may ask for your `sudo` password once). To keep wordmove-ng in its own gemset: `rvm gemset create wordmove && rvm use 3.4.11@wordmove --default` before `gem install`. If you use the [cron script]({{ site.baseurl }}/automation/), set `RUBY_VERSION` to the same `ruby-3.4.11` or `ruby-3.4.11@wordmove` string.
87
+
88
+ ### Option D: mise
89
+ {: .no_toc }
90
+
91
+ One tool for Ruby, Node, PHP and more, with a single config file per project. Good if you already manage other runtimes with it.
92
+
93
+ ```bash
94
+ curl https://mise.run | sh
95
+ echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc # or: mise activate zsh >> ~/.zshrc
96
+ exec $SHELL
97
+ ```
98
+
99
+ ```bash
100
+ mise use --global ruby@3.4
101
+ ruby --version
102
+ gem install wordmove-ng
103
+ ```
104
+
105
+ mise compiles Ruby through ruby-build as well, so on Linux install the same build packages listed under rbenv first; on macOS `brew install openssl@3 readline libyaml gmp autoconf`.
106
+
107
+ ### Docker
108
+ {: .no_toc }
109
+
110
+ If you would rather not install Ruby at all, run wordmove-ng from the official Ruby image. Mount your site and your SSH configuration, and make sure the peer tools are installed in the container:
111
+
112
+ ```bash
113
+ docker run --rm -it \
114
+ -v "$PWD":/site -w /site \
115
+ -v "$HOME/.ssh":/root/.ssh:ro \
116
+ ruby:3.4 bash -c 'apt-get update -qq && apt-get install -y -qq rsync openssh-client mariadb-client >/dev/null \
117
+ && gem install -q wordmove-ng && wordmove-ng doctor'
118
+ ```
119
+
120
+ For repeated use bake that into a small Dockerfile. Note that `local` in your movefile then means "inside the container": `wordpress_path` is `/site`, and the local database must be reachable from the container (`host: host.docker.internal` on Docker Desktop, or the compose service name).
121
+
122
+ ### Checking the result
123
+ {: .no_toc }
124
+
125
+ ```bash
126
+ ruby --version # 3.0 or newer
127
+ gem --version
128
+ wordmove-ng --version
129
+ ```
130
+
131
+ If `wordmove-ng` is not found right after installing, the executable directory is not in your `PATH` yet: open a new terminal, and for rbenv run `rbenv rehash`. `gem env` shows where executables were placed.
19
132
 
20
133
  ## The gem
21
134
 
@@ -1,3 +1,3 @@
1
1
  module Wordmove
2
- VERSION = "6.0.2".freeze
2
+ VERSION = "6.0.3".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wordmove-ng
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.2
4
+ version: 6.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kumar