... | ... | @@ -14,50 +14,69 @@ The windows images also contain a prebuilt libsqlite3 & libjpegturbo, and a libr |
|
|
|
|
|
## Continuous builds
|
|
|
|
|
|
Those builds are running on all push events
|
|
|
Those configurations are run for each merge request events and on push to the (upstream) default branch.
|
|
|
|
|
|
### Linux
|
|
|
|
|
|
* Image: `medialibrary`
|
|
|
* All non-removable storages functional tests are run
|
|
|
* All unit & functional tests are run
|
|
|
* This also exports a coverage report
|
|
|
|
|
|
### Linux - novlc
|
|
|
* Image: `medialibrary`
|
|
|
* Build media library without libvlc support. No tests are run
|
|
|
|
|
|
### Alpine
|
|
|
* Image: `medialibrary-alpine`
|
|
|
* Build media library without libvlc support. No tests are run
|
|
|
|
|
|
### Win32
|
|
|
|
|
|
* Image: `medialibrary-win32`
|
|
|
* All non-removable storages functional tests are run
|
|
|
* All unit & functional tests are run
|
|
|
* Note that this job will rebuild everything since the toolchain didn't seem to allow running the test executables when building dynamically, and the static builds are about 500MB in total, for each build, which takes longer to store as an artifact than it takes to rebuild.
|
|
|
|
|
|
### Win64
|
|
|
|
|
|
* Image: `medialibrary-win64`
|
|
|
* All removable storages functional tests are run
|
|
|
* All unit & functional tests are run
|
|
|
|
|
|
## Scheduled runs
|
|
|
## Scheduled jobs
|
|
|
|
|
|
Those builds are running every night and perform more tests:
|
|
|
### Nightly jobs
|
|
|
|
|
|
### Coverage
|
|
|
#### Linux config
|
|
|
|
|
|
* Image: `medialibrary`
|
|
|
* All tests are run (unit & functional)
|
|
|
* A code coverage report is generated
|
|
|
The normal (ie. with tests enabled) linux jobs are also run during nightly runs.
|
|
|
|
|
|
### Asan/ubsan/tsan
|
|
|
#### Asan/ubsan
|
|
|
|
|
|
* Split in 2 configs: `asan + ubsan` & `tsan`
|
|
|
* Image: `vlc-debian-unstable`
|
|
|
* VLC 4.0 gets rebuild for every run, with the appropriate sanitizer(s) enabled
|
|
|
* VLC 4.0 gets rebuild for every run, with the address & undefined behavior sanitizers enabled
|
|
|
* All unit & functional tests are run
|
|
|
* Additional "long running tests" are run:
|
|
|
* `test_fast_teardown` which initializes/starts/discovers/destroy the medialibrary in a loop
|
|
|
* `test_fast_discover` which discovers/cancels/ban/unban an entry point in a loop
|
|
|
|
|
|
### On demand jobs
|
|
|
|
|
|
These jobs are used to run heavy tasks which are better suited to run on a CI machine than on individual developers machines.
|
|
|
|
|
|
#### gen-test-db
|
|
|
|
|
|
This job will start by generating some dummy samples. At the time of writing, 10 artists of 10 albums with 10 tracks each.
|
|
|
|
|
|
The discoverer CLI program is then launched on those dummy samples to generate a fairly large database.
|
|
|
|
|
|
This job will generate 2 artifacts:
|
|
|
* A `test.db` database
|
|
|
* A `test_db.sql` file, containing all requests to create and populate a test database that can be used for migration unit testing
|
|
|
|
|
|
This job is *never* run automatically and must require manual starting.
|
|
|
|
|
|
## Summary
|
|
|
|
|
|
* Linux continuous tests are running with vlc 3
|
|
|
* Continuous configs split the functional tests in 2 suites: removable storages & non-removable storage, in order to save build time
|
|
|
* Linux tests are running with vlc 3
|
|
|
* Windows tests are running with vlc 4
|
|
|
* Nightly builds are all run using vlc 4
|
|
|
* Developers can trigger a manual test database generation using the `gen-test-db` task |
|
|
\ No newline at end of file |