SHA256
1
0
forked from pool/openQA

Accepting request 731496 from devel:openQA:tested

Update to 4.6.1568387059.db88ff48d
4.6.1568387059.db88ff48d
4.6.1568387059.db88ff48d

OBS-URL: https://build.opensuse.org/request/show/731496
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openQA?expand=0&rev=79
This commit is contained in:
Yuchen Lin 2019-09-18 11:12:19 +00:00 committed by Git OBS Bridge
commit 005c004f04
11 changed files with 901 additions and 120 deletions

View File

@ -84,7 +84,7 @@ RUN zypper in -y -C \
'perl(JSON::XS)' \
'perl(JavaScript::Minifier::XS)' \
'perl(LWP::Protocol::https)' \
'perl(Minion)' \
'perl(Minion) >= 9.13' \
'perl(Module::CPANfile)' \
'perl(Module::Pluggable)' \
'perl(Mojo::IOLoop::ReadWriteProcess)' \
@ -121,7 +121,7 @@ RUN zypper in -y -C \
'perl(Socket::MsgHdr)' \
'perl(Test::Warnings)' \
'perl(Text::Diff)' \
'perl(Text::Markdown)' \
'perl(CommonMark)' \
'perl(Time::ParseDate)' \
'perl(XSLoader) >= 0.24' \
'perl(XML::SemanticDiff)' \

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a2a9fcb564cf7f1b17be279cb04e7a942fbc81a6475c26a741d1ec6138f0d354
size 1785921
oid sha256:357516010799083f3202f85da84adb1b963a98f5ff64b64d99ed8898cdb6f028
size 1748019

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2095049923889017556da1586c38c7b0c50ada40ed359c3a15e206513cc5efcb
size 9747469

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eb60bdd7a1b980f69af792cea784de648415d7a0eefa124a8f0ab0459407f270
size 10089997

View File

