@@ -16,13 +16,14 @@ jobs:
1616 php-extensions : mysql
1717 php-ini-values : post_max_size=256M
1818 wp-directory : wordpress
19- wp-plugins-directory : wordpress/wp-content/plugins
19+ wp-plugins-directory : wordpress/wp-content/plugins/plugin-name/
2020 DB_HOST : 127.0.0.1
2121 DB_TABLE_PREFIX : wp_
2222 DB_NAME : test_db
2323 DB_USER : user
2424 DB_PASSWORD : passw0rd
25- WP_URL : http://plugin-name.test
25+ WP_URL : https://plugin-name.test
26+ WP_ADMIN_PATH : /wp-admin
2627 WP_DOMAIN : plugin-name.test
2728 WP_ADMIN_USERNAME : admin
2829 WP_ADMIN_PASSWORD : admin
4647 with :
4748 path : ${{ env.wp-plugins-directory }}
4849
50+ - name : Setup cache environment
51+ id : cache-env
52+ uses : shivammathur/cache-extensions@v1
53+ with :
54+ php-version : ${{ matrix.php-versions }}
55+ extensions : ${{ env.php-extensions }}
56+ key : ${{ env.php-ext-cache-key }}
57+ env :
58+ update : true
59+
60+ - name : Cache extensions
61+ uses : actions/cache@v1
62+ with :
63+ path : ${{ steps.cache-env.outputs.dir }}
64+ key : ${{ steps.cache-env.outputs.key }}
65+ restore-keys : ${{ steps.cache-env.outputs.key }}
66+
67+ - name : Setup PHP
68+ uses : shivammathur/setup-php@v2
69+ with :
70+ tools : pecl
71+ php-version : ${{ matrix.php-versions }}
72+ extensions : ${{ env.php-extensions }}
73+ ini-values : ${{ env.php-ini-values }}
74+ env :
75+ update : true
76+
4977 - name : Validate composer.json and composer.lock
5078 working-directory : ${{ env.wp-plugins-directory }}
5179 run : composer validate
@@ -72,16 +100,6 @@ jobs:
72100 working-directory : ${{ env.wp-plugins-directory }}
73101 run : npm run build:production
74102
75- - name : Setup PHP
76- uses : shivammathur/setup-php@v2
77- with :
78- tools : pecl
79- php-version : ${{ matrix.php-versions }}
80- extensions : ${{ env.php-extensions }}
81- ini-values : ${{ env.php-ini-values }}
82- env :
83- update : true
84-
85103 - name : Install WP CLI
86104 run : |
87105 curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
@@ -104,12 +122,22 @@ jobs:
104122 working-directory : ${{ env.wp-plugins-directory }}
105123 run : mysqldump --column-statistics=0 --host="${{ env.DB_HOST }}" --user="${{ env.DB_USER }}" --password="${{ env.DB_PASSWORD }}" ${{ env.DB_NAME }} > .codeception/_data/dump.sql
106124
107-
108125 - name : Setup hosts
109126 run : |
110127 echo ${{ env.DB_HOST }} ${{ env.WP_DOMAIN }} | sudo tee -a /etc/hosts
111128 cat /etc/hosts
112129
130+ - name : Force SSL
131+ run : |
132+ sudo apt install libnss3-tools -y
133+ wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64 -O mkcert
134+ chmod +x mkcert
135+ sudo mv mkcert /usr/local/bin/
136+ mkcert -install
137+ localcaroot=$(mkcert -CAROOT)
138+ sudo mkdir -p /etc/apache2/ssl/${{ env.WP_DOMAIN }} && cd $_
139+ sudo CAROOT=$localcaroot mkcert ${{ env.WP_DOMAIN }}
140+
113141 - name : Install & configure Apache
114142 run : |
115143 sudo add-apt-repository ppa:ondrej/php
@@ -119,9 +147,24 @@ jobs:
119147 sudo cp ${{ env.wp-plugins-directory }}/.github/workflows/plugin-name.conf /etc/apache2/sites-available/plugin-name.conf
120148 sudo a2enmod headers
121149 sudo a2enmod rewrite
150+ sudo a2enmod ssl
122151 sudo a2ensite plugin-name
152+ sudo apachectl configtest
123153 sudo service apache2 restart
124154
155+ - name : Set .htaccess
156+ working-directory : ${{ env.wp-directory }}
157+ run : |
158+ echo '# BEGIN WordPress
159+ RewriteEngine On
160+ RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
161+ RewriteBase /
162+ RewriteRule ^index\.php$ - [L]
163+ RewriteCond %{REQUEST_FILENAME} !-f
164+ RewriteCond %{REQUEST_FILENAME} !-d
165+ RewriteRule . /index.php [L]
166+ # END WordPress' > .htaccess
167+
125168 - name : Setup Chromedriver
126169 uses : nanasess/setup-chromedriver@master
127170
0 commit comments