Verified Commit d5095c3a authored by Jakob Moser's avatar Jakob Moser
Browse files

Try adding frontend tests to pipeline

parent 5dfb6a96
Loading
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -25,3 +25,32 @@ lint-openapi:
    stage: test
    script: openapi lint portal/static/docs/api/v0/openapi-spec.yaml
    allow_failure: true

test-frontend:
    image: python
    stage: test
    before_script:
        - apt-get update
        - apt-get install -y ca-certificates curl gnupg faketime
        - mkdir -p /etc/apt/keyrings
        - curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
        - echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
        - apt-get update
        - apt-get install -y nodejs libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
        - pip install --upgrade pip setuptools
        - pip install pipenv
        - pipenv requirements > requirements.txt
        - pip uninstall --yes pipenv
        - pip install -r requirements.txt
        - npm install cypress
    script:
        - mkdir instance
        - export FLASK_APP=portal
        - faketime '2024-09-26 13:37:00' flask run &
        - faketime '2024-09-26 13:37:00' npx cypress run
    artifacts:
        when: always
        paths:
            - cypress/videos
            - cypress/screenshots
        expire_in: 1 week