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

Press0 1140 | Explore BH integration with InstaWP site migration solution for self-service WP site migration #1

Merged
merged 14 commits into from
Apr 25, 2024
Merged
58 changes: 58 additions & 0 deletions .github/workflows/lint-php.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Lint PHP
on:
pull_request:
types: [ opened, edited, reopened, ready_for_review ]
wpscholar marked this conversation as resolved.
Show resolved Hide resolved
paths:
- '**.php'

concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true

jobs:
phpcs:
name: Run PHP Code Sniffer
runs-on: ubuntu-latest
steps:

- name: Checkout repository
uses: actions/checkout@v4

# User PHP 7.4 for compatibility with the WordPress codesniffer rules.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
coverage: none
tools: phpcs

- name: Get changed files
uses: technote-space/get-diff-action@v6
with:
SUFFIX_FILTER: .php

- name: Get Composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
if: "!! env.GIT_DIFF"

- name: Cache Composer vendor directory
uses: actions/cache@v3
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This action is at version 4. We should add a dependabot.yml file to help us stay on top of these dependencies. See https://github.com/newfold-labs/wp-module-coming-soon/blob/main/.github/dependabot.yml

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My apologies, I forgot to add it. I'll add it now.

with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
if: "!! env.GIT_DIFF"

- name: Validate composer.json and composer.lock
run: composer validate
if: "!! env.GIT_DIFF"

- name: Install dependencies
run: composer install --no-progress --optimize-autoloader --prefer-dist
if: "!! env.GIT_DIFF"

- name: Detecting PHP Code Standards Violations
run: vendor/bin/phpcs --standard=phpcs.xml -s ${{ env.GIT_DIFF }}
if: "!! env.GIT_DIFF"
23 changes: 23 additions & 0 deletions .github/workflows/publish-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Publish Package
on:
release:
types:
- created
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
wpscholar marked this conversation as resolved.
Show resolved Hide resolved
registry-url: https://npm.pkg.github.com/
scope: '@newfold-labs'
- name: Setup Registry for NPM Install
run: printf "\n//npm.pkg.github.com/:_authToken=${{ secrets.NEWFOLD_ACCESS_TOKEN }}" >> .npmrc
- run: npm ci
- name: Reset Registry for npm publish
run: sed -i '$d' .npmrc
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
35 changes: 35 additions & 0 deletions .github/workflows/satis-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Trigger Satis Build

on:
release:
types:
- created

jobs:
webhook:
name: Send Webhook
runs-on: ubuntu-latest
steps:

- name: Set Package
id: package
env:
REPO: ${{ github.repository }}
run: echo "PACKAGE=${REPO##*/}" >> $GITHUB_OUTPUT

- name: Set Version
id: tag
run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_OUTPUT

- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v1
wpscholar marked this conversation as resolved.
Show resolved Hide resolved
with:
token: ${{ secrets.WEBHOOK_TOKEN }}
repository: newfold-labs/satis
event-type: 'satis-build'
client-payload: >-
{
"vendor": "${{ github.repository_owner }}",
"package": "${{ steps.package.outputs.PACKAGE }}",
"version": "${{ steps.tag.outputs.VERSION }}"
}
61 changes: 19 additions & 42 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,48 +1,25 @@
# Wordpress - ignore core, configuration, examples, uploads and logs.
# https://github.com/github/gitignore/blob/main/WordPress.gitignore
# Composer
/vendor

# Core
#
# Note: if you want to stage/commit WP core files
# you can delete this whole section/until Configuration.
/wp-admin/
/wp-content/index.php
/wp-content/languages
/wp-content/plugins/index.php
/wp-content/themes/index.php
/wp-includes/
/index.php
/license.txt
/readme.html
/wp-*.php
/xmlrpc.php
#node_modules
/node_modules

# Configuration
wp-config.php
# System and IDE files
.DS_Store
.idea