@ -1,3 +1,233 @@
-------------------------------------------------------------------
Tue Sep 17 11:09:08 UTC 2019 - coolo@suse.com
- Update to version 4.6.1568387059.db88ff48d:
* Add Storable dependency
* Remove debugging
* Create a deepcopy of the settings
* Always sort keys to make behaviour reproducible
* Demonstrate what's going wrong on staging yaml
* Fix duplicate path name
* Update YAML guide and schema to explain custom job template names
* Publish API schema(s) along with other docs
* Fix some issues in the doc markup reported by asciidoc
* Always build docs and allow local generation
* Fix warning caused by filename getting removed from reused form hashref in Mojo::UserAgent
* Cleanup disabled code about 'Sereal'
* Non-experimental YAML routes with explicit schema
* Revert back to duplicating dependencies in dockerfile (#2315)
* Extend the requires of openQA-devel and make them easier to review (#2313)
* Implement optional defaults.settings key in YAML
* Fix container image to use repository paths (#2310)
* Improve test coverage for more background jobs
* Increase coverage by allowing Devel::Cover to collect stats for background jobs
* Fix printing usage when invoking openqa-clone-job --help
* Remove codecov hack that was only added to increase coverage percentage, but does not actually test anything useful
* Scenarios can have different settings
* docker: Use devel package instead of spelling out duplicate dependencies (#2308)
* Cut the test result directory shorter when its length is more than 255
* Support branch url on openqa-clone-custom-git-refspec
* docs: Hint to 'openQA-devel' for pulling in dependencies
* Delete unused screenshots in separate loop
* docs: Render code correctly (#2306)
* Allow CodeMirror to render off screen
* Show context for REST-API errors to make debugging a little bit easier
* Fix artefact upload errors to show the message instead of the hash address
* Reduce coverage requirement a bit until we can make Devel::Cover include subprocesses in stats
* Don't use 3rd set of names for passing dependencies to JS
* Use capitalized names for module-scoped variables
* Consider directly chained deps in several places
* Support _START_DIRECTLY_AFTER_JOBS
* Add dependency type for START_DIRECTLY_AFTER_TEST
* Failed isotovideo status checks are fairly harmless, but a log message can be useful for debugging
* Since we now expect there to be more subprocesses, there is no reason to log them as unexpected anymore
* Do not try to reconnect the WebSocket connection in subprocesses
* Make annoying log message debug level instead of info for now
* Test API and upload errors
* Test asset uploads too
* Move artefact upload into a webui connection method so it can be easily mocked for testing
* Add more worker upload tests
* Fix fake WebSocket transaction to correctly defer callback execution
* Improve test coverage of the worker job life cycle
* Move all direct uses of Mojo::UserAgent from OpenQA::Worker::Job to client modules
* Add new worker tests and an isotovideo client module that can be mocked easily
* Perform isotovideo status checks non-blocking too
* Try to defer all callbacks correctly to the next reactor tick
* Handle exceptions in uploads
* Make image uploads non-blocking too
* Callbacks cannot be optional in an async application
* Update mock worker tests to be able to deal with multiple processes handling uploads
* Handle asset and logfile uploads in a subprocess
* Split up upload handling into more manageable parts
* Reuse t/test_postgresql in container test as well
* Harmonize dependencies in cpanfile+openQA.spec
* spec: Specify more dependencies needed for local development
* spec: Fix test dependencies after os-autoinst removed dependencies
* Move codemirror javascript file to javascript label (#2297)
* spec: Fix 'devel' package (for real) with proper macro definition
* spec: Fix error about python shebang
* Fix 'devel' package
* docs: Update openSUSE repos using $releasever, priorities, better names
* spec: Add 'devel' package
* worker job: Add log of second virtio console to upload list
* Fix accidentally removed dependency
* Add missing apparmor permission (#2285)
* Remove shellcheck disable
* Modernize bash tests
* Fix test that did nothing
* Fix argument handling of a function and turn background job into a real plugin
* Remove print from test
* Avoid using HAVING on ScreenshotLinks
* No longer delete job modules one by one
* Remove support for old migration
* Use IPC::Run instead of IPC::Run::Simple
* More code style fixes
* Tidy developer mode test
* Test assert_screen args with array of needle tags
* Code style changes and unit test for current_api_function handling
* Increase lock timeouts a bit because some jobs might just need a little more time and the risk or locks not getting cleared at the end is very low (#2280)
* Show needle tags for assert_screen/check_screen
* Validate tag input field in needleeditor
* Render a diff of the job group YAML in preview/ save
* Use purple for blocked jobs
* Distinguish scheduled and blocked jobs on test result overview
* Delete vim footer in files that still have it
* Makefile: Allow again to select single test cases with PROVE_ARGS
* Preserve QEMU PID file on pool dir cleanup if QEMU still running
* Improve tests for triggering pool directory cleanup
* Test support for non-ASCII chars in needle JSON only in description
* Tweaks according to code review
* Handle newline characters in form parameters correctly
* Use single gru job
* Always include the group property editor
* Do not delete assets based on empty size
* Remove useless quoting
* Check finished job cout in async test
* Increase timeout in async test
* Remove unconditional sleeps from async test
* Add Gru Test with Mock Api Server
* Split Folders and Gru controllers
* Add Rsync Queue UI
* Use Gru for rsync
* ObsRsync handle requests asynchronously
* job cancel: Explicitly return a number to avoid warning
* Fix warning about undefined $testresdir
* Fix flaky test t/api/11-bugs.t
* scheduler: Fix warnings about undefined variables
* Fix rendering of the openqa.cmd
* openqa-bootstrap: Fix logic of git clone
* Add machine filter in 'Test result overview'
* docs: Mention most simple installation instructions and "clone-job" first
* docs: Add documentation for immediate bootstrap+clone
* docs: Fix internal link
* branding: Prevent undefined flavor in external_reporting.html.ep
* apparmor: Allow virtio_console based on named PIPE
* spec: Split out all dependencies properly per sub-package
* apparmor: Allow loading of client.conf in usual home of geekotest
* apparmor: Allow loading override templates in /etc/openqa/templates/
* branding: Prevent warnings about undefined $distri in external_reporting.html.ep
* Test worker behavior if _upload_log_file fails
* Improve needle editor test
* Change iso scheduling behavior to not obsolete older jobs anymore
* Improve calculating preferred machine
* Fix error when saving needle JSON with non-ASCII characters
* Modify workaround property to support adding reason
* Fix 30-test_parser.t warnings
* Remove exported functions from OpenQA::File and stop using private methods as part of the public API
* docs: Fix explanation for masquerading which is needed on all involved zones
* docs: Simplify firewalld commands by using the runtime variants
* docs: Make the current "firewalld" approach more prominent than old SuSEfirewall2
* Fix PROVE_ARGS in spec file
* docs: Remove obsolete section about "wicked < 0.6.23"
* load_templates: fix --clean and reading perl templates
* Do not handle arguments in reverse and move OpenQA::Files class into a proper package
* Make worker retry-delay configurable
* Test retry behavior of worker
* Extend retry delay of worker to 60 seconds if web UI busy
* Adapt codecov target to current coverage of 85%
* Allow * placeholders in product names
* docs: Fix marking for 2nd level list about "wicked pros"
* Prevent over-escaping of bug titles in test result overview
* Adjust web socket server test
* Avoid 'return;' in web socket code
* Fix sending web socket message when job not exists
* Improve transaction handling in web socket server
* AMQP: allow no message prefix
* Fix '--no-cleanup' on worker start regression
* Remove OpenQA::Schema::Result::Jobs::set_scheduling_worker
* Replace Text::Markdown and HTML::Restrict with CommonMark for much better comment rendering speed and security
* Adding a new parameter to support not schedule parent test suite
* Timeout for wait_for_ajax
* Let prove handle @INC for us
* Expose saving and hiding of the legacy editor in the UI
* Scrub dangerous HTML from comments
* Abstract out markdown handling into a new class
* worker: Consider ws disconnects as uncritical during job execution
* Fix worker crash when sending job ID
* YAML: don't merge scenarios with multiple machines with defaults
* Add dependency on CommonMark, which will soon replace Text::Markdown for a 1000% performance increase (#2228)
* Ignore cpu_modelname in worker test
* Let worker pass current job ID on re-registration
* Allow worker to pass its current job on registration
* Improve test for checking job status and output
* Improve error message when rejecting status update
* Add YAML support to {dump,load}_templates
* Add systemd timer to trigger daily audit event cleanup
* Delete old audit events according to configured storage duration
* AMQP: don't encode message body to JSON before publishing
* Handle reusing existing connection in devel fullstack test
* Improve documentation about running test of openQA itself
* Timeout for wait_for_developer_console_contains_log_message
* Override default exception handler in extra daemons
* Fix default route of live handler to prevent template errors
* Docs for the job group editor and YAML REST
* AMQP: allow passing headers to publish_amqp
* Add note about openQA's CLI interface
* openqa-bootstrap: Fix lookup of configure-web-proxy
* Improve rendering summary in test result overview
* t/api/03-auth.t: don't actually wipe asset files from disk
* Mojo::Pg 4.14 requires the "delete $dbh->{private_...}" feature from DBI 1.632
* Log errors when reading worker config
* Add type/additionalProperties to products spec
* spec: Fix SLE12 build with patched out python subpackage
* Start a documentation section on how to build openQA plugins
* templates: Update references to documentation in help texts
* docs: Update references to target versions in our issue tracker
* Document adding new dependencies
* Improve doc section about starting webserver from Git
* Move testing with production data to database section
* Improve documentation about OPENQA_BASEDIR
* Replay cmds in devel mode console only if connected to os-autoinst
* Make sure all four levels of API access have named routes for plugins and tests
* Add undef to return
* Prevent cleaning pool directory in worker availability check
* Add helper script 'openqa-label-all'
* Set log for failing to stop cmd srv to info level
* Do not fail fullstack test when connection closed
* Split api request to own route
* Extend unit tests for OpenQA::Worker
* Do not stop current job twice when stopping during setup
* Remove unused function from worker
* Remove check for cpu_opmode from worker test
* Stop job directly with reason 'api-failure' on API failures
* Give the API authentication routes plugins will use names and test them
* Log sent commands in the developer console as well
* Replay commands send though developer console while offline
* Add put method with disabled test
* Fix test doing an equality check on an exception instead of a regular expression comparison
* Fix html
* Adapt codecov target to current coverage
* Small tweaks
* Default to HTTPS instead of HTTP with openqa-client
* Add Operator menu item
* Remove duplicate use
* Small CR adjustment
* Make routes restricted
* Add ObsRsync plugin
* Expand Machine and Medium Type settings when creating job with 'jobs post' When users created jobs using 'client jobs post', the jobs settings did not expand Machine and Medium Type settings. This PR is used to support to expand settings from Machine and Medium Type when creating jobs with 'jobs post'.
* .travis.yml: Save travis CI some testing time
* Add Test::More based error handler to SeleniumTest
-------------------------------------------------------------------
Mon Jul 15 16:24:19 UTC 2019 - coolo@suse.com

View File

@ -18,7 +18,7 @@
%define short_name openQA
Name: %{short_name}-test
Version: 4.6.1563206570.e00d3964
Version: 4.6.1568387059.db88ff48d
Release: 0
Summary: Test package for openQA
License: GPL-2.0-or-later

View File

@ -1,53 +1,361 @@
-------------------------------------------------------------------
Mon Jul 15 16:24:19 UTC 2019 - coolo@suse.com
Tue Sep 17 11:09:08 UTC 2019 - coolo@suse.com
- Update to version 4.6.1563206570.e00d3964:
* Make the websocket server tests less noisy
* docker: Add back 'Test::Compile' as needed for os-autoinst
* spec: Fix invalid '%perl' introduced with 3aadc34c
* Test handling worker job status changes
* Fix passing --no-cleanup worker CLI option
* fetchneedles: Use subshells efficiently for dir changes
* fetchneedles: Fix indention
* fetchneedles: Prevent noisy output about auto-packing git repos
* Ensure query in jobs API does not become too big
* Remove group name from job templates example
* Adapt order of job template example
* Remove dead auth tests from a DBus refactoring 4 years ago
* Give the authentication routes plugins will use names and test them
* Improve and simplify compile check
* Add Test::Strict to Docker container
* Allow plugins to add links to the menu
* Allow any suffix for TAP source files
* .travis.yml: Make documentation generation an explicit job, only on master
* .travis.yml: Give readable names to test jobs
* .travis.yml: Put handling of cache dir together
* Extend filter for new/updated admin table rows
* Make log messages of worker tests less verbose
* generate-documentation: Fix wrong script path introduced by 81df2fd
* docs: Fix quotes and apostrophes for asciidoctor/github style
* .travis.yml: Workaround flaky tests with 'travis_test'
* Test kvm module, only if it is not built-in
* Make containers non-x86 archs friendly and update to leap 15.1
* Remove another useless prototype and an unused function from OpenQA::Utils
* Remove obsolete prototypes
* Polish worker code
* travis_test: Fix typo in 'python3-future'
* Explicitly specify perl module 'Module::Pluggable' to fix warning
* openqa-clone-job: Improve handling --from parameter
* README: Clarify how releases are made
* Adjust testrules.yml to changed worker tests
* Post upload progress after ignoring known images
* Remove dead code for handling known images
* Improve formatting of comments for WebUIConnection attributes
* Remove leftovers from interactive mode
* Fix reporting number of images to send to liveview handler
* Allow stopping worker during job setup
* Rename OpenQA::Worker::Client to OpenQA::Worker::WebUIConnection
* Improve use of attributes in worker code
* Log specific message if ignoring job while already busy
* Enable verbose option in compile check
* Restructure worker
* travis_test: Add dependencies for 'python-scripts'
* Add YAML diff to jobtemplate_create events
- Update to version 4.6.1568387059.db88ff48d:
* Add Storable dependency
* Remove debugging
* Create a deepcopy of the settings
* Always sort keys to make behaviour reproducible
* Demonstrate what's going wrong on staging yaml
* Fix duplicate path name
* Update YAML guide and schema to explain custom job template names
* Publish API schema(s) along with other docs
* Fix some issues in the doc markup reported by asciidoc
* Always build docs and allow local generation
* Fix warning caused by filename getting removed from reused form hashref in Mojo::UserAgent
* Cleanup disabled code about 'Sereal'
* Non-experimental YAML routes with explicit schema
* Revert back to duplicating dependencies in dockerfile (#2315)
* Extend the requires of openQA-devel and make them easier to review (#2313)
* Implement optional defaults.settings key in YAML
* Fix container image to use repository paths (#2310)
* Improve test coverage for more background jobs
* Increase coverage by allowing Devel::Cover to collect stats for background jobs
* Fix printing usage when invoking openqa-clone-job --help
* Remove codecov hack that was only added to increase coverage percentage, but does not actually test anything useful
* Scenarios can have different settings
* docker: Use devel package instead of spelling out duplicate dependencies (#2308)
* Cut the test result directory shorter when its length is more than 255
* Support branch url on openqa-clone-custom-git-refspec
* docs: Hint to 'openQA-devel' for pulling in dependencies
* Delete unused screenshots in separate loop
* docs: Render code correctly (#2306)
* Allow CodeMirror to render off screen
* Show context for REST-API errors to make debugging a little bit easier
* Fix artefact upload errors to show the message instead of the hash address
* Reduce coverage requirement a bit until we can make Devel::Cover include subprocesses in stats
* Don't use 3rd set of names for passing dependencies to JS
* Use capitalized names for module-scoped variables
* Consider directly chained deps in several places
* Support _START_DIRECTLY_AFTER_JOBS
* Add dependency type for START_DIRECTLY_AFTER_TEST
* Failed isotovideo status checks are fairly harmless, but a log message can be useful for debugging
* Since we now expect there to be more subprocesses, there is no reason to log them as unexpected anymore
* Do not try to reconnect the WebSocket connection in subprocesses
* Make annoying log message debug level instead of info for now
* Test API and upload errors
* Test asset uploads too
* Move artefact upload into a webui connection method so it can be easily mocked for testing
* Add more worker upload tests
* Fix fake WebSocket transaction to correctly defer callback execution
* Improve test coverage of the worker job life cycle
* Move all direct uses of Mojo::UserAgent from OpenQA::Worker::Job to client modules
* Add new worker tests and an isotovideo client module that can be mocked easily
* Perform isotovideo status checks non-blocking too
* Try to defer all callbacks correctly to the next reactor tick
* Handle exceptions in uploads
* Make image uploads non-blocking too
* Callbacks cannot be optional in an async application
* Update mock worker tests to be able to deal with multiple processes handling uploads
* Handle asset and logfile uploads in a subprocess
* Split up upload handling into more manageable parts
* Reuse t/test_postgresql in container test as well
* Harmonize dependencies in cpanfile+openQA.spec
* spec: Specify more dependencies needed for local development
* spec: Fix test dependencies after os-autoinst removed dependencies
* Move codemirror javascript file to javascript label (#2297)
* spec: Fix 'devel' package (for real) with proper macro definition
* spec: Fix error about python shebang
* Fix 'devel' package
* docs: Update openSUSE repos using $releasever, priorities, better names
* spec: Add 'devel' package
* worker job: Add log of second virtio console to upload list
* Fix accidentally removed dependency
* Add missing apparmor permission (#2285)
* Remove shellcheck disable
* Modernize bash tests
* Fix test that did nothing
* Fix argument handling of a function and turn background job into a real plugin
* Remove print from test
* Avoid using HAVING on ScreenshotLinks
* No longer delete job modules one by one
* Remove support for old migration
* Use IPC::Run instead of IPC::Run::Simple
* More code style fixes
* Tidy developer mode test
* Test assert_screen args with array of needle tags
* Code style changes and unit test for current_api_function handling
* Increase lock timeouts a bit because some jobs might just need a little more time and the risk or locks not getting cleared at the end is very low (#2280)
* Show needle tags for assert_screen/check_screen
* Validate tag input field in needleeditor
* Render a diff of the job group YAML in preview/ save
* Use purple for blocked jobs
* Distinguish scheduled and blocked jobs on test result overview
* Delete vim footer in files that still have it
* Makefile: Allow again to select single test cases with PROVE_ARGS
* Preserve QEMU PID file on pool dir cleanup if QEMU still running
* Improve tests for triggering pool directory cleanup
* Test support for non-ASCII chars in needle JSON only in description
* Tweaks according to code review
* Handle newline characters in form parameters correctly
* Use single gru job
* Always include the group property editor
* Do not delete assets based on empty size
* Remove useless quoting
* Check finished job cout in async test
* Increase timeout in async test
* Remove unconditional sleeps from async test
* Add Gru Test with Mock Api Server
* Split Folders and Gru controllers
* Add Rsync Queue UI
* Use Gru for rsync
* ObsRsync handle requests asynchronously
* job cancel: Explicitly return a number to avoid warning
* Fix warning about undefined $testresdir
* Fix flaky test t/api/11-bugs.t
* scheduler: Fix warnings about undefined variables
* Fix rendering of the openqa.cmd
* openqa-bootstrap: Fix logic of git clone
* Add machine filter in 'Test result overview'
* docs: Mention most simple installation instructions and "clone-job" first
* docs: Add documentation for immediate bootstrap+clone
* docs: Fix internal link
* branding: Prevent undefined flavor in external_reporting.html.ep
* apparmor: Allow virtio_console based on named PIPE
* spec: Split out all dependencies properly per sub-package
* apparmor: Allow loading of client.conf in usual home of geekotest
* apparmor: Allow loading override templates in /etc/openqa/templates/
* branding: Prevent warnings about undefined $distri in external_reporting.html.ep
* Test worker behavior if _upload_log_file fails
* Improve needle editor test
* Change iso scheduling behavior to not obsolete older jobs anymore
* Improve calculating preferred machine
* Fix error when saving needle JSON with non-ASCII characters
* Modify workaround property to support adding reason
* Fix 30-test_parser.t warnings
* Remove exported functions from OpenQA::File and stop using private methods as part of the public API
* docs: Fix explanation for masquerading which is needed on all involved zones
* docs: Simplify firewalld commands by using the runtime variants
* docs: Make the current "firewalld" approach more prominent than old SuSEfirewall2
* Fix PROVE_ARGS in spec file
* docs: Remove obsolete section about "wicked < 0.6.23"
* load_templates: fix --clean and reading perl templates
* Do not handle arguments in reverse and move OpenQA::Files class into a proper package
* Make worker retry-delay configurable
* Test retry behavior of worker
* Extend retry delay of worker to 60 seconds if web UI busy
* Adapt codecov target to current coverage of 85%
* Allow * placeholders in product names
* docs: Fix marking for 2nd level list about "wicked pros"
* Prevent over-escaping of bug titles in test result overview
* Adjust web socket server test
* Avoid 'return;' in web socket code
* Fix sending web socket message when job not exists
* Improve transaction handling in web socket server
* AMQP: allow no message prefix
* Fix '--no-cleanup' on worker start regression
* Remove OpenQA::Schema::Result::Jobs::set_scheduling_worker
* Replace Text::Markdown and HTML::Restrict with CommonMark for much better comment rendering speed and security
* Adding a new parameter to support not schedule parent test suite
* Timeout for wait_for_ajax
* Let prove handle @INC for us
* Expose saving and hiding of the legacy editor in the UI
* Scrub dangerous HTML from comments
* Abstract out markdown handling into a new class
* worker: Consider ws disconnects as uncritical during job execution
* Fix worker crash when sending job ID
* YAML: don't merge scenarios with multiple machines with defaults
* Add dependency on CommonMark, which will soon replace Text::Markdown for a 1000% performance increase (#2228)
* Ignore cpu_modelname in worker test
* Let worker pass current job ID on re-registration
* Allow worker to pass its current job on registration
* Improve test for checking job status and output
* Improve error message when rejecting status update
* Add YAML support to {dump,load}_templates
* Add systemd timer to trigger daily audit event cleanup
* Delete old audit events according to configured storage duration
* AMQP: don't encode message body to JSON before publishing
* Handle reusing existing connection in devel fullstack test
* Improve documentation about running test of openQA itself
* Timeout for wait_for_developer_console_contains_log_message
* Override default exception handler in extra daemons
* Fix default route of live handler to prevent template errors
* Docs for the job group editor and YAML REST
* AMQP: allow passing headers to publish_amqp
* Add note about openQA's CLI interface
* openqa-bootstrap: Fix lookup of configure-web-proxy
* Improve rendering summary in test result overview
* t/api/03-auth.t: don't actually wipe asset files from disk
* Mojo::Pg 4.14 requires the "delete $dbh->{private_...}" feature from DBI 1.632
* Log errors when reading worker config
* Add type/additionalProperties to products spec
* spec: Fix SLE12 build with patched out python subpackage
* Start a documentation section on how to build openQA plugins
* templates: Update references to documentation in help texts
* docs: Update references to target versions in our issue tracker
* Document adding new dependencies
* Improve doc section about starting webserver from Git
* Move testing with production data to database section
* Improve documentation about OPENQA_BASEDIR
* Replay cmds in devel mode console only if connected to os-autoinst
* Make sure all four levels of API access have named routes for plugins and tests
* Add undef to return
* Prevent cleaning pool directory in worker availability check
* Add helper script 'openqa-label-all'
* Set log for failing to stop cmd srv to info level
* Do not fail fullstack test when connection closed
* Split api request to own route
* Extend unit tests for OpenQA::Worker
* Do not stop current job twice when stopping during setup
* Remove unused function from worker
* Remove check for cpu_opmode from worker test
* Stop job directly with reason 'api-failure' on API failures
* Give the API authentication routes plugins will use names and test them
* Log sent commands in the developer console as well
* Replay commands send though developer console while offline
* Add put method with disabled test
* Fix test doing an equality check on an exception instead of a regular expression comparison
* Fix html
* Adapt codecov target to current coverage
* Small tweaks
* Default to HTTPS instead of HTTP with openqa-client
* Add Operator menu item
* Remove duplicate use
* Small CR adjustment
* Make routes restricted
* Add ObsRsync plugin
* Expand Machine and Medium Type settings when creating job with 'jobs post' When users created jobs using 'client jobs post', the jobs settings did not expand Machine and Medium Type settings. This PR is used to support to expand settings from Machine and Medium Type when creating jobs with 'jobs post'.
* .travis.yml: Save travis CI some testing time
* Add Test::More based error handler to SeleniumTest
-------------------------------------------------------------------
Thu Aug 22 17:14:16 UTC 2019 - coolo@suse.com
- Update to version 4.6.1566476274.5f4e21fe:
* Render a diff of the job group YAML in preview/ save
* Use purple for blocked jobs
* Distinguish scheduled and blocked jobs on test result overview
* Delete vim footer in files that still have it
* Makefile: Allow again to select single test cases with PROVE_ARGS
* Preserve QEMU PID file on pool dir cleanup if QEMU still running
* Improve tests for triggering pool directory cleanup
* Test support for non-ASCII chars in needle JSON only in description
* Handle newline characters in form parameters correctly
* Always include the group property editor
* Do not delete assets based on empty size
* job cancel: Explicitly return a number to avoid warning
* Fix warning about undefined $testresdir
* Fix flaky test t/api/11-bugs.t
* scheduler: Fix warnings about undefined variables
* Fix rendering of the openqa.cmd
* openqa-bootstrap: Fix logic of git clone
* Add machine filter in 'Test result overview'
* docs: Mention most simple installation instructions and "clone-job" first
* docs: Add documentation for immediate bootstrap+clone
* docs: Fix internal link
* branding: Prevent undefined flavor in external_reporting.html.ep
* apparmor: Allow virtio_console based on named PIPE
* apparmor: Allow loading of client.conf in usual home of geekotest
* apparmor: Allow loading override templates in /etc/openqa/templates/
* branding: Prevent warnings about undefined $distri in external_reporting.html.ep
* Test worker behavior if _upload_log_file fails
* Improve needle editor test
* Improve calculating preferred machine
* Fix error when saving needle JSON with non-ASCII characters
* Modify workaround property to support adding reason
* Fix 30-test_parser.t warnings
* Remove exported functions from OpenQA::File and stop using private methods as part of the public API
* docs: Fix explanation for masquerading which is needed on all involved zones
* docs: Simplify firewalld commands by using the runtime variants
* docs: Make the current "firewalld" approach more prominent than old SuSEfirewall2
* Fix PROVE_ARGS in spec file
* docs: Remove obsolete section about "wicked < 0.6.23"
* load_templates: fix --clean and reading perl templates
* Do not handle arguments in reverse and move OpenQA::Files class into a proper package
* Make worker retry-delay configurable
* Test retry behavior of worker
* Extend retry delay of worker to 60 seconds if web UI busy
* Adapt codecov target to current coverage of 85%
* Allow * placeholders in product names
* docs: Fix marking for 2nd level list about "wicked pros"
* Prevent over-escaping of bug titles in test result overview
* Adjust web socket server test
* Avoid 'return;' in web socket code
* Fix sending web socket message when job not exists
* Improve transaction handling in web socket server
* AMQP: allow no message prefix
* Fix '--no-cleanup' on worker start regression
* Remove OpenQA::Schema::Result::Jobs::set_scheduling_worker
* Replace Text::Markdown and HTML::Restrict with CommonMark for much better comment rendering speed and security
* Adding a new parameter to support not schedule parent test suite
* Timeout for wait_for_ajax
* Let prove handle @INC for us
* Expose saving and hiding of the legacy editor in the UI
* Scrub dangerous HTML from comments
* Abstract out markdown handling into a new class
* worker: Consider ws disconnects as uncritical during job execution
* Fix worker crash when sending job ID
* YAML: don't merge scenarios with multiple machines with defaults
* Add dependency on CommonMark, which will soon replace Text::Markdown for a 1000% performance increase (#2228)
* Ignore cpu_modelname in worker test
* Let worker pass current job ID on re-registration
* Allow worker to pass its current job on registration
* Improve test for checking job status and output
* Improve error message when rejecting status update
* Add YAML support to {dump,load}_templates
* Add systemd timer to trigger daily audit event cleanup
* Delete old audit events according to configured storage duration
* AMQP: don't encode message body to JSON before publishing
* Handle reusing existing connection in devel fullstack test
* Improve documentation about running test of openQA itself
* Timeout for wait_for_developer_console_contains_log_message
* Override default exception handler in extra daemons
* Fix default route of live handler to prevent template errors
* Docs for the job group editor and YAML REST
* AMQP: allow passing headers to publish_amqp
* Add note about openQA's CLI interface
* openqa-bootstrap: Fix lookup of configure-web-proxy
* Improve rendering summary in test result overview
* t/api/03-auth.t: don't actually wipe asset files from disk
* Mojo::Pg 4.14 requires the "delete $dbh->{private_...}" feature from DBI 1.632
* Log errors when reading worker config
* Add type/additionalProperties to products spec
* spec: Fix SLE12 build with patched out python subpackage
* Start a documentation section on how to build openQA plugins
* templates: Update references to documentation in help texts
* docs: Update references to target versions in our issue tracker
* Document adding new dependencies
* Improve doc section about starting webserver from Git
* Move testing with production data to database section
* Improve documentation about OPENQA_BASEDIR
* Replay cmds in devel mode console only if connected to os-autoinst
* Make sure all four levels of API access have named routes for plugins and tests
* Add undef to return
* Prevent cleaning pool directory in worker availability check
* Add helper script 'openqa-label-all'
* Set log for failing to stop cmd srv to info level
* Do not fail fullstack test when connection closed
* Split api request to own route
* Extend unit tests for OpenQA::Worker
* Do not stop current job twice when stopping during setup
* Remove unused function from worker
* Remove check for cpu_opmode from worker test
* Stop job directly with reason 'api-failure' on API failures
* Give the API authentication routes plugins will use names and test them
* Log sent commands in the developer console as well
* Replay commands send though developer console while offline
* Add put method with disabled test
* Fix test doing an equality check on an exception instead of a regular expression comparison
* Fix html
* Adapt codecov target to current coverage
* Small tweaks
* Default to HTTPS instead of HTTP with openqa-client
* Add Operator menu item
* Remove duplicate use
* Small CR adjustment
* Make routes restricted
* Add ObsRsync plugin
* Expand Machine and Medium Type settings when creating job with 'jobs post' When users created jobs using 'client jobs post', the jobs settings did not expand Machine and Medium Type settings. This PR is used to support to expand settings from Machine and Medium Type when creating jobs with 'jobs post'.
* .travis.yml: Save travis CI some testing time
* Add Test::More based error handler to SeleniumTest

View File

@ -18,7 +18,7 @@
%define short_name openQA-worker
Name: %{short_name}-test
Version: 4.6.1563206570.e00d3964
Version: 4.6.1568387059.db88ff48d
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later

View File

@ -1,3 +1,233 @@
-------------------------------------------------------------------
Tue Sep 17 11:09:08 UTC 2019 - coolo@suse.com
- Update to version 4.6.1568387059.db88ff48d:
* Add Storable dependency
* Remove debugging
* Create a deepcopy of the settings
* Always sort keys to make behaviour reproducible
* Demonstrate what's going wrong on staging yaml
* Fix duplicate path name
* Update YAML guide and schema to explain custom job template names
* Publish API schema(s) along with other docs
* Fix some issues in the doc markup reported by asciidoc
* Always build docs and allow local generation
* Fix warning caused by filename getting removed from reused form hashref in Mojo::UserAgent
* Cleanup disabled code about 'Sereal'
* Non-experimental YAML routes with explicit schema
* Revert back to duplicating dependencies in dockerfile (#2315)
* Extend the requires of openQA-devel and make them easier to review (#2313)
* Implement optional defaults.settings key in YAML
* Fix container image to use repository paths (#2310)
* Improve test coverage for more background jobs
* Increase coverage by allowing Devel::Cover to collect stats for background jobs
* Fix printing usage when invoking openqa-clone-job --help
* Remove codecov hack that was only added to increase coverage percentage, but does not actually test anything useful
* Scenarios can have different settings
* docker: Use devel package instead of spelling out duplicate dependencies (#2308)
* Cut the test result directory shorter when its length is more than 255
* Support branch url on openqa-clone-custom-git-refspec
* docs: Hint to 'openQA-devel' for pulling in dependencies
* Delete unused screenshots in separate loop
* docs: Render code correctly (#2306)
* Allow CodeMirror to render off screen
* Show context for REST-API errors to make debugging a little bit easier
* Fix artefact upload errors to show the message instead of the hash address
* Reduce coverage requirement a bit until we can make Devel::Cover include subprocesses in stats
* Don't use 3rd set of names for passing dependencies to JS
* Use capitalized names for module-scoped variables
* Consider directly chained deps in several places
* Support _START_DIRECTLY_AFTER_JOBS
* Add dependency type for START_DIRECTLY_AFTER_TEST
* Failed isotovideo status checks are fairly harmless, but a log message can be useful for debugging
* Since we now expect there to be more subprocesses, there is no reason to log them as unexpected anymore
* Do not try to reconnect the WebSocket connection in subprocesses
* Make annoying log message debug level instead of info for now
* Test API and upload errors
* Test asset uploads too
* Move artefact upload into a webui connection method so it can be easily mocked for testing
* Add more worker upload tests
* Fix fake WebSocket transaction to correctly defer callback execution
* Improve test coverage of the worker job life cycle
* Move all direct uses of Mojo::UserAgent from OpenQA::Worker::Job to client modules
* Add new worker tests and an isotovideo client module that can be mocked easily
* Perform isotovideo status checks non-blocking too
* Try to defer all callbacks correctly to the next reactor tick
* Handle exceptions in uploads
* Make image uploads non-blocking too
* Callbacks cannot be optional in an async application
* Update mock worker tests to be able to deal with multiple processes handling uploads
* Handle asset and logfile uploads in a subprocess
* Split up upload handling into more manageable parts
* Reuse t/test_postgresql in container test as well
* Harmonize dependencies in cpanfile+openQA.spec
* spec: Specify more dependencies needed for local development
* spec: Fix test dependencies after os-autoinst removed dependencies
* Move codemirror javascript file to javascript label (#2297)
* spec: Fix 'devel' package (for real) with proper macro definition
* spec: Fix error about python shebang
* Fix 'devel' package
* docs: Update openSUSE repos using $releasever, priorities, better names
* spec: Add 'devel' package
* worker job: Add log of second virtio console to upload list
* Fix accidentally removed dependency
* Add missing apparmor permission (#2285)
* Remove shellcheck disable
* Modernize bash tests
* Fix test that did nothing
* Fix argument handling of a function and turn background job into a real plugin
* Remove print from test
* Avoid using HAVING on ScreenshotLinks
* No longer delete job modules one by one
* Remove support for old migration
* Use IPC::Run instead of IPC::Run::Simple
* More code style fixes
* Tidy developer mode test
* Test assert_screen args with array of needle tags
* Code style changes and unit test for current_api_function handling
* Increase lock timeouts a bit because some jobs might just need a little more time and the risk or locks not getting cleared at the end is very low (#2280)
* Show needle tags for assert_screen/check_screen
* Validate tag input field in needleeditor
* Render a diff of the job group YAML in preview/ save
* Use purple for blocked jobs
* Distinguish scheduled and blocked jobs on test result overview
* Delete vim footer in files that still have it
* Makefile: Allow again to select single test cases with PROVE_ARGS
* Preserve QEMU PID file on pool dir cleanup if QEMU still running
* Improve tests for triggering pool directory cleanup
* Test support for non-ASCII chars in needle JSON only in description
* Tweaks according to code review
* Handle newline characters in form parameters correctly
* Use single gru job
* Always include the group property editor
* Do not delete assets based on empty size
* Remove useless quoting
* Check finished job cout in async test
* Increase timeout in async test
* Remove unconditional sleeps from async test
* Add Gru Test with Mock Api Server
* Split Folders and Gru controllers
* Add Rsync Queue UI
* Use Gru for rsync
* ObsRsync handle requests asynchronously
* job cancel: Explicitly return a number to avoid warning
* Fix warning about undefined $testresdir
* Fix flaky test t/api/11-bugs.t
* scheduler: Fix warnings about undefined variables
* Fix rendering of the openqa.cmd
* openqa-bootstrap: Fix logic of git clone
* Add machine filter in 'Test result overview'
* docs: Mention most simple installation instructions and "clone-job" first
* docs: Add documentation for immediate bootstrap+clone
* docs: Fix internal link
* branding: Prevent undefined flavor in external_reporting.html.ep
* apparmor: Allow virtio_console based on named PIPE
* spec: Split out all dependencies properly per sub-package
* apparmor: Allow loading of client.conf in usual home of geekotest
* apparmor: Allow loading override templates in /etc/openqa/templates/
* branding: Prevent warnings about undefined $distri in external_reporting.html.ep
* Test worker behavior if _upload_log_file fails
* Improve needle editor test
* Change iso scheduling behavior to not obsolete older jobs anymore
* Improve calculating preferred machine
* Fix error when saving needle JSON with non-ASCII characters
* Modify workaround property to support adding reason
* Fix 30-test_parser.t warnings
* Remove exported functions from OpenQA::File and stop using private methods as part of the public API
* docs: Fix explanation for masquerading which is needed on all involved zones
* docs: Simplify firewalld commands by using the runtime variants
* docs: Make the current "firewalld" approach more prominent than old SuSEfirewall2
* Fix PROVE_ARGS in spec file
* docs: Remove obsolete section about "wicked < 0.6.23"
* load_templates: fix --clean and reading perl templates
* Do not handle arguments in reverse and move OpenQA::Files class into a proper package
* Make worker retry-delay configurable
* Test retry behavior of worker
* Extend retry delay of worker to 60 seconds if web UI busy
* Adapt codecov target to current coverage of 85%
* Allow * placeholders in product names
* docs: Fix marking for 2nd level list about "wicked pros"
* Prevent over-escaping of bug titles in test result overview
* Adjust web socket server test
* Avoid 'return;' in web socket code
* Fix sending web socket message when job not exists
* Improve transaction handling in web socket server
* AMQP: allow no message prefix
* Fix '--no-cleanup' on worker start regression
* Remove OpenQA::Schema::Result::Jobs::set_scheduling_worker
* Replace Text::Markdown and HTML::Restrict with CommonMark for much better comment rendering speed and security
* Adding a new parameter to support not schedule parent test suite
* Timeout for wait_for_ajax
* Let prove handle @INC for us
* Expose saving and hiding of the legacy editor in the UI
* Scrub dangerous HTML from comments
* Abstract out markdown handling into a new class
* worker: Consider ws disconnects as uncritical during job execution
* Fix worker crash when sending job ID
* YAML: don't merge scenarios with multiple machines with defaults
* Add dependency on CommonMark, which will soon replace Text::Markdown for a 1000% performance increase (#2228)
* Ignore cpu_modelname in worker test
* Let worker pass current job ID on re-registration
* Allow worker to pass its current job on registration
* Improve test for checking job status and output
* Improve error message when rejecting status update
* Add YAML support to {dump,load}_templates
* Add systemd timer to trigger daily audit event cleanup
* Delete old audit events according to configured storage duration
* AMQP: don't encode message body to JSON before publishing
* Handle reusing existing connection in devel fullstack test
* Improve documentation about running test of openQA itself
* Timeout for wait_for_developer_console_contains_log_message
* Override default exception handler in extra daemons
* Fix default route of live handler to prevent template errors
* Docs for the job group editor and YAML REST
* AMQP: allow passing headers to publish_amqp
* Add note about openQA's CLI interface
* openqa-bootstrap: Fix lookup of configure-web-proxy
* Improve rendering summary in test result overview
* t/api/03-auth.t: don't actually wipe asset files from disk
* Mojo::Pg 4.14 requires the "delete $dbh->{private_...}" feature from DBI 1.632
* Log errors when reading worker config
* Add type/additionalProperties to products spec
* spec: Fix SLE12 build with patched out python subpackage
* Start a documentation section on how to build openQA plugins
* templates: Update references to documentation in help texts
* docs: Update references to target versions in our issue tracker
* Document adding new dependencies
* Improve doc section about starting webserver from Git
* Move testing with production data to database section
* Improve documentation about OPENQA_BASEDIR
* Replay cmds in devel mode console only if connected to os-autoinst
* Make sure all four levels of API access have named routes for plugins and tests
* Add undef to return
* Prevent cleaning pool directory in worker availability check
* Add helper script 'openqa-label-all'
* Set log for failing to stop cmd srv to info level
* Do not fail fullstack test when connection closed
* Split api request to own route
* Extend unit tests for OpenQA::Worker
* Do not stop current job twice when stopping during setup
* Remove unused function from worker
* Remove check for cpu_opmode from worker test
* Stop job directly with reason 'api-failure' on API failures
* Give the API authentication routes plugins will use names and test them
* Log sent commands in the developer console as well
* Replay commands send though developer console while offline
* Add put method with disabled test
* Fix test doing an equality check on an exception instead of a regular expression comparison
* Fix html
* Adapt codecov target to current coverage
* Small tweaks
* Default to HTTPS instead of HTTP with openqa-client
* Add Operator menu item
* Remove duplicate use
* Small CR adjustment
* Make routes restricted
* Add ObsRsync plugin
* Expand Machine and Medium Type settings when creating job with 'jobs post' When users created jobs using 'client jobs post', the jobs settings did not expand Machine and Medium Type settings. This PR is used to support to expand settings from Machine and Medium Type when creating jobs with 'jobs post'.
* .travis.yml: Save travis CI some testing time
* Add Test::More based error handler to SeleniumTest
-------------------------------------------------------------------
Mon Jul 15 16:24:19 UTC 2019 - coolo@suse.com

View File

@ -1,5 +1,5 @@
name: openQA
version: 4.6.1563206570.e00d3964
mtime: 1563206570
commit: e00d3964e4c9563c3db14f1d651f0e41bc05c113
version: 4.6.1568387059.db88ff48d
mtime: 1568387059
commit: db88ff48d65421d03959b543fe826cbddaca846e

View File

@ -17,7 +17,7 @@
# can't use linebreaks here!
%define openqa_services openqa-webui.service openqa-gru.service openqa-websockets.service openqa-scheduler.service
%define openqa_services openqa-webui.service openqa-gru.service openqa-websockets.service openqa-scheduler.service openqa-enqueue-audit-event-cleanup.service openqa-enqueue-audit-event-cleanup.timer
%define openqa_worker_services openqa-worker.target openqa-slirpvde.service openqa-vde_switch.service openqa-worker-cacheservice.service openqa-worker-cacheservice-minion.service
%if %{undefined tmpfiles_create}
%define tmpfiles_create() \
@ -33,10 +33,34 @@
%else
%bcond_with tests
%endif
# SLE < 15 does not provide many of the dependencies for the python sub-package
%if 0%{?sle_version} < 150000 && !0%{?is_opensuse}
%bcond_with python_scripts
%else
%bcond_without python_scripts
%endif
# runtime requirements that also the testsuite needs
%define t_requires perl(DBD::Pg) perl(DBIx::Class) perl(Config::IniFiles) perl(SQL::Translator) perl(Date::Format) perl(File::Copy::Recursive) perl(DateTime::Format::Pg) perl(Net::OpenID::Consumer) perl(Mojolicious::Plugin::RenderFile) perl(Mojolicious::Plugin::AssetPack) perl(aliased) perl(Config::Tiny) perl(DBIx::Class::DeploymentHandler) perl(DBIx::Class::DynamicDefault) perl(DBIx::Class::Schema::Config) perl(DBIx::Class::Storage::Statistics) perl(IO::Socket::SSL) perl(Data::Dump) perl(DBIx::Class::OptimisticLocking) perl(Module::Pluggable) perl(Text::Diff) perl(Text::Markdown) perl(JSON::Validator) perl(YAML::XS) perl(IPC::Run) perl(Archive::Extract) perl(CSS::Minifier::XS) perl(JavaScript::Minifier::XS) perl(Time::ParseDate) perl(Sort::Versions) perl(Mojo::RabbitMQ::Client) perl(BSD::Resource) perl(Cpanel::JSON::XS) perl(Pod::POM) perl(Mojo::IOLoop::ReadWriteProcess) perl(Minion) perl(Mojo::Pg) perl(Mojo::SQLite) perl(Minion::Backend::SQLite)
%if %{with python_scripts}
%define python_scripts_requires python3-base python3-requests python3-future
%else
%define python_scripts_requires %{nil}
%endif
%define assetpack_requires perl(Mojolicious::Plugin::AssetPack) => 1.36, perl(CSS::Minifier::XS) perl(JavaScript::Minifier::XS)
%define common_requires perl(Config::IniFiles) perl(Cpanel::JSON::XS) perl(Cwd) perl(Data::Dump) perl(Data::Dumper) perl(Digest::MD5) perl(Getopt::Long) perl(Minion) => 9.09, perl(Mojolicious) >= 7.92, perl(Try::Tiny) perl(Regexp::Common), perl(Storable)
# runtime requirements for the main package that are not required by other sub-packages
%define main_requires %assetpack_requires git-core perl(Carp::Always) perl(Date::Format) perl(DateTime::Format::Pg) perl(DBD::Pg) >= 3.7.4, perl(DBI) >= 1.632, perl(DBIx::Class) => 0.082801, perl(DBIx::Class::DeploymentHandler) perl(DBIx::Class::DynamicDefault) perl(DBIx::Class::Schema::Config) perl(DBIx::Class::Storage::Statistics) perl(DBIx::Class::OptimisticLocking) perl(File::Copy::Recursive) perl(Net::OpenID::Consumer) perl(Module::Pluggable) perl(aliased) perl(Config::Tiny) perl(Text::Diff) perl(CommonMark) perl(JSON::Validator) perl(IPC::Run) perl(Archive::Extract) perl(Time::ParseDate) perl(Sort::Versions) perl(BSD::Resource) perl(Pod::POM) perl(Mojo::Pg) perl(Mojo::RabbitMQ::Client) => 0.2, perl(SQL::Translator) perl(YAML::XS) perl(LWP::UserAgent)
%define client_requires git-core perl(IO::Socket::SSL) >= 2.009, perl(LWP::UserAgent)
%define worker_requires os-autoinst < 5, perl(Mojo::IOLoop::ReadWriteProcess) > 0.19, perl(Minion::Backend::SQLite) perl(Mojo::SQLite) openQA-client optipng
%define build_requires rubygem(sass) %assetpack_requires
# All requirements needed by the tests executed during build-time.
# Do not require on this in individual sub-packages except for the devel
# package.
%define test_requires %common_requires %main_requires %python_scripts_requires %worker_requires perl(App::cpanminus) perl(Perl::Critic) perl(Perl::Critic::Freenode) perl(Test::Mojo) perl(Test::More) perl(Test::Strict) perl(Test::Fatal) perl(Test::MockModule) perl(Test::Output) perl(Test::Pod) perl(Test::Warnings) perl(Selenium::Remote::Driver) perl(Selenium::Remote::WDKeys) ShellCheck os-autoinst-devel
%define devel_requires %build_requires %test_requires rsync curl postgresql-devel qemu qemu-kvm tar postgresql-server xorg-x11-fonts sudo perl(Devel::Cover) perl(Devel::Cover::Report::Codecov) perl(Perl::Tidy)
Name: openQA
Version: 4.6.1563206570.e00d3964
Version: 4.6.1568387059.db88ff48d
Release: 0
Summary: The openQA web-frontend, scheduler and tools
License: GPL-2.0-or-later
@ -48,30 +72,12 @@ Source0: %{name}-%{version}.tar.xz
Source1: cache.txz
Source101: update-cache.sh
Source102: Dockerfile
BuildRequires: %{t_requires}
BuildRequires: %{build_requires}
BuildRequires: fdupes
BuildRequires: os-autoinst
BuildRequires: systemd
# critical bug fix
BuildRequires: perl(DBIx::Class) >= 0.082801
BuildRequires: perl(Minion) >= 9.09
BuildRequires: perl(Mojo::RabbitMQ::Client) >= 0.2
BuildRequires: perl(Mojolicious) >= 7.92
BuildRequires: perl(Mojolicious::Plugin::AssetPack) >= 1.36
BuildRequires: rubygem(sass)
Requires: perl(Minion) >= 9.09
Requires: perl(Mojo::RabbitMQ::Client) >= 0.2
Requires: perl(YAML::XS) >= 0.67
# needed for test suite
Requires: git-core
Requires: %{main_requires}
Requires: openQA-client = %{version}
Requires: openQA-common = %{version}
# needed for saving needles optimized
Requires: optipng
Requires: perl(DBIx::Class) >= 0.082801
# needed for openid support
Requires: perl(LWP::Protocol::https)
Requires: perl(URI)
Requires: perl(Minion) >= 9.13
# we need to have the same sha1 as expected
%requires_eq perl-Mojolicious-Plugin-AssetPack
Recommends: %{name}-local-db
@ -83,26 +89,11 @@ Recommends: apparmor-utils
Recommends: logrotate
# server needs to run an rsync server if worker caching is used
Recommends: rsync
BuildRequires: postgresql-server
BuildArch: noarch
ExcludeArch: i586
%{?systemd_requires}
%if %{with tests}
BuildRequires: chromedriver
BuildRequires: chromium
BuildRequires: glibc-locale
# pick a font so chromium has something to render - doesn't matter so much
BuildRequires: dejavu-fonts
BuildRequires: google-roboto-fonts
BuildRequires: perl-App-cpanminus
BuildRequires: rsync
BuildRequires: perl(DBD::SQLite)
BuildRequires: perl(Perl::Critic)
BuildRequires: perl(Perl::Critic::Freenode)
BuildRequires: perl(Selenium::Remote::Driver) >= 1.20
BuildRequires: perl(Test::MockObject)
BuildRequires: perl(Test::Strict)
BuildRequires: perl(Test::Warnings)
BuildRequires: %{test_requires}
%endif
%if 0%{?suse_version} >= 1330
Requires(pre): group(nogroup)
@ -127,10 +118,18 @@ revision of the operating system, reporting the errors detected for each
combination of hardware configuration, installation options and variant of the
operating system.
%package devel
Summary: Development package pulling in all build+test dependencies
Group: Development/Tools/Other
Requires: %{devel_requires}
%description devel
Development package pulling in all build+test dependencies.
%package common
Summary: The openQA common tools for web-frontend and workers
Group: Development/Tools/Other
Requires: %{t_requires}
Requires: %{common_requires}
Requires: perl(Mojolicious) >= 7.92
%description common
@ -140,13 +139,8 @@ openQA workers.
%package worker
Summary: The openQA worker
Group: Development/Tools/Other
Requires: openQA-client = %{version}
Requires: os-autoinst < 5
Requires: perl(DBD::SQLite) > 1.51
Requires: perl(Minion::Backend::SQLite)
Requires: perl(Mojo::IOLoop::ReadWriteProcess) > 0.19
Requires: perl(Mojo::SQLite)
Requires: perl(SQL::SplitStatement)
%define worker_requires_including_uncovered_in_tests %worker_requires perl(SQL::SplitStatement)
Requires: %{worker_requires_including_uncovered_in_tests}
# FIXME: use proper Requires(pre/post/preun/...)
PreReq: openQA-common = %{version}
Requires(post): coreutils
@ -164,22 +158,24 @@ The openQA worker manages test engine (provided by os-autoinst package).
%package client
Summary: Client tools for remote openQA management
Group: Development/Tools/Other
Requires: %client_requires
Requires: openQA-common = %{version}
Requires: perl(Config::IniFiles)
Requires: perl(Cpanel::JSON::XS)
Requires: perl(Data::Dump)
Requires: perl(Getopt::Long)
Requires: perl(IO::Socket::SSL) >= 2.009
Requires: perl(LWP::UserAgent)
Requires: perl(Mojolicious)
Requires: perl(Regexp::Common)
Requires: perl(Try::Tiny)
Recommends: jq
%description client
Tools and support files for openQA client script. Client script is
a convenient helper for interacting with openQA webui REST API.
%if %{with python_scripts}
%package python-scripts
Summary: Additional scripts in python
Group: Development/Tools/Other
Requires: %python_scripts_requires
%description python-scripts
Additional scripts for the use of openQA in the python programming language.
%endif
%package local-db
Summary: Helper package to ease setup of postgresql DB
Group: Development/Tools/Other
@ -209,6 +205,7 @@ Covering both openQA and also os-autoinst test engine.
%prep
%setup -q -a1
sed -e 's,/bin/env python,/bin/python,' -i script/openqa-label-all
%build
make %{?_smp_mflags}
@ -227,11 +224,14 @@ rm -f t/00-tidy.t
#make test
rm -rf %{buildroot}/DB
export LC_ALL=en_US.UTF-8
make test-with-database OBS_RUN=1 PROVE_ARGS='-rv' TEST_PG_PATH=%{buildroot}/DB || true
make test-with-database OBS_RUN=1 PROVE_ARGS='-l -r -v' TEST_PG_PATH=%{buildroot}/DB || true
rm -rf %{buildroot}/DB
%endif
%install
%if !%{with python_scripts}
rm script/openqa-label-all
%endif
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
%make_install
@ -245,6 +245,9 @@ ln -s %{_datadir}/openqa/script/openqa-clone-job %{buildroot}%{_bindir}/openqa-c
ln -s %{_datadir}/openqa/script/dump_templates %{buildroot}%{_bindir}/openqa-dump-templates
ln -s %{_datadir}/openqa/script/load_templates %{buildroot}%{_bindir}/openqa-load-templates
ln -s %{_datadir}/openqa/script/openqa-clone-custom-git-refspec %{buildroot}%{_bindir}/openqa-clone-custom-git-refspec
%if %{with python_scripts}
ln -s %{_datadir}/openqa/script/openqa-label-all %{buildroot}%{_bindir}/openqa-label-all
%endif
cd %{buildroot}
grep -rl %{_bindir}/env . | while read file; do
@ -380,6 +383,8 @@ fi
%{_unitdir}/openqa-gru.service
%{_unitdir}/openqa-scheduler.service
%{_unitdir}/openqa-websockets.service
%{_unitdir}/openqa-enqueue-audit-event-cleanup.service
%{_unitdir}/openqa-enqueue-audit-event-cleanup.timer
# web libs
%dir %{_datadir}/openqa
%{_datadir}/openqa/templates
@ -415,6 +420,8 @@ fi
%ghost %{_localstatedir}/lib/openqa/db/db.sqlite
%ghost %{_localstatedir}/log/openqa
%files devel
%files common
%dir %{_datadir}/openqa
%{_datadir}/openqa/lib
@ -479,6 +486,12 @@ fi
%{_bindir}/openqa-load-templates
%{_bindir}/openqa-clone-custom-git-refspec
%if %{with python_scripts}
%files python-scripts
%{_datadir}/openqa/script/openqa-label-all
%{_bindir}/openqa-label-all
%endif
%files doc
%doc docs/*