-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 1.8 Date: Thu, 15 May 2014 12:34:33 -0300 Source: debci Binary: debci Architecture: source all Version: 0.6 Distribution: unstable Urgency: medium Maintainer: Antonio Terceiro <terceiro@debian.org> Changed-By: Antonio Terceiro <terceiro@debian.org> Description: debci - continuous integration system for Debian Closes: 747308 747715 Changes: debci (0.6) unstable; urgency=medium . [ Martin Pitt ] * Move schroot creation from bin/debci-setup to backends/schroot/create-testbed, as it is schroot backend specific and other backends will need different setup. * process-package: Call backend test-package with second argument that specifies the adt-run output directory. Implement that in schroot backend with adt-run --output-dir, and fake backend when passing $DEBCI_FAKE_DEPS. This will be used to collect and present log files, artifacts, package/version lists, etc. * Eliminate list-base-system and use autopkgtest's testbed-packages output file instead. This will also work with remote workers and other virt servers. * Eliminate check_version() and take this information from autopkgtest's output. * Move report_status() into lib/functions.sh as we'll need it in more places than just process-package. * Move "run needed" policy from process-package to bin/debci. With this, debci-test can be called manually at any time to retry tests or get called by e. g. britney which already evaluates when to run tests. Remove the "run test at most once a day" check completely as package updates can happen several times a day. As a by-product this also fixes debci's -f option to force a test run. * backends/schroot/list-dependencies: Ignore individual apt-get failures as that gets called for binaries which don't exist on the selected architecture. Fixes operation for e. g. glib2.0. * Use chdist instead of the local schroot for package queries: - Add scripts/setup-chdist to create/update a chdist for the selected release. - Use that in list-dependencies instead of querying the schroot. Move that script to scripts/ as it is now not backend specific any more. - Update lib/functions.sh to use chdist instead of the schroot. - Add devscripts dependency for chdist, and demote schroot dependency to recommends. This allows us to use other backends, like QEMU or remote ones. * Reorganize data directory: - Split out autopkgtest output into ${debci_data_dir}/autopkgtest/: This now contains a full directory for each test run with all of adt-run's --output-dir files. This provides access to individual test stdout/err logs, the package version lists, and additional artifacts that tests produce. With this, autopkgtest/ becomes eligible for being on a remote file system and can be synced/rebuilt independently of the metadata. - Use run IDs with format YYYYMMDD_HHMMSS[machine or tags] instead of the old YYYYMMDD-n as the former works for a distributed file system and remote workers. - base.txt is now replaced with adt-run's testbed-packages output file. - test-packages.txt gets dropped as there is no need to keep it around permanently. Build it from the per-test -packages logs from adt-run. - Move status.json into status/ directory and remove the redundant latest.json. - Move packages.json into status/ directory. * Add tools/convert-data: Convert data/ directory to changed format from above. This can be dropped again after running it on the production debci instance. * app.js: Filter out query strings from URL for constructing the .json URLs. Fixes wrong URLs after using the package search field. * backends/schroot/test-package: Drop unused temporary dir. * backends/*/test-package: Write exit code into "exitcode" file in output dir, so that we retain it even when we switch to asynchronous/remote processing. * backends/fake/test-package: Write log file into output dir, like adt-run. * Move test result evaluation, log and meta data creation from debci-test to debci-generate-indexes. This prepares the way for running adt-run asynchronously or remotely, and picking up the results from the autopkgtest/ data directory. * Reduce the per-test run <timestamp>.log files to the debci metadata (triggers, package versions, package diffs, overall result), as the actual autopkgtest log is now kept in data/*/autopkgtest/. This avoids duplicating the log contents. * app.js: In the per-package test list, add link to latest autopkgtest log and artifacts (other output files). * debci-status --all: Output a list also if there is only one package. * debci-status --all: Sort package names so that they appear sorted in the web UI. * Avoid some error messages noise when calling generate-index without any existing test data. * Drop debci-test --reason option and make debci-batch put the reason into the status directory directly. * Fold debci-cleanup into debci-generate-index. . [ Antonio Terceiro ] * schroot backend: pass --session-id to adt-virt-schroot. This makes it easier to debug test suite that leave rogue schroot sessions behind. * rename `debci` binary to `debci-batch`. `debci` stays reserved for providing a entry point binary like `git` that will invoke subcommands that are kept out of $PATH to avoid cluttering the namespace. * debci-batch: make batch locking suite- and architecture-specific * debci-batch: add --offline and --online options. --offline will prevent new test runs from being started, and --online will revert to normal operation. * Rename scripts/*: - scripts/process-package: absorbed by the previously almost empty bin/debci-test - scripts/list-dep8-packages: absorbed by the previously almost empty bin/debci-list-packages - scripts/list-dependencies → bin/debci-list-dependencies - scripts/setup-chdist → bin/debci-setup-chdist - scripts/blame → bin/debci-blame - scripts/cleanup → bin/debci-cleanup - scripts/generate-index → bin/debci-generate-index * add `debci` binary to not clutter the namespace. When you call `debci COMMAND` it will set PATH to include the debci bin/ and then call `debci-COMMAND` with the supplied arguments. * debci-blame: replace usage of deprecated IO#lines method with IO#each_line * debci-generate-index: accept duration as command line switch * backends/schroot/create-testbed: drop usage of eatmydata to avoid breaking test suites that actually depend on a real fsync(). To compensate the performance loss when installing packages, set dpkg `--force-unsafe-io` option in a configuration file (Closes: #747308). * Added Ruby bindings and the corresponding documentation * Dropped usage of faketime in the test suite (Closes: #747715) * backends/fake: output a timestamp like the ones adt-run outputs * Added new debci-config, a helper to output value of debci configuration values * debci-generate-feeds: added generation of per-package and global Atom feeds. Called from debci-batch * public: now using FontAwesome from fonts-font-awesome package * public/app.js: add a link to the per-package Atom feed * public/style.css: make the status indicators use FontAwesome icons Checksums-Sha1: f8fe9cc88cddef6af9e5c18f10b19753ffd0367f 1671 debci_0.6.dsc b7f338d7c26831024726fe0ab2bae31d52e5627e 142524 debci_0.6.tar.xz 62f15a41f0ad580951e405362f4e171a34a8f377 156426 debci_0.6_all.deb Checksums-Sha256: d95cdfded25034d55cf21797986f5769a76c50db2fa87bc4f1d205f3fbd073a0 1671 debci_0.6.dsc 151c34b35aee9b56961d85f90f0aa9503a4d4b159e5ab92ba2de4a97b5af8464 142524 debci_0.6.tar.xz 1fdedcc850b402b8019d0fe0bc92b6da31fccbb80297c306d0f48bb60286357d 156426 debci_0.6_all.deb Files: 5e5b08586d5d768aa1d3d4771a960bdf 156426 devel optional debci_0.6_all.deb 1adb6a610f64d4d0159ae2c868849b47 1671 devel optional debci_0.6.dsc 15c72df35d24ca32fac7220a409838dd 142524 devel optional debci_0.6.tar.xz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCAAGBQJTdN76AAoJEPwNsbvNRgveO9cQAOR8Qd1nShN/gI/fn493LoM1 C8ojlD1j9nbZ5lTrud6DYa4d1AyqtuXakcBnLk/q4DrvehovldCDinRPo+1UjRFl WtaSRWSPl2zcowDjHt/oblgIn68RvAgjjvfF01ok+qYOlvM6Ce9+AwK3LiVekOV7 EDR57EU6E/zlXj6RqO4RjZjc35t8rFc0qEvHWCl6gKhgpNr+kj6fIOfmpaEienZ4 /ZQM/CkJSm0HqkPnBf0nV2wk4tcNCtC5efNpdWgYkKuqjwTt8ZQwBXntkZq2xblY zM5Q8tEYZV5RucPI5JOyCLmtPNowMOCs6BXWnuO1foORQ84ZP8C61XJQrbDBp1fr 3LlcZ+QusZrhZUhTGArsqtaHMOTEdG1olqgh5zvfL9kqbdj3PaLBLtg/ydCmxal2 Ve18V2HGuYlud81RdJz2u5V6S+cG6G/MA8bWcRWDaKKNjDJ9btQK166xtwXb8pTt NfBf4WaiRDS/qdqaSCsxDAx9dkTvRBp9E1tQyctzUe7bIruzrLQKo2FyIwVWQ60y DHBLRbtEeV4K2Vc3bWUl2KdHToWyfDk8FtJbUawXdmBgtXxaiT9FfPni+GC6jSZv bwPEj8qvkOPR7oXVUGiskHwVQldjdE/TCVV56pxLTaWhvqVUTuHbmwbI13EhxFLY cpSZO+TW+e8Ug4IFKTGT =921P -----END PGP SIGNATURE-----