diff --git a/.changesets/20250314T045137-pr-53.md b/.changesets/20250314T045137-pr-53.md new file mode 100644 index 0000000..461fc61 --- /dev/null +++ b/.changesets/20250314T045137-pr-53.md @@ -0,0 +1,8 @@ +--- +title: 'feat!: poop emoji' +pr: 53 +author: jasonbahl +type: other +breaking: true +--- +null diff --git a/.changesets/20250314T045810-pr-5.md b/.changesets/20250314T045810-pr-5.md new file mode 100644 index 0000000..30a21fd --- /dev/null +++ b/.changesets/20250314T045810-pr-5.md @@ -0,0 +1,8 @@ +--- +title: 'feat!: package emoji' +pr: 5 +author: jasonbahl +type: other +breaking: true +--- +null diff --git a/.changesets/20250314T152258-pr-55.md b/.changesets/20250314T152258-pr-55.md new file mode 100644 index 0000000..6549198 --- /dev/null +++ b/.changesets/20250314T152258-pr-55.md @@ -0,0 +1,8 @@ +--- +title: 'fix!: angel emoji' +pr: 55 +author: jasonbahl +type: other +breaking: true +--- +null diff --git a/.github/workflows/generate-changeset.yml b/.github/workflows/generate-changeset.yml index db3dac8..9cb27f0 100644 --- a/.github/workflows/generate-changeset.yml +++ b/.github/workflows/generate-changeset.yml @@ -134,16 +134,38 @@ jobs: # Create a temporary directory for release notes mkdir -p /tmp/release-notes + # Generate release notes directly to see the raw output + echo "Raw output from release:notes command:" + npm run release:notes + # Generate release notes from all changesets to a temporary file - npm run release:notes 2>/dev/null | grep -v "^>" > /tmp/release-notes/temp_notes_raw.md + # Don't filter with grep initially to see what we're getting + npm run release:notes > /tmp/release-notes/temp_notes_raw.md - # Remove the "Found X changesets" line - sed -n '/^Found/!p' /tmp/release-notes/temp_notes_raw.md > /tmp/release-notes/temp_notes.md + # Show the raw content + echo "Raw content of temp_notes_raw.md:" + cat /tmp/release-notes/temp_notes_raw.md - # For debugging - echo "Generated release notes:" + # Now apply filtering if needed + cat /tmp/release-notes/temp_notes_raw.md | grep -v "^>" > /tmp/release-notes/temp_notes_filtered.md + + # Show filtered content + echo "Filtered content:" + cat /tmp/release-notes/temp_notes_filtered.md + + # Apply sed filtering + sed -n '/^Found/!p' /tmp/release-notes/temp_notes_filtered.md > /tmp/release-notes/temp_notes.md + + # Show final content + echo "Final release notes content:" cat /tmp/release-notes/temp_notes.md + # Make sure the file isn't empty + if [ ! -s /tmp/release-notes/temp_notes.md ]; then + echo "Warning: Release notes file is empty. Using fallback content." + echo "No changes documented yet. This will be updated when changesets are processed." > /tmp/release-notes/temp_notes.md + fi + - name: Check for existing release PR id: check_pr run: | @@ -174,10 +196,20 @@ jobs: PR_TITLE=$(echo "$PR_DATA" | jq -r '.title') + # Check if release notes file exists and has content + if [ -s /tmp/release-notes/temp_notes.md ]; then + RELEASE_NOTES=$(cat /tmp/release-notes/temp_notes.md) + echo "Using generated release notes:" + echo "$RELEASE_NOTES" + else + RELEASE_NOTES="No changes documented yet. This will be updated when changesets are processed." + echo "Using fallback release notes" + fi + # Create the PR body with proper formatting PR_BODY="## Upcoming Changes" PR_BODY="${PR_BODY}"$'\n\n' - PR_BODY="${PR_BODY}$(cat /tmp/release-notes/temp_notes.md)" + PR_BODY="${PR_BODY}${RELEASE_NOTES}" PR_BODY="${PR_BODY}"$'\n\n' PR_BODY="${PR_BODY}This PR contains all changes that will be included in the next release. It is automatically updated when new changesets are added to the develop branch." diff --git a/automation-tests.php b/automation-tests.php index a5fbc1a..3a86036 100644 --- a/automation-tests.php +++ b/automation-tests.php @@ -14,8 +14,5 @@ // show a message in the admin dashboard with the plugin name and version add_action( 'admin_notices', function() { - echo '

🤖 Automation Tests v' . AUTOMATION_TESTS_VERSION . '

'; + echo '

😇 Automation Tests v' . AUTOMATION_TESTS_VERSION . '

'; }); - - - diff --git a/package-lock.json b/package-lock.json index ea68af5..1af35bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,26 @@ { "name": "automation-tests", - "version": "2.0.0", + "version": "4.0.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "automation-tests", - "version": "2.0.0", + "version": "4.0.3", "license": "GPL-2.0-or-later", + "dependencies": { + "node-fetch": "^3.3.2" + }, "devDependencies": { "archiver": "^5.3.1", "dotenv": "^16.4.7", "fs-extra": "^11.1.1", "glob": "^10.3.3", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "node-fetch": "^2.7.0", + "semver": "^7.5.4", "yargs": "^17.7.2" } }, @@ -191,6 +199,13 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, "node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", @@ -516,6 +531,33 @@ "node": ">=6" } }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -600,6 +642,46 @@ "dev": true, "license": "ISC" }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -640,6 +722,16 @@ "dev": true, "license": "ISC" }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -680,6 +772,19 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -693,6 +798,16 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/lazystream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", @@ -739,6 +854,13 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", @@ -807,6 +929,27 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -947,6 +1090,33 @@ ], "license": "MIT" }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -983,6 +1153,13 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -1097,6 +1274,16 @@ "node": ">=8" } }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/tar-stream": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", @@ -1114,6 +1301,13 @@ "node": ">=6" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -1131,6 +1325,24 @@ "dev": true, "license": "MIT" }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index 5539805..1089af2 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,14 @@ "dotenv": "^16.4.7", "fs-extra": "^11.1.1", "glob": "^10.3.3", + "gray-matter": "^4.0.3", + "node-fetch": "^2.7.0", + "semver": "^7.5.4", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", "yargs": "^17.7.2" + }, + "dependencies": { + "node-fetch": "^3.3.2" } }