debci (3.9) unstable; urgency=medium * web ui: reduce usage of automatic page refresh * Debci::Log: handle non-UTF-8 data correctly * Drop static index.html in favor of Debci::Home app * Move RSS feed to be dynamically generated * Debci::HTML: load package statuses in batches * debian-update.timer: reduce frequency to hourly * Debci::Log: mark uninstallable sections as failures * log viewer: don't collapse a single subsection of failure sections -- Antonio Terceiro Sun, 10 Dec 2023 21:18:35 -0300 debci (3.8) unstable; urgency=medium [ Christian Kastner ] * debci-localtest can also take autopkgtest backends * Add debci_autopkgtest_args_ to environment.sh [ Antonio Terceiro ] * Debci::StorageLimit: only count non-deleted jobs * Debci::StorageLimit: traverse only non-deleted jobs * Debci::Job: ensure files_purged is false * debci-collector.postinst: drop support for upgrades from buster * spec: ensure a reasonable value for Debci.config.html_dir. This fixes running the Ruby test suite under autopkgtest using a different user than `debci`. * munin: debci_packages_processed: look into debci-publisher logs * web ui: add structured log viewer. An initial version in client side JavaScript was written by Stuart Prescott. It was then used as base for the the server side Ruby version by Antonio Terceiro. In special, all the regular expressions were copied as-is from Stuart's original code. If Javascript is enabled, then there is some extra functionality, like collapsing non-critical sessions and leaving only the actual test runs visible by default. [ Helmut Grohne ] * Install units with dh_installsystemd only (Closes: #1054188) -- Antonio Terceiro Thu, 16 Nov 2023 08:19:07 -0300 debci (3.7) unstable; urgency=medium [ Antonio Terceiro ] * Split publishing of results into a separate daemon * Debci::Job: store and report backend * Make logging for all daemons consistent * debci-worker, debci-publisher: log errors even in quiet mode * debci-generate-apt-sources: fix checks for non-free-firmware for suite codenames * self_service: allow multiple API keys and add to manage them * spec_helper: bump required test coverage to 92% * Drop obsolete scripts and mentions to them. Since debci-batch has been removed in favor of external scheduling of tests, some infrastructure left behind is not really useful anymore. Right now, drop debci-list-dependencies, debci-list-packages, debci-setup-chdist and references to them (which are unused anyway). * Drop schroot backend * Bump dependency on autopkgtest to >= 5.29~ * debci-publisher: fix obtaining data for logging * Drop dependency on devscripts * collector_spec: fix typo * Debci::Job.receive: improve handling of incomplete test results * debci-publisher: resist corrupted result archives * Debci::Job: keep track of purged files separate from the expiration date * config: define a disk storage limit per package * Debci::Job: add method to calculate per-job disk usage * Limit amount of storage each package can use. By Default, each package is allowed to use up to 200MB of disk space with logs and artifacts. * Debci::Status: remove unused variables * web: /status/{alerts,pending}/: display total of jobs after filtering * Debci::App: inform total of records when paginating * .rerun: ignore coverage/ * web: display information about expired test logs. The custom 404 page for test logs will provide links to the list of tests for th same package on the suite and architecture of the original test, and for retrying the original test. * spec_helper: bump require test coverage to 93% [ Helmut Grohne ] * backends/lxc/create-testbed: use fewer different sources.lists * backends/qemu: fix evaluation of undefined variable * backends/qemu/create-testbed: use fewer different sources.lists * debci setup: add --keyring option * backends/qemu/create-testbed: forward --keyring * backends/lxc/create-testbed: pass keyring via new --keyring to autopkgtest-build-lxc * debci-setup: conditionalize installation of auto-apt-proxy * backends/lxc/create-testbed: do not enable --dbgsym for Debian derivatives * import and install munin plugins from debian-ci-config * Allow passing arguments to autopkgtest backends (Closes: #1037245) -- Antonio Terceiro Sat, 04 Nov 2023 10:48:18 -0300 debci (3.6) unstable; urgency=medium [ Louis-Philippe Véronneau ] * docs: more precise info on how to get an API key * docs: remove mention of deprecated getkey endpoint [ Antonio Terceiro ] * RejectList: pre-expand wildcards when reading the data * Debci::Status: make code backwards compatible with ruby2.5 * web frontend: rework user authentication * web frontend: add simple admin interface * self_service: make auth config forward-compatible with omniauth-gitlab 4.0 * Debci::Job: store file sizes for log and artifacts * usage: fix help message for backend option * debci-worker: fix running alternative architectures and backends on the same host * admin: add support for stable ordering of records * admin: add Package.backend and support for select fields in general * admin: search packages by backend; fix searching on more than one field * Backend: use package preferred backend if available * debci-worker: mention backend in the logs * Debci::AMQP: don't cache queue name per architecture * api: add entry point to retry tests via a POST request * Apply suggestions by rubocop 1.39.0 * tools/server.sh: use puma explicitly instead of rackup * test/test_helper.sh: setup custom management plugin port * test/bin/wait_for_results: simplify getting timestamp of last test job * Acknowledge NMU by Michael Biebl * Debci::Job: avoid artifact filenames being interpreted as tar options (Closes: #1030883) * Debci::Job: produce one single pin-package parameter with multiple packages (Closes: #1025369) * debci generate-apt-sources: add support for non-free-firmware (Closes: #1031238) [ Pavit Kaur ] * Handle signing-keys for extra-apt-sources [ Bas Couwenberg ] * Fix architecture list in JSON export. -- Antonio Terceiro Sun, 26 Feb 2023 12:08:48 -0300 debci (3.5.2+nmu1) unstable; urgency=medium * Non-maintainer upload. * No source change upload to rebuild with debhelper 13.10. -- Michael Biebl Sat, 15 Oct 2022 11:59:21 +0200 debci (3.5.2) unstable; urgency=medium [ Antonio Terceiro ] * config: improve handling of MIRROR. MIRROR is no longer read, and is only set if debci_mirror was explicitly set in the debci configuration. * debci-generate-apt-sources: handle ports architectures * debci-localtest: fix --help -- Paul Gevers Thu, 07 Jul 2022 21:30:42 +0200 debci (3.5.1) unstable; urgency=medium * Debci::App: get query parameters implicitly for pagination links * templates: job_listing: drop trailing whitespace * templates: job_listing: make package name a link -- Antonio Terceiro Wed, 30 Mar 2022 09:39:12 -0300 debci (3.5) unstable; urgency=medium [ Antonio Terceiro ] * frontend: package: always display a pending jobs header * spec_helper: point Debci.config.data_basedir at temp directory * debci-test: don't repeat --add-apt-release= options (Closes: #968679) * debci-worker: move lxc | schroot from Depends: to Recommends: * Add tests for Debci::Job#expired? * Drop generation and storage of package-specific static data files * Delete remaining status HTML files * ci: run tests against postgresql * docs: don't advertise the schroot autopkgtesst backend * docs: MAINTAINERS: remove lxc networking instructions * .gitlab-ci.yml: upgrade stable to bullseye * .gitlab-ci.yml: don't hardcode the stable release * debci-worker: name temporary directory better * debci-worker: ensure temporary dir removal * backends/lxc: ensure temporary customize script is removed * Debci::HTML.update_package: drop deprecated arguments * debci-html: exit non-zero on wrong usage * Debci::Status: add trailing slashes everywhere for consistency [ barakat-ajadi ] * Status: generate status page dynamic * Status: Add pagination and filter to status pages -- Antonio Terceiro Sun, 27 Mar 2022 16:37:07 -0300 debci (3.4) unstable; urgency=medium [ Pavit Kaur ] * Stop adding buildd APT entries by default * jobs: normalize worker field [ Olivia Cameron ] * Update docs/HACKING.md [ Shivam Singhal ] * Fix Shellcheck errors for bin/debci-autopkgtest [ Abiola Ajadi ] * Redirect after authentication to the page the user was trying to access * self-service test form: remember form values on failed submissions * packages: display pending jobs * web frontend: centralize job listing [ Antonio Terceiro ] * Drop debci-batch * spec: avoid monkeypatching core File methods * spec_helper: fix ambiguous calls in SimpleCov setup * Drop usage of deprecated method File.exists? * Debci::Job: drop unused local variable * Debci::SelfDocAPI: fix undefined variable warning * html: avoid warnings on undefined variables * self_service: fix redirect after login * frontend: respond with 404 on the history page of a non-existing package * functional tests: drop test_basics * collector_spec: avoid writing to real data directory * tools/workers.sh: revert back to moreutils parallel [ Marco M. F. De Santis ] * Update MAINTAINERS.md -- Antonio Terceiro Sun, 23 Jan 2022 13:50:40 -0300 debci (3.3) unstable; urgency=medium [ Pavit Kaur ] * Add a user menu in the self service interface * Change extra-apt-sources into a fixed list [ Renan Luz ] * rubocop: clean up empty exclude lists [ Antonio Terceiro ] * override lintian tag about docs outside of /usr/share/doc * .gitlab-ci.yml: disable lintian for now * self_service: avoid duplicating usernames in development * debci-test: avoid duplicating apt sources * tools: break rerun invocations into multiple lines * tools: give rerun an application name explicitly * docs: update architecture diagram [ Paul Gevers ] * robots.txt: add /user/ as robots have nothing to find there [ Peter Pentchev ] * backends/schroot: do not break on undefined variables [ Shivam Singhal ] * Drop the link to data from the top menu * By default keep check the all architecture on request test page * Add package url to packages on Self-Service Job History Page -- Antonio Terceiro Mon, 01 Nov 2021 10:47:23 -0300 debci (3.2) unstable; urgency=medium [ Antonio Terceiro ] * login page: improve appearance of the buttons * update-worker: update for all configured architectures * backends/fake: add create-testbed script * setup: always assume backends can create testbeds * setup: improve logging * debci-test: keep end of the log (Closes: #982598) * status charts: adapt time series for flot 4.x [ Pavit Kaur ] * Submit private jobs via API * Submit private jobs via Self Service * Add extra-apt-sources in API * Add extra-apt-sources via Self Service * Validate extra apt sources * Publish private tests via API * Update Self-Service Job History Page * Add Publish and Retry in Self-Service [ Paul Gevers ] * Raise default priority for scheduling jobs from 0/1 to 5 -- Antonio Terceiro Mon, 16 Aug 2021 10:16:18 -0300 debci (3.1) experimental; urgency=medium [ Pavit Kaur ] * Change Retry link to point to the self service interface * Migrate to logins using Salsa * Update the jobs table to add real reference to users table * Add private jobs flag to jobs [ Antonio Terceiro ] * Debci::Job: add index for field package_id * Debci::Job: index requestor_id -- Antonio Terceiro Sun, 27 Jun 2021 08:39:41 -0300 debci (3.0.1) experimental; urgency=medium * backends/lxc/create-testbed: guard against undefined variable -- Antonio Terceiro Sun, 30 May 2021 11:14:12 -0300 debci (3.0) experimental; urgency=medium [ Antonio Terceiro ] * backends: install ca-certificates * backends: qemu: don't make `debci` a system user (Closes: #983156) * Revert "backends: qemu: don't make `debci` a system user" * backends: qemu: translate proxy inside VM back * backends: qemu: replace adduser with useradd * Revamp shell best practices checks * Run codespell on `make test` and gitlab CI * doc: INSTALL.md: point to HACKING.md for development environments * debci-autopkgtest: setup APT retries * self service: fix example JSON file * codespell: ignore tags file * self_service: don't hide exceptions * Debci::TestHandler: handle missing arch without crashing * Debci::HTMLHelpers: display pinned packages correctly * Debci::App: extract get_page_range from Debci::SelfService * self_service_history: extract pagination code * Move all kaminari requires do debci/db * tools/check-shell-scripts.sh: don't finish on the first failure * spec_helper: resist simplecov not being installed * Debci::Package#backend: make test independent of local configuration * Debci::Expiration: add basic tests * spec_helper: bump required test coverage * docs/HACKING.md: clarify the setup methods [ daemon1024 ] * Fix Style/ConditionalAssignment violations [ Sergio de Almeida Cipriano Junior ] * Fix Style/GlovalVars issue * Rename blacklist to rejectlist [ Paul Gevers ] * docs/MAINTAINERS.md: update paragraph about Testsuite: header [ Ceda EI ] * backends/lxc/create-testbed: Fix shellcheck issues * backends/fake/test-package: Fix style violation AndOr * Fix incorrect key in self service documentation (archs -> arch) * Update Vagrantfile from contrib-buster64 to buster64 * Replace proxy detection using netcat with auto-apt-proxy * Add /api/v1/reject_list to access reject list via an API * Update Vagrantfile to debian/bullseye64 * Fix — being escaped for Trigger on retry page * Add warning on retry page when there are pending jobs [ Candy Tsai ] * frontend: implement server-side package search [ Pavit Kaur ] * rename whitelist to seed_list * Make value of slow_tests configurable * Update /api/v1/retry to check if package in reject list * Update to disable submit test requests when selected "Export to JSON" * Add a way to specify backend for a given package * Update to remove removed packages' results in status * Fix to reduce loading time on package pages [ Kritika Srivastava ] * lib/debci/api.rb : Fix style violation HashSyntax * fixed customize.sh [ Lizard Morrow ] * Fix shellcheck errors/warnings in lib/environment.sh. [ Gaurav Ahlawat ] * Removed shellcheck warnings * Moved the retry endpoints from API to SelfService * Moved the retry endpoints from API to Self-Service and added tests [ Ron Friedman ] * Removed rubocop_todo entry & corrected style violation * Move getkey endpoints from API to SelfService -- Antonio Terceiro Sat, 29 May 2021 08:26:02 -0300 debci (2.15.2) unstable; urgency=medium * autopkgtest: mark test-suite as flaky -- Antonio Terceiro Sat, 22 May 2021 07:30:43 -0300 debci (2.15.1) unstable; urgency=medium * test_helper: ensure a unique rabbitmq node name on CI environments. This hopefully fixes the unreliability of the functional tests on ci.debian.net. (Closes: #953947) * debian/tests/integration-test: don't install lxc or schroot -- Antonio Terceiro Tue, 06 Apr 2021 18:53:57 -0300 debci (2.15) unstable; urgency=medium * js: drop console.log noise when loading chart data * js: position chart legends at the top left * test_helper: improve temporary directory name * Debci::Collector: log when starting and stopping * Debci::App: add common 404 handler * Generate package pages dynamically * Move all static HTML for /packages away * Drop obsolete config.ru file * Add some unit tests for Debci::HTML::CLI * api: add basic tests for fetching test results * api: sort results by updated_at -- Antonio Terceiro Sun, 24 Jan 2021 14:36:26 -0300 debci (2.14.1) unstable; urgency=medium * self_service_spec: fix test on arm64 -- Antonio Terceiro Mon, 21 Dec 2020 23:00:49 -0300 debci (2.14) unstable; urgency=medium [ Antonio Terceiro ] * Debci::Job: fix parameters for multiple pinned packages * ui: improve expansion of pinned packages * Drop dependency on bsdmainutils (Closes: #964525) * Debci::Job: fix newsworthiness check * debci-worker: retry result submission until it works * docs/HACKING.md: drop gratuitous reference to stretch [ intrigeri ] * MAINTAINERS.md: fix command that adds user to group [ Baptiste Beauplat ] * Remove redundant tag in the Automate section of the history page [ Sebastien Delafond ] * Add 'worker' field to job result (Closes: #958975) -- Antonio Terceiro Fri, 18 Dec 2020 16:59:26 -0300 debci (2.13) unstable; urgency=medium [ Antonio Terceiro ] * Add a proper user model * Debci::HTMLHelpers: fix parsing invalid pinnings * ui: switch to escaped HTML by default (Closes: #962862) * Set default external encoding to UTF-8 [ Milos Knezevic ] * Fix missing build dependency (debootstrap) * Fix issue with init script exiting prior creating dev.conf * Fix lintian 'spelling-error-in-changelog' warning * Improve slight inconsistencies in docs/HACKING.md [ Utkarsh Gupta ] * Fix broken link for feed * Show package details on the retry page -- Antonio Terceiro Sun, 28 Jun 2020 09:36:14 -0300 debci (2.12.2) unstable; urgency=medium * ui: fix table header in package history page * Debci::Collector: update only given suite/arch * Drop status from package list (prefix) pages. Unfortunately it's too expensive to produce those pages at the moment, so we can't afford to rebuild them on every new job. * Debci.log: flush STDOUT on each message * Debci::HTML: avoid extra queries * Debci::Package.history: fix ordering * Debci::Job: fix definition of "previous" job * job_spec: fix handling of dates to not fail in the future -- Antonio Terceiro Fri, 15 May 2020 20:36:01 -0300 debci (2.12.1) unstable; urgency=medium * Debci::HTML: fix creation of global status.json * migrations: fix creation of Debci::PackageStatus * Debci::HTML: fix blacklist * Debci::Job.receive: handle repeating previously interrupted receivements -- Antonio Terceiro Thu, 14 May 2020 14:24:48 -0300 debci (2.12) unstable; urgency=medium * Debci::Job.receive: support jobs with no version * Debci::HTML: fix usage with broken symlinks * Debci::Collector: handle all types of errors * html: drop global feed * Debci::HTML: use only data from the database * self service/jobs: drop column for "debci log" * ui: display migration tests in the package history page -- Antonio Terceiro Wed, 13 May 2020 21:55:42 -0300 debci (2.11) unstable; urgency=medium * Debci::Test::Duration.duration_human: handle zero * Drop links to "debci log" files * debci-test: add buildd suite for migration tests * Reformulate generation of static content - Debci::Job: receive autopkgtest results - Reformulate HTML generation - Add new CLI `debci html`; deprecate `debci generate-html` - Deprecate debci-generate-index; individual package pages are now updated right away when results for that package arrive; debci-update now only updates global pages (home page, status etc) - move all the real logic inside Debci::HTML - individual .json result files and "debci log" files are not longer produced. - debci-collector has been rewritten in Ruby, and will now receive results from the AMQP queue and directly import them instead of saving them to autopkgtest-incoming for later processing. - Legacy jobs in autopkgtest-incoming/ are processed o upgrade. - The data/status/ files are now simplified. For history, we keep a single status file per day. Existing data is migrated on upgrade. This set of changes provides a good performance enhancement. For example, running the full integration test suite on my machine now takes 240 seconds instead of > 300 * Drop pointless ${shlibs:Depends} from package dependencies * Makefile: fix parallel builds * Bump debhelper compatibility level to 12 - Drop `--with systemd`, now handled by dh_installsystemd * Add Rules-Requires-Root: no * Replace dpkg-maintscript-helper calls in maintainer scripts with debian/debci.maintscript -- Antonio Terceiro Sun, 19 Apr 2020 16:24:52 -0300 debci (2.10) unstable; urgency=medium [ Abhishek Kumar ] * [Status]: Fix inconsistent results produced * [Status]: Filter blacklisted and old statuses [ Antonio Terceiro ] * Debci::DB: support ActiveRecord 6 and drop support for < 5.2 * Add more indexes to the jobs table * debci-expire: use database and look only for expired jobs * Debci::Status: remove duplicate implementation of expired? -- Antonio Terceiro Sat, 04 Apr 2020 17:53:25 -0300 debci (2.9) unstable; urgency=medium [ Sébastien Delafond ] * Detect Kali in backends/lxc/create-testbed * api: allow passing an extra, optional priority parameter to enqueue jobs with [ Antonio Terceiro ] * debci-test: optimize storage of logs * Add some tests for debci-test * lib/environment.sh: accept amqp SSL options separately * Debci::AMQP: add TLS support * Remove all remaining mentions of $ADTTMP in favor of $AUTOPKGTEST_TMP * debci-autopkgtest: avoid trying to write to unexisting directory -- Antonio Terceiro Sun, 01 Mar 2020 11:06:40 -0300 debci (2.8) unstable; urgency=medium * Debci::Job#to_s: use "pending" when when status is nil * debci-localtest: ignore failure to record package (Closes: #950305) * Add configuration variable for amqp-tools options * debian/tests: replace deprecated $ADTTMP with $AUTOPKGTEST_TMP -- Antonio Terceiro Mon, 17 Feb 2020 19:06:21 -0300 debci (2.7) unstable; urgency=medium * lxc: allow for some sorting of container names * api: fix call to check for blacklisted packages * api: set date of test requests for blacklisted packages * job history: don't link to missing files * Add migration to set date of jobs for blacklisted packages * Debci::Job: extract prefix method into shared module * Debci::HTML: history: don't link to missing files * html: history: fix HTML * Debci::Blacklist: fix test for blacklist on suite/arch * ui: job history: display duration * self_service_history.erb: get fields directly as method calls * Debci::Status.from_file: always set a package name * Debci::Blacklist: add support for wildcards in package names * self-service: job history: improve navigation links * Debci::SelfService: make sure @user is set when available * Debci::Blacklist: avoid crashes when passed nil * debci-autopkgtest: record package/suite/arch inside testbed * lxc: make testbed creation atomic * schroot: make test bed creation atomic * debci-setup: drop test bed locking (Closes: #931206) * debci-test: drop testbed locking * tests: ensure backend is 'fake' * debci-generate-index: rename variable * api: avoid data loss when enqueue fails -- Antonio Terceiro Sun, 12 Jan 2020 13:46:51 -0300 debci (2.6) unstable; urgency=medium * lxc: generate random container names * Debci::Job.import: validate package name * Move collector-only programs to debci-collector * Debci::AMQP: consolidate AMQP connection logic * test_worker: exclude existing processes from check for leftover processes * ui: user job list: show a reasonable number of pagination links * debci-collector: override "no ruby dep" from lintian * Bump Standards-Version to 4.4.1; no changes needed -- Antonio Terceiro Sun, 17 Nov 2019 19:28:29 -0300 debci (2.5) unstable; urgency=medium * Debci::Status: extract duration_human to a module * Debci::Data::Import: ignore unknown fields * Makefile: add quick-check target to run robocop and rspec * Debci::Job: include readable duration in JSON output * spec_helper: add missing require * Debci::Test::Expired: short circuit to false * ui: job history: don't link to results of unfinished tests * self_service: redesign authentication * ui: self_service: use a configured session secret key * ui: self_service: display custom "auth failed" page * Debci::TestHandler.enqueue: make priority an argument * ui: job history: do only exact match on package names * Debci::SelfService: remove pointless check * ui: job history: accept * as wildcard for package names * Revert "Debci::Repository: sort "slow packages" by duration" -- Antonio Terceiro Mon, 11 Nov 2019 11:06:23 -0300 debci (2.4) unstable; urgency=medium * ui: pending jobs: display requestor * Debci::Repository: sort "slow packages" by duration * ui: job history: sort by date with newest first * ui: job history: avoid extra params in pagination links * ui: job history: increase num of items per page * Debci::Status: extract #expired? into a module * Debci::HTML: extract #filesize into Debci::HTMLHelpers * ui: job history: link to test results -- Antonio Terceiro Tue, 15 Oct 2019 23:21:46 -0300 debci (2.3) unstable; urgency=medium * Debci::Job: extract method to produce package history * Debci::Job.history: omit migration tests * debci job latest-json: reuse Debci::Job.history * debci.install: install config.ru * config.ru: only serve static files in development mode * ui: history: fix reading log and artifacts size * ui: history: when linking to requestor, filter to match current page * Debci::HTML: extract method for status icons into a helper * ui: user job history: display test status -- Antonio Terceiro Sun, 13 Oct 2019 13:14:59 -0300 debci (2.2.2) unstable; urgency=medium [ Paul Gevers ] * Fix debci-setup-chdist to use the right interface of debci-generate-apt-sources * debci-status: make robust for empty result entries [ Antonio Terceiro ] * Debci::HTML: use ERB builtin HTML escaping * Debci::Status: skip unescaping trigger * ui: always escape triggers * debci-status: skip empty entries * debci job latest-json: ignore pending jobs -- Antonio Terceiro Tue, 01 Oct 2019 12:00:25 -0300 debci (2.2.1) unstable; urgency=medium * debci-autopkgtest: fix a regression when reading an undefined variable - Revert "debci-autopkgtest: skip --apt-upgrade on null backend" - Revert "lxc, schroot: drop explicit --apt-upgrade" - Revert "debci-autopkgtest: always pass --apt-upgrade" - qemu: pass --apt-upgrade to autopkgtest -- Antonio Terceiro Tue, 24 Sep 2019 13:53:33 -0700 debci (2.2) experimental; urgency=medium [ Antonio Terceiro ] * Debci::HTML.platform_specific_issues: don't crash on date-less statuses * Update .rubocop_todo.yml * Debci::Status: read date from `created_at` as fallback * debci-generate-html: add option to regenerate all packages * Debci::Status: fix Ruby code style warnings * debci-setup-chdist: always updates APT configuration * debci-setup-chdist: workaround absence of buildd-stable-proposed-updates * UI: link to bug reports for source package * docs/HACKING.md: add some contribution guidelines * API doc: drop unused stylesheet inside