[change:ux] Make progress bar in status page more user friendly #863 #2916
Workflow file for this run
This file contains hidden or 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: OpenWisp WiFi Login Pages CI BUILD | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - master | |
| jobs: | |
| qa-checks: | |
| name: QA-Checks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: ".nvmrc" | |
| - name: Get yarn cache directory path | |
| id: yarn-cache-dir-path | |
| run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT | |
| - name: Cache yarn | |
| uses: actions/cache@v5 | |
| id: yarn-cache | |
| with: | |
| path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
| key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: ${{ runner.os }}-yarn- | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| cache: "pip" | |
| cache-dependency-path: "**/requirements*.txt" | |
| - name: Installing dependencies | |
| run: | | |
| yarn install | |
| python --version | |
| pip install -r requirements-qa.txt | |
| - name: QA checks | |
| run: ./run-qa-checks | |
| build: | |
| name: Tests and Coverage | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: ".nvmrc" | |
| - name: geckodriver/firefox | |
| run: | | |
| echo "geckodriver/firefox" | |
| which geckodriver | |
| geckodriver --version | |
| which firefox | |
| firefox --version | |
| - name: Get yarn cache directory path | |
| id: yarn-cache-dir-path | |
| run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT | |
| - name: Cache yarn | |
| uses: actions/cache@v5 | |
| id: yarn-cache | |
| with: | |
| path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
| key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: ${{ runner.os }}-yarn- | |
| - name: Installing dependencies | |
| run: | | |
| yarn install | |
| sudo apt update -qq | |
| sudo apt install -qq -y libssl-dev libffi-dev | |
| - name: Tests | |
| run: | | |
| yarn build-dev | |
| yarn coverage | |
| - name: ES5 Compliance Test | |
| run: yarn test-es5 | |
| # all the steps below are needed to run selenium browser tests | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| cache: "pip" | |
| cache-dependency-path: "**/requirements*.txt" | |
| - name: Get openwisp-radius | |
| run: | | |
| git clone --depth=1 https://github.com/openwisp/openwisp-radius/ openwisp-radius | |
| cd openwisp-radius | |
| echo "OpenWISP RADIUS commit: $(git rev-parse HEAD)" | |
| echo "OW_RADIUS_VERSION=$(git rev-parse HEAD)" >> $GITHUB_ENV | |
| python --version | |
| - name: Cache pip environment | |
| uses: actions/cache@v5 | |
| with: | |
| path: ~/.cache/pip | |
| key: ${{ runner.os }}-pip-${{ env.OW_RADIUS_VERSION }} | |
| restore-keys: ${{ runner.os }}-pip- | |
| - name: Start InfluxDB and Redis container | |
| run: | | |
| cd openwisp-radius | |
| docker compose up -d redis | |
| - name: Installing OpenWISP RADIUS | |
| run: | | |
| cd openwisp-radius | |
| pip install -U pip setuptools wheel | |
| pip install -U -e ".[saml]" | |
| pip install -U -r requirements-test.txt | |
| pip install -U "Django~=5.2.0" | |
| ./tests/manage.py migrate | |
| - name: Creating configuration of organization (supports mobile verification) | |
| run: node browser-test/create-mobile-configuration.js | |
| - name: Run OpenWISP WiFi Login Pages dev server | |
| run: yarn start & | |
| - name: Run OpenWISP RADIUS dev server | |
| run: | | |
| cp browser-test/local_settings.py \ | |
| openwisp-radius/tests/openwisp2/local_settings.py | |
| cd openwisp-radius | |
| ./tests/manage.py runserver & | |
| - name: Browser Tests | |
| env: | |
| SELENIUM_HEADLESS: "1" | |
| run: | | |
| export OPENWISP_RADIUS_PATH=$(pwd)/openwisp-radius | |
| ./browser-test/wait_for_url.sh http://0.0.0.0:8080 | |
| yarn browser-test | |
| - name: Coveralls | |
| uses: coverallsapp/github-action@master | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} |