GitHub Action 上で 他のテーマやプラグインをインストールした上でテストを走らせるメモ
.yml のファイルの中でインストール処理をする
# 公式ディレクトリのテーマをインストールする場合
- name: Install Lightning Theme
run: |
curl -s https://downloads.wordpress.org/theme/lightning.zip -o theme.zip
unzip theme.zip -d tests/themes
rm -f theme.zip
# プライベートリポジトリのプラグインをインストール
- name: Install Lightning G3 Pro Unit
run: |
curl -sL ${{ secrets.G3_PRO_UNIT_URL }} -o plugin.zip
unzip plugin.zip -d tests/plugins
rm -f plugin.zip
テスト対象のプラグインの tests/bootstrap.php に記載
/**
* Manually load the plugin being tested.
*/
function _manually_load_plugin() {
if ( admin_url() === 'http://localhost:8889/wp-admin/' ) {
// GitHub Actions 上の場合
// .gitHub/workflows/php_unit_tsts でインストールした lightning のディレクトリを登録
register_theme_directory( dirname( __FILE__ ) . '/themes' );
search_theme_directories();
}
switch_theme( 'lightning' );
if ( admin_url() === 'http://localhost:8889/wp-admin/' ) {
// GitHub Actions 上の場合
// .gitHub/workflows/php_unit_tsts でインストールした G3 Pro Unit のファイルを読み込む
require dirname( __FILE__ ) . '/plugins/lightning-g3-pro-unit/inc/customize/class-preset-manager.php';
} else {
// Activate Lightning G3 Pro Unit
include_once(ABSPATH . 'wp-admin/includes/plugin.php');
activate_plugin('lightning-g3-pro-unit/lightning-g3-pro-unit.php');
// G3 Pro Unit をテスト上で有効化しても LTG3_Preset_Manager クラスの読み込みに失敗してテストが通らないため、
// クラスファイルを直接読み込んでいる.
require dirname( dirname( dirname( __FILE__ ) ) ) . '/lightning-g3-pro-unit/inc/customize/class-preset-manager.php';
}
}
tests_add_filter( 'muplugins_loaded', '_manually_load_plugin' );
投稿者プロフィール
-
名古屋のウェブ制作会社数社に10年程度務めた後、株式会社ベクトル設立。
企画・運営・コンサルティング〜WordPressを中心としたシステム開発まで幅広く携わる。
[ 著書 ]
・いちばんやさしいWordPressの教本(共著)
・現場でかならず使われているWordPressデザインのメソッド(共著)
[ 最近のWordPressコミュニティでの活動 ]
2018 WordCampOsaka セッションスピーカー
2017 WordCampKyoto セッションスピーカー
2016 WordCampTokyo LT
2016 WordCampKansai ハンズオン世話役
2015 WordCampTokyo セッションスピーカー
2015 WordCampKansai セッションスピーカー
2014 WordFesNagoya 実行委員 & セッションスピーカー
2013 WordCampTokyo セッションスピーカー(パネラー)
2013 WordFesNagoya 実行委員 & セッションスピーカー
2013 WordCrabFukui セッションスピーカー
他
最新の投稿
シンプルでカスタマイズしやすいWordPressテーマ
Lightningは twitter Bootstrap ベースのシンプルでカスタマイズしやすいWordPressテーマです。
プラグイン VK All in One Expansion Unit とセットで使う事でビジネスサイトにもブログにも活用できます。
プラグイン VK All in One Expansion Unit とセットで使う事でビジネスサイトにもブログにも活用できます。