name: Smoke test release on: release: types: [published] jobs: login-run: name: Daily smoke test on release. runs-on: ubuntu-18.04 steps: - name: Create dirs. run: | mkdir -p code/woocommerce mkdir -p package/woocommerce mkdir -p tmp/woocommerce mkdir -p node_modules - name: Checkout code. uses: actions/checkout@v2 with: path: package/woocommerce ref: trunk - name: Install prerequisites. working-directory: package/woocommerce/plugins/woocommerce run: | npm install -g pnpm pnpm install composer install --no-dev pnpm run build:assets pnpm install jest - name: Run smoke test. working-directory: package/woocommerce/plugins/woocommerce env: SMOKE_TEST_URL: ${{ secrets.RELEASE_TEST_URL }} SMOKE_TEST_ADMIN_USER: ${{ secrets.RELEASE_TEST_ADMIN_USER }} SMOKE_TEST_ADMIN_PASSWORD: ${{ secrets.RELEASE_TEST_ADMIN_PASSWORD }} SMOKE_TEST_ADMIN_USER_EMAIL: ${{ secrets.RELEASE_TEST_ADMIN_USER_EMAIL }} SMOKE_TEST_CUSTOMER_USER: ${{ secrets.RELEASE_TEST_CUSTOMER_USER }} SMOKE_TEST_CUSTOMER_PASSWORD: ${{ secrets.RELEASE_TEST_CUSTOMER_PASSWORD }} WC_E2E_SCREENSHOTS: 1 E2E_RETEST: 1 E2E_SLACK_TOKEN: ${{ secrets.SMOKE_TEST_SLACK_TOKEN }} E2E_SLACK_CHANNEL: ${{ secrets.RELEASE_TEST_SLACK_CHANNEL }} TEST_RELEASE: 1 UPDATE_WC: 1 DEFAULT_TIMEOUT_OVERRIDE: 120000 BASE_URL: ${{ secrets.RELEASE_TEST_URL }} USER_KEY: ${{ secrets.RELEASE_TEST_ADMIN_USER }} USER_SECRET: ${{ secrets.RELEASE_TEST_ADMIN_PASSWORD }} run: | pnpx wc-e2e test:e2e plugins/woocommerce/tests/e2e/specs/smoke-tests/update-woocommerce.js pnpx wc-e2e test:e2e pnpx wc-api-tests test api test-wp-version: name: Smoke test on L-${{ matrix.wp }} WordPress version runs-on: ubuntu-18.04 strategy: matrix: wp: [ '1', '2' ] steps: - name: Create dirs. run: | mkdir -p code/woocommerce mkdir -p package/woocommerce mkdir -p tmp/woocommerce mkdir -p node_modules - name: Checkout code. uses: actions/checkout@v2 with: path: package/woocommerce - name: Run npm install. working-directory: package/woocommerce/plugins/woocommerce npm install -g pnpm pnpm install - name: Load docker images and start containers. working-directory: package/woocommerce/plugins/woocommerce env: LATEST_WP_VERSION_MINUS: ${{ matrix.wp }} run: pnpx wc-e2e docker:up - name: Move current directory to code. We will install zip file in this dir later. run: mv ./package/woocommerce/plugins/woocommerce/* ./code/woocommerce - name: Download WooCommerce release zip working-directory: tmp run: | ASSET_ID=$(jq ".release.assets[0].id" $GITHUB_EVENT_PATH) curl https://api.github.com/repos/woocommerce/woocommerce/releases/assets/${ASSET_ID} -LJOH 'Accept: application/octet-stream' unzip woocommerce.zip -d woocommerce mv woocommerce/woocommerce/* ../package/woocommerce/plugins/woocommerce/ - name: Run tests command. working-directory: package/woocommerce/plugins/woocommerce env: WC_E2E_SCREENSHOTS: 1 E2E_SLACK_TOKEN: ${{ secrets.SMOKE_TEST_SLACK_TOKEN }} E2E_SLACK_CHANNEL: ${{ secrets.RELEASE_TEST_SLACK_CHANNEL }} run: pnpx wc-e2e test:e2e