Two Minute Drill #24
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: Two Minute Drill | |
on: | |
# Allows you to run this workflow manually from the Actions tab and change the | |
# browser. | |
workflow_dispatch: | |
inputs: | |
browser: | |
description: 'Browser' | |
required: true | |
default: 'chrome' | |
type: choice | |
options: | |
- chrome | |
- firefox | |
- edge | |
env: | |
DRIVER: "Remote" | |
DOMAIN: prod | |
NEW_USER_EMAIL: ${{ secrets.NEW_USER_EMAIL }} | |
BSTACK_USER: ${{ secrets.BROWSERSTACK_USERNAME }} | |
BSTACK_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }} | |
CHROME_USER: ${{ secrets.CHROME_USER }} | |
CHROME_USER_TOKEN: ${{ secrets.CHROME_USER_TOKEN }} | |
EDGE_USER: ${{ secrets.EDGE_USER }} | |
EDGE_USER_TOKEN: ${{ secrets.EDGE_USER_TOKEN }} | |
FIREFOX_USER: ${{ secrets.FIREFOX_USER }} | |
FIREFOX_USER_TOKEN: ${{ secrets.FIREFOX_USER_TOKEN }} | |
USER_ONE: ${{ secrets.USER_ONE }} | |
USER_ONE_PASSWORD: ${{ secrets.USER_ONE_PASSWORD }} | |
USER_TWO: ${{ secrets.USER_TWO }} | |
USER_TWO_PASSWORD: ${{ secrets.USER_TWO_PASSWORD }} | |
DEACTIVATED_USER: ${{ secrets.DEACTIVATED_USER }} | |
DEACTIVATED_USER_PASSWORD: ${{ secrets.DEACTIVATED_USER_PASSWORD }} | |
UNCONFIRMED_USER: ${{ secrets.UNCONFIRMED_USER }} | |
UNCONFIRMED_USER_PASSWORD: ${{ secrets.UNCONFIRMED_USER_PASSWORD }} | |
CAS_2FA_USER: ${{ secrets.CAS_2FA_USER }} | |
CAS_2FA_USER_PASSWORD: ${{ secrets.CAS_2FA_USER_PASSWORD }} | |
CAS_TOS_USER: ${{ secrets.CAS_TOS_USER }} | |
CAS_TOS_USER_PASSWORD: ${{ secrets.CAS_TOS_USER_PASSWORD }} | |
DEVAPP_CLIENT_ID: ${{ secrets.DEVAPP_CLIENT_ID }} | |
DEVAPP_CLIENT_SECRET: ${{ secrets.DEVAPP_CLIENT_SECRET }} | |
IMAP_EMAIL: ${{ secrets.IMAP_EMAIL }} | |
IMAP_EMAIL_PASSWORD: ${{ secrets.IMAP_EMAIL_PASSWORD }} | |
IMAP_HOST: ${{ secrets.IMAP_HOST }} | |
REGISTRATIONS_USER: ${{ secrets.REGISTRATIONS_USER }} | |
REGISTRATIONS_USER_PASSWORD: ${{ secrets.REGISTRATIONS_USER_PASSWORD }} | |
PREFERRED_NODE: ${{ secrets.PREFERRED_NODE }} | |
POPULAR_PAGES: ${{ secrets.POPULAR_PAGES }} | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 | |
env: | |
GHA_DISTRO: ubuntu-20.04 | |
if: "!contains(github.event.head_commit.message, 'skip ci')" | |
strategy: | |
matrix: | |
python-version: [3.9] | |
steps: | |
- name: Git checkout | |
uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Cache Build Requirements | |
id: pip-cache-step | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.pythonLocation }} | |
key: ${{ env.GHA_DISTRO }}-${{ env.pythonLocation }}-${{ hashFiles('requirements.txt') }} | |
- name: install dependencies | |
if: steps.pip-cache-step.outputs.cache-hit != 'true' | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
invoke requirements | |
two_minute_drill_tests: | |
name: Two Minute Drill Tests (${{ github.event.inputs.browser }}) | |
needs: [build] | |
runs-on: ubuntu-20.04 | |
env: | |
GHA_DISTRO: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
max-parallel: 1 # run in series | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Cache pip | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.pythonLocation }} | |
key: ${{ env.GHA_DISTRO }}-${{ env.pythonLocation }}-${{ hashFiles('requirements.txt') }} | |
- name: run two minute drill tests | |
env: | |
TEST_BUILD: ${{ github.event.inputs.browser }} | |
run: | | |
invoke test_two_minute_drill |