89c12fa161
* initial e2e test setup with jest and puppeteer * Update package-lock.json * WIP e2e setup * finish setting up end to end tests * extend open addon time * build local version and change background color * update pink image snapshot * hide no "done" callback jest lint error * first draft of integration test CI automation * add .env file during CI * add puppeteer and update .env * try mac-os * try separate build step * add local deploy step * extend time * print body text * set user agent * rearrange console logs * remove console logs * console page * try loading in own window * install mkcert in CI * fix indentation * test local body text * bump time * revert to loading in add on * bump time * print page body * add stealth plugin and update puppeteer * update jest and jest-puppeteer versions to latest * use custom jest-puppeteer environment allows connecting to Google account using stealth plugin * update threshold * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * test console * switch to clasp 2.3.1 * increase timeout * Update integration-tests.yaml * Update integration-tests.yaml * Update package.json * try mac os 10.15 * Update integration-tests.yaml * run node 12,14 * Update global-teardown.js * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * sudo mkcert * Update integration-tests.yaml * try running not in bash * try windows 2016 * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update open-addon.js * Update open-addon.js * Update open-addon.js * Update open-addon.js * Update open-addon.js * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * add timeout * test recovery email * bypass account recovery page * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * test New-SelfSignedCertificate * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * add powershell script * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * Update integration-tests.yaml * test script * Update integration-tests.yaml * add generate-cert.ps1 * restructure test files * Update generate-cert.ps1 * bump failure threshold * fix install mkcert * remove consoles * Update package.json * Update integration-tests.yaml * try forceExit flag * test exec in global setup * restructure * Update integration-tests.yaml * remove ?. null check * add 4 OSs: macos-10.15, macos-latest, windows-2019, windows-latest * test mac 10.15 * Update integration-tests.yaml * use all OSs * -Keyexportpolicy Exportable * Update generate-cert.ps1 * Update integration-tests.yaml * update os * -KeyExportPolicy 'Exportable' * Update integration-tests.yaml * update test readme * Update integration-tests.yaml * add non-extended integration test * add non-extended snapshots * update snapshot names * change name * add basic integration tests pipeline file * Update local-development.test.js * update os's * test s3 image reporter * allowSizeMismatch: true * update test local url to localhost:3000/dialog-demo-bootstrap.html * try medium font render hinting * Update jest-puppeteer.config.js * update screenshots * check resolution * open page when wds is ready * change screen resolution * change to 2560 1440 resolution * test 790 width * change back to 800 * test all mac versions * rename container * skip s3 image reporting if missing env variables * try windows * add OS specific tests * fix image names * Update image-reporter.js * Update package.json * upload windows * Update image-reporter.js * test new font * try all OSs * remove OS-specific test setup * update extended snapshots * rename tests * Update integration-tests-extended.yaml * Update integration-tests-basic.yaml * extend timeout * Update jest.config.js * Update README.md * Update local-development.test.js * revert to 0.04 threshold * add comment * remove push trigger for basic test * extend timeout
73 lines
2.7 KiB
YAML
73 lines
2.7 KiB
YAML
name: Local integration tests - Extended Version
|
|
|
|
on:
|
|
push:
|
|
|
|
jobs:
|
|
extended-integration-test:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [macos-10.15, macos-latest, windows-latest]
|
|
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
|
node-version: [12, 14, 16]
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
uses: actions/setup-node@v2
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
- name: Install packages [npm ci]
|
|
run: npm ci
|
|
- name: Allow installing cert in Mac OS Big Sur
|
|
run: sudo security authorizationdb write com.apple.trust-settings.admin allow
|
|
if: matrix.os == 'macOS-latest'
|
|
- name: Install mkcert
|
|
run: brew install mkcert
|
|
if: runner.os == 'MacOS'
|
|
- name: Run mkcert setup [mkcert -install]
|
|
run: mkcert -install
|
|
if: runner.os == 'MacOS'
|
|
- name: Install https cert [npm setup:https]
|
|
run: npm run setup:https
|
|
if: runner.os == 'MacOS'
|
|
- run: |
|
|
mkdir certs
|
|
.\test\generate-cert.ps1
|
|
shell: pwsh
|
|
if: runner.os == 'Windows'
|
|
- name: Add .clasprc.json to home folder
|
|
run: echo "$DOT_CLASPRC" > $HOME/.clasprc.json
|
|
shell: bash
|
|
env:
|
|
DOT_CLASPRC: ${{ secrets.DOT_CLASPRC }}
|
|
- name: Add .clasp.json to project directory
|
|
run: echo "$DOT_CLASP" > .clasp.json
|
|
shell: bash
|
|
env:
|
|
DOT_CLASP: ${{ secrets.DOT_CLASP }}
|
|
- name: Add environment variables to .env file
|
|
run: |
|
|
echo "EMAIL=$TEST_ACCOUNT_EMAIL" > .env
|
|
echo "TEST_RECOVERY_EMAIL=$TEST_RECOVERY_EMAIL" >> .env
|
|
echo "PASSWORD=$TEST_ACCOUNT_PASSWORD" >> .env
|
|
echo "SHEET_URL=$TEST_SPREADSHEET_URL" >> .env
|
|
echo "S3_BUCKET_NAME=$S3_BUCKET_NAME" >> .env
|
|
echo "AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY" >> .env
|
|
echo "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID" >> .env
|
|
shell: bash
|
|
env:
|
|
TEST_ACCOUNT_EMAIL: ${{ secrets.TEST_ACCOUNT_EMAIL }}
|
|
TEST_RECOVERY_EMAIL: ${{ secrets.TEST_RECOVERY_EMAIL }}
|
|
TEST_ACCOUNT_PASSWORD: ${{ secrets.TEST_ACCOUNT_PASSWORD }}
|
|
TEST_SPREADSHEET_URL: ${{ secrets.TEST_SPREADSHEET_URL }}
|
|
S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }}
|
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
- name: Build and deploy dev setup [npm run deploy:dev]
|
|
run: npm run deploy:dev
|
|
- name: Run integration tests
|
|
run: npm run test:integration:extended
|
|
shell: bash
|