QIT Environment Test - Linux #12
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: QIT Environment Test - Linux | |
on: | |
# Every day at 11am and 11pm UTC (6am and 6pm ET) | |
schedule: | |
- cron: '0 11 * * *' | |
- cron: '0 23 * * *' | |
# Manually | |
workflow_dispatch: | |
# On push to trunk | |
push: | |
branches: | |
- trunk | |
jobs: | |
environment_tests: | |
runs-on: ubuntu-20.04 | |
env: | |
NO_COLOR: 1 | |
QIT_DISABLE_ONBOARDING: yes | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '7.2' | |
- name: Composer install | |
working-directory: _tests | |
run: composer install | |
- name: Enable dev mode | |
run: ./qit dev | |
- name: Connect to Staging QIT | |
run: ./qit backend:add --environment="staging" --qit_secret="${{ secrets.QIT_STAGING_SECRET }}" --manager_url="https://stagingcompatibilitydashboard.wpcomstaging.com" | |
- name: Add "qit.test" to /etc/hosts | |
run: sudo echo "127.0.0.1 qit.test" | sudo tee -a /etc/hosts | |
- name: Start environment and get URL | |
run: | | |
ENV_OUTPUT=$(./qit env:up --json) | |
if [ $? -ne 0 ]; then | |
echo "Failed to start environment" | |
echo "$ENV_OUTPUT" | |
exit 1 | |
fi | |
echo "Raw environment output: $ENV_OUTPUT" | |
NGINX_PORT=$(echo "$ENV_OUTPUT" | jq -r '.nginx_port') | |
if [ -z "$NGINX_PORT" ] || [ "$NGINX_PORT" = "null" ]; then | |
echo "nginx_port not found in environment output" | |
exit 1 | |
fi | |
echo "NGINX_PORT=$NGINX_PORT" >> $GITHUB_ENV | |
- name: Print nginx_port | |
run: | | |
echo "Nginx port: $NGINX_PORT" | |
- name: Test Site Up | |
run: | | |
STATUS_CODE=$(curl -s -o /dev/null -w "%{http_code}" http://qit.test:$NGINX_PORT/) | |
if [ "$STATUS_CODE" -eq 200 ]; then | |
echo "Site is up" | |
else | |
echo "Site is not up, status code: $STATUS_CODE" | |
exit 1 | |
fi | |
- name: Query WP JSON | |
run: | | |
curl -s "http://qit.test:$NGINX_PORT/wp-json" |