- Oct 02, 2024
-
-
Dr Abraham Martin authored
chore: Configure Renovate See merge request !13
-
UIS DevOps Renovate Bot authored
-
- Mar 04, 2019
-
-
Dr Rich Wareham authored
Create pipeline number and "latest" tags when building Closes #4 See merge request !12
-
- Feb 28, 2019
-
-
Robin Goodall authored
-
- Feb 22, 2019
-
-
Mike Bamford authored
Schedule events in Opencast from the scheduler app See merge request !10
-
- Feb 07, 2019
-
-
Dr Abraham Martin authored
Use a shared testing CI template See merge request !11
-
Dr Rich Wareham authored
A merge of the preferences code into this branch caused a comment to appear in the wrong place in the configuration template. Move it.
-
- Feb 06, 2019
-
-
Dr Rich Wareham authored
-
Dr Rich Wareham authored
Use the shared tox test runner template in our CI templates project instead of shipping our own. This is a follow on from !9.
-
Dr Abraham Martin authored
Enable AutoDevOps pipeline features Closes #1 and #2 See merge request !6
-
Dr Rich Wareham authored
If the compose/tox.env file is present, it will be used to load environment variables. An additional env file can be specified via a CI variable.
-
Add an implementation of the Opencast scheduler which ensures that scheduled events are created/updated or deleted as dictated by the schedule.
-
Dr Rich Wareham authored
The scheduler would previously try to "pre-filter" the list of events is passes to the state handlers. This increased complexity and was wrong (cancelled events still appeared in the list). Instead we pass all the events we know about to the scheduler state change handlers but add a new field to the metadata "is_revoked" to indicate events which did at one point appear in the schedule but which should be removed now.
-
Instead of accepting a single VLE URL for an event, allow multiple URLs to be associated with it. This is because a lecture may appear in multiple Moodle courses.
-
Dr Rich Wareham authored
The "--quiet" option was used to reduce logging verbosity. For debugging purposes it is useful to *increase* the verbosity. Add a companion "--verbose" flag.
-
Dr Rich Wareham authored
Do not mark a configuration value as required if it has a default value *or* if it has a default factory. Previously only values with a static default were marked as optional.
-
- Feb 04, 2019
-
-
Dr Abraham Martin authored
config: use yaml.safe_load() Closes #3 See merge request !7
-
Dr Rich Wareham authored
Now we have a proper CI runner to test with, we can re-enable most of the AutoDevOps pipeline. A couple of jobs are still disabled as documented in the new .gitlab-ci.yml file. Split out the overrides for running tests and building documentation and move them to a separate template. It's intended that, in the fullness of time, this template moves into a dedicated "CI templates" repo and the "include:local" configuration in ".gitlab-ci.yml" is replaced with an "include:file" configuration which pull it in from the template repo. The test job runs tests: flake8 and unit tests. The coverage report is submitted and any build artefacts are uploaded. There is now a documentation job which runs in parallel to the tests and which builds the documentation as an artefact. This is uploaded separately. When we ship GitLab Pages in the Developer Hub, we should be able to browse the documentation directly from the GitLab UI. For the moment, we can download it as a zip file. Closes #1, closes #2
-
Dr Rich Wareham authored
The default yaml.load() function allows creation of arbitrary Python objects. Since we're using YAML as a passive configuration file format, use safe_load() instead. This vulnerability was found using the GitLab SAST scanner. Closes #3.
-
Mike Bamford authored
add dynamic ingest of lecturer preferences See merge request !4
-
Dr Rich Wareham authored
-
Dr Abraham Martin authored
fix CI test job See merge request !5
-
Dr Rich Wareham authored
The setup_docker command was a relic from a previous runner setup. Adapt the test job to the new CI runners by removing the setup_docker command. This still does not upload documentation or coverage artefacts but it does at least mean we get code coverage reporting now.
-
Dr Rich Wareham authored
Add ingest of lecturer preferences from the preferences webapp. Periodically the preferences web application is polled for lecturer preferences and the state of opt-ins are updated. In future, we can use filtering on the preferences list to only query preferences which have *changed* since the last time we fetched them but, for the moment, keep the simple approach until we hit scaling problems.
-
Dr Rich Wareham authored
The from_dict() class method in googlesheets is useful for other loops. In preparation to add a preferences ingest loop, refactor it out into the config module.
-
Dr Rich Wareham authored
Generalise the state update loop to be able to handle other updates (e.g. lecturer preferences). The event queue is replaced by an "update queue" which has StateUpdate objects pushed on it. Event ingest loops push a StateUpdate object with the events sequence set. Other loops (e.g. preferences) will push a StateUpdate with lecturer preferences. As an optimisation, avoid notifying state change handlers if the state update does not, in fact, result in any update to the state.
-
Dr Rich Wareham authored
The main loop should never terminate unless the application is killed. The main loop exiting usually means one or more ingest loops failed and so should be logged as an error.
-
Dr Rich Wareham authored
The Google sheets ingest takes another option which can be used to override the poll delay. Document it.
-
- Jan 31, 2019
-
-
Dr Rich Wareham authored
Add ingest of agent metadata See merge request !3
-
msb authored
is arguably more accurate.
-
msb authored
-
Dr Rich Wareham authored
Revert to ensure_future() See merge request !2
-
msb authored
-
Mike Bamford authored
initial implementation See merge request !1
-
Dr Rich Wareham authored
In Python 3.7, asyncio.create_task() is preferred over asyncio.ensure_future().
-
Dr Rich Wareham authored
-
Dr Rich Wareham authored
Now we're on GitLab 11.7, we can use include:template: to bring in the default AutoDevOps template.
-
- Jan 30, 2019
-
-
msb authored
state.location_to_agents so that an agent_id can be mapped to an event.
-
- Jan 25, 2019
-
-
Dr Rich Wareham authored
Add an initial implementation of the scheduler application. The initial implementation contains: * Documentation (README, an API reference and getting started guide) * Test harness using tox * docker-compose based development environment * A Dockerfile * An ingest loop for Google Sheets * A stub implementation of the Opencast scheduler which prints what events should be scheduled.
-