This repository is the source code for the libCellML website. There are two branches staging and production. The staging branch is the source of the staging.libcellml.org website. The production branch is the source of the libcellml.org website. The staging branch is for proposing new changes and all external pull requests should use this branch as the base. The production branch should only be updated through pull requests from the staging branch, or occassionally through hotfix branches.
When a pull request is merged into either staging or production GitHub actions builds and deploys a new website.
All external pull requests should use staging as the base. Pull requests targetting staging are only given a light review, this is only really to check for malicious intent. Once a staging pull request has been merged care needs to be taken to test the website for breakages.
We have started adding tests using Selenium. The tests are run through Python using the Python package unittest. To run the tests create a Python virtual environment and execute the following commands:
pip3 install selenium webdriver-manager
python3 tests/selenium/install_driver.py
python3 tests/selenium/run_all_tests.py
These commands assume the virtual environment is active, and that the commands are being executed from the root directory of the website source.
The tests do not cover all the functionality of the website, at this time. It is unlikely that the tests will pick up regressions in the website. Because of this, we should manually check the functionality of the website for breakages before promotion to production after the tests have run.
This website is developed using Vue 3 and Vite. Checkout script setup docs to learn more on Vue 3 and Vite.