# Example themes
/wp-content/themes/twenty*/
# Cypress
cypress.env.json
/tests/cypress/screenshots
/tests/cypress/videos

# Example plugin
/wp-content/plugins/hello.php
# Built-app files
/.docs
/assets/*
/build/index.js*
/dist/*

# Uploads
/wp-content/uploads/

# Log files
# File Types
*.log

# htaccess
/.htaccess

# All plugins
#
# Note: If you wish to whitelist plugins,
# uncomment the next line
#/wp-content/plugins

# All themes
#
# Note: If you wish to whitelist themes,
# uncomment the next line
#/wp-content/themes
*.sql
*.zip
42 changes: 42 additions & 0 deletions bootstrap.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?php

use NewfoldLabs\WP\Module\Migration\Migration;
use NewfoldLabs\WP\Module\Migration\Services\UtilityService;
use NewfoldLabs\WP\ModuleLoader\Container;

use function NewfoldLabs\WP\ModuleLoader\register;

if ( ! defined( 'ABSPATH' ) ) {
return;
}


if ( function_exists( 'add_action' ) ) {
add_action(
'plugins_loaded',
function () {
register(
array(
'name' => 'migration',
'label' => __( 'Migration', 'wp-module-migration' ),
'callback' => function ( Container $container ) {

if ( ! defined( 'NFD_MIGRATION_MODULE_VERSION' ) ) {
define( 'NFD_MIGRATION_MODULE_VERSION', '1.0.0' );
}

defined( 'NFD_PROXY_ACCESS_WORKER' ) || define( 'NFD_PROXY_ACCESS_WORKER', 'https://hiive.cloud/workers/migration-token-proxy' );
$response = UtilityService::get_insta_api_key();
defined( 'INSTAWP_API_KEY' ) || define( 'INSTAWP_API_KEY', $response );
defined( 'INSTAWP_API_DOMAIN' ) || define( 'INSTAWP_API_DOMAIN', 'https://app.instawp.io' );
defined( 'INSTAWP_MIGRATE_ENDPOINT' ) || define( 'INSTAWP_MIGRATE_ENDPOINT', 'migrate/bluehost' );

new Migration( $container );
},
'isActive' => true,
'isHidden' => true,
)
);
}
);
}
1 change: 1 addition & 0 deletions build/index.asset.php
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-element'), 'version' => '336662a21f49ae7ac773');
62 changes: 62 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{
"name": "newfold-labs/wp-module-migration",
"autoload": {
"psr-4": {
"NewfoldLabs\\WP\\Module\\Migration\\": "includes/"
},
"files": [
"bootstrap.php"
]
},
"authors": [
{
"name": "Beyond",
"email": "[email protected]"
}
],
"repositories": [
{
"type": "composer",
"url": "https://newfold-labs.github.io/satis/",
"only": [
"newfold-labs/*"
]
},
{
"type": "vcs",
"url": "[email protected]:InstaWP/connect-helpers.git"
}
],
"require": {
"newfold-labs/wp-module-loader": "^1.0.10",
"instawp/connect-helpers": "dev-main"
},
"require-dev": {
"newfold-labs/wp-php-standards": "^1.2"
},
"scripts": {
"i18n": [
"vendor/bin/wp i18n make-pot . ./languages/wp-module-ecommerce.pot --headers='{\"Report-Msgid-Bugs-To\":\"https://github.com/newfold-labs/wp-module-ecommerce/issues\",\"POT-Creation-Date\":null}' --exclude=node_modules,src,tests"
],
"fix": [
"vendor/bin/phpcbf --standard=phpcs.xml ."
],
"lint": [
"vendor/bin/phpcs --standard=phpcs.xml -s ."
]
},
"config": {
"optimize-autoloader": true,
"sort-packages": true,
"platform": {
"php": "7.0.0"
wpscholar marked this conversation as resolved.
Show resolved Hide resolved
},
"preferred-install": {
"newfold-labs/*": "source",
"*": "dist"
},
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true
}
}
}
Loading