1111 WORDPRESS_DB_NAME : wordpress
1212 WORDPRESS_DB_PORT : 3307
1313 PLUGIN_REPO : ProgressPlanner/progress-planner
14+ YOAST_TOKEN : ${{ secrets.YOAST_TOKEN }}
1415
1516on :
1617 push :
2223
2324jobs :
2425 upgrade-compat :
25- runs-on : ubuntu-latest
26+ runs-on : ubuntu-22.04
2627
2728 services :
2829 mysql :
4950 WORDPRESS_ADMIN_USER : ${{ env.WORDPRESS_ADMIN_USER }}
5051 WORDPRESS_ADMIN_PASSWORD : ${{ env.WORDPRESS_ADMIN_PASSWORD }}
5152 WORDPRESS_ADMIN_EMAIL : ${{ env.WORDPRESS_ADMIN_EMAIL }}
52- PRPL_TEST_TOKEN : ${{ env.PRPL_TEST_TOKEN }}
5353 ports :
5454 - 8080:80
5555 options : >-
@@ -62,10 +62,19 @@ jobs:
6262 - name : Checkout code
6363 uses : actions/checkout@v3
6464
65- - name : Install system dependencies ( host)
65+ - name : Install PHP & Composer on host
6666 run : |
6767 sudo apt-get update
68- sudo apt-get install -y git curl unzip
68+ sudo apt-get install -y git curl unzip php-cli php-curl php-mbstring php-xml php-zip
69+ curl -sS https://getcomposer.org/installer | php
70+ sudo mv composer.phar /usr/local/bin/composer
71+
72+ - name : Install plugin dependencies (Composer)
73+ run : |
74+ composer config -g http-basic.my.yoast.com token $YOAST_TOKEN
75+ composer config repositories.my-yoast composer https://my.yoast.com/packages/
76+ composer config --no-plugins allow-plugins.composer/installers true
77+ composer install --working-dir=./
6978
7079 - name : Complete WordPress installation
7180 run : |
7887 -d "admin_email=$WORDPRESS_ADMIN_EMAIL" \
7988 -d "public=1"
8089
81- - name : Install and activate plugin
90+ - name : Install and activate plugins in WordPress container
8291 run : |
8392 WP_CONTAINER=$(docker ps -qf "name=wordpress")
84- PLUGIN_REPO=$PLUGIN_REPO
85- PLUGIN_OLD_VERSION=$PLUGIN_OLD_VERSION
8693
8794 # Install git inside the WordPress container
8895 docker exec $WP_CONTAINER apt-get update
93100 docker exec $WP_CONTAINER chmod +x wp-cli.phar
94101 docker exec $WP_CONTAINER mv wp-cli.phar /usr/local/bin/wp
95102
96- # Create the plugins directory
97- docker exec $WP_CONTAINER mkdir -p /var/www/html/wp-content/plugins
103+ # Create plugin directory
104+ docker exec $WP_CONTAINER mkdir -p /var/www/html/wp-content/plugins/progress-planner
98105
99106 # Clone plugin repository (v1.1.0)
100107 docker exec $WP_CONTAINER git clone --branch v1.1.0 https://github.com/$PLUGIN_REPO.git /var/www/html/wp-content/plugins/progress-planner
@@ -109,15 +116,23 @@ jobs:
109116 docker cp . $WP_CONTAINER:/var/www/html/wp-content/plugins/progress-planner
110117
111118 # Show updated plugin settings
119+ docker exec $WP_CONTAINER wp option get progress_planner_version --allow-root
112120 docker exec $WP_CONTAINER wp option get progress_planner_settings --allow-root
113121
114- # Install Yoast SEO
122+ # Activate 3rd party plugins
115123 docker exec $WP_CONTAINER wp plugin install wordpress-seo --activate --allow-root
116-
117- # Install Yoast Comment Experience
118124 docker exec $WP_CONTAINER wp plugin install yoast-comment-hacks --activate --allow-root
119125
120- # Final plugin version check
121- docker exec $WP_CONTAINER wp option get progress_planner_version --allow-root
126+ # Show plugin settings
122127 docker exec $WP_CONTAINER wp option get progress_planner_settings --allow-root
123128
129+ # Require Yoast SEO Premium & copy files
130+ composer require yoast/wordpress-seo-premium
131+ composer dump-autoload --working-dir=./wp-content/plugins/wordpress-seo-premium
132+ docker cp ./wp-content/plugins/wordpress-seo-premium $WP_CONTAINER:/var/www/html/wp-content/plugins/wordpress-seo-premium
133+
134+ # Activate Yoast SEO Premium
135+ docker exec $WP_CONTAINER wp plugin activate wordpress-seo-premium --allow-root
136+
137+ # Show plugin settings
138+ docker exec $WP_CONTAINER wp option get progress_planner_settings --allow-root
0 commit comments