diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml new file mode 100644 index 000000000..ba97a0dbb --- /dev/null +++ b/.github/workflows/run-tests.yml @@ -0,0 +1,64 @@ +name: Run Tests + +on: [push, pull_request] + +jobs: + # TODO: Set up backend tests + # backend-test: + # runs-on: ubuntu-latest + + # steps: + # - uses: actions/checkout@v4 + + # - name: Set up Python + # uses: actions/setup-python@v3 + # with: + # python-version: "3.12" + + # - name: Set up Node.js + # uses: actions/setup-node@v4 + # with: + # node-version: "22.x" + + # - name: Install Python dependencies + # run: | + # python -m pip install -U pip + # pip install -U -r BackEndFlask/requirements.txt + + frontend-test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: "3.12" + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: "22.x" + + - name: Install Python dependencies + run: | + python -m pip install -U pip + pip install -U -r BackEndFlask/requirements.txt + + - name: Start backend + run: | + cd BackEndFlask + python setupEnv.py -d + python setupEnv.py -s & + for attempt in {1..20}; do sleep 1; if curl 'http://localhost:5050/api'; then echo ready; break; fi; echo waiting...; done + + - name: Install Node dependencies + run: | + cd FrontEndReact + npm install + + - name: Run Jest tests + run: | + cd FrontEndReact + npm test