unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: bug#65391: People need to report failing builds even though we have ci.guix.gnu.org for that
       [not found] <295ef8c8-574a-4169-98f3-6d9aaeb773f1@telenet.be>
@ 2023-08-27  1:13 ` 宋文武
  2023-08-27  3:38   ` Maxim Cournoyer
                     ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: 宋文武 @ 2023-08-27  1:13 UTC (permalink / raw)
  To: Maxime Devos; +Cc: 65391, guix-devel

[-- Attachment #1: Type: text/plain, Size: 1935 bytes --]

Maxime Devos <maximedevos@telenet.be> writes:

> For example, naev used to work just fine, yet apparently it doesn't
> anymore: https://issues.guix.gnu.org/65390.
>
> Given that Guix has ci.guix.gnu.org, I would expect such new problems
> to be detected and resolved early, and it was detected by
> ci.guix.gnu.org, yet going by issues.guix.gnu.org it was never even
> investigated.

Yes, honestly I only look for build failures from bug reports, not from
CI if i'm not doing a "request for merge" from another branch.

>
> (Yes, there is a delay, but that doesn't matter at all, as there's
> this dashboard <https://ci.guix.gnu.org/eval/668365/dashboard>.)

I found the dashboard inconvenient to use, it show failures for both
builds and dependencies in the same red color, and can't be searched.
What I usually do is:

1. download the job status json with:
  wget -O jobs.json 'https://ci.guix.gnu.org/api/jobs?evaluation=692229&system=x86_64-linux'

2. use jq to show package names with build failures:
  cat jobs.json  | jq '. | map(select(.status == 1)) | .[].name' -r

3. select interested one to investigate (if doing merge, diff the failures from
working branch with master).


>
> Do people really need to report 33% of all jobs
> (https://ci.guix.gnu.org/eval/668365/dashboard) before those failures
> are taken seriously, instead of the ‘there don't seem to be that much
> more build failures from the core-updates/... merge, let's solve them
> later (i.e., never)’ that seems to be  status quo?

Maybe we can automatically report the failures as bugs, say every 7
days, and remove a package if it still fail to build in 90 days?

As for now, x86_64 master (eval 668365) has 696 build failures, 604
dependencies failures, 30 unknown (canceld?) failures, total 1330
failures according to the jobs.json data.

Should we open a bug report for each of those 696 build failures?

[-- Attachment #2: ooo --]
[-- Type: text/plain, Size: 10129 bytes --]

aarch64-linux-gnu.gcc
abjad-ext-ipython
adms
aegis
anubis
aoflagger
apache-commons-parent-pom
apricots
arachne-pnr
arcan-sdl
arcan
archivebox
arm-linux-gnueabihf.gcc
arpack-ng-openmpi
asignify
asmjit
avro-cpp
azimuth
balsa
barectf
beignet
blacksmith
boinc-server
bonnie++
boost-signals2
btar
burp
cc65
cedille
chaiscript
chezmoi
clang
combinatorial-blas
commoncpp
confusion-mdl
coq-ide
coturn
cpplint
cssc
ctl
cube
darkice
dbus-cxx
ddcci-driver-linux
debops
deluge
dolphin-emu
dosbox-staging
dovecot-trees
d-tools
duc
dvdstyler
dxvk
ecl-april
ecl-binding-arrows
ecl-canonicalized-initargs
ecl-cl-form-types
ecl-cl-gserver
ecl-closure-template
ecl-cl-prevalence
ecl-cmd
ecl-coalton
ecl-coleslaw
ecl-conium
ecl-hdf5-cffi
ecl-lispbuilder-sdl
ecl-mito
ecl-nodgui
ecl-prometheus
ecl-radiance-contribs
ecl-schemeish
ecl-supertrace
ecl-trivial-octet-streams
ecl-trucler
ecl-typo
ecl-yxorp
edi
efilinux
elemental
elpa-openmpi
elpa
emacs-next-pgtk
emacspeak
emacsy
emilua
emulation-station
enblend-enfuse
eog-plugins
epic5
epour
eternalterminal
evdi
fanc
fasthenry
fenics
fiano-fmap
flowee
freedink-engine
freeorion
frotz-dumb-terminal
fulcrum
ganeti
gash-utils
gcc-objc++
gcc-objc
gcc-stripped-tarball
gcc-toolchain
gcc
gcc
ghc-ncurses
ghc-next
ghmm
gimagereader
gitile
gitless
glibc
glibc
glusterfs
gmime
gnash
gnaural
gnome-dictionary
gnucap
go-github-com-charmbracelet-glamour
gourmet
goxel
guile2.0-commonmark
guile2.0-gcrypt
guile2.0-redis
guile2.2-fibers
guile2.2-ics
guile2.2-pfds
guile2.2-xapian
guile-emacs
guile-gnunet
guile-goblins
guile-irc
guile-sparql
guile-static-stripped
guix-minimal
gx-saturator-lv2
gx-slow-gear-lv2
gx-vbass-preamp-lv2
h5check
harminv
hash-extender
hdf5-parallel-openmpi
hdf-eos2
hdf-eos5
hdf-java
hikari
hosts
ht
hydrus-network
hyperledger-iroha
hypre-openmpi.skylake-avx512
i3lock-blur
i586-pc-gnu.gcc-stripped-tarball
i586-pc-gnu.gcc
i586-pc-gnu.gcc
i586-pc-gnu.glibc
i686-linux-gnu.gcc-stripped-tarball
i686-linux-gnu.gcc
i686-linux-gnu.gcc
i686-w64-mingw32.coreutils
i686-w64-mingw32.diffutils
i686-w64-mingw32.findutils
i686-w64-mingw32.gawk
i686-w64-mingw32.gcc
i686-w64-mingw32.gcc
i686-w64-mingw32.gcc
i686-w64-mingw32.gdb-minimal
i686-w64-mingw32.gettext
i686-w64-mingw32.glibc
i686-w64-mingw32.grep
i686-w64-mingw32.guile
i686-w64-mingw32.guix
i686-w64-mingw32.gzip
i686-w64-mingw32.patch
i686-w64-mingw32.sed
i686-w64-mingw32.xz
insight-toolkit
insight-toolkit.haswell
insight-toolkit.ivybridge
insight-toolkit.skylake
insight-toolkit.skylake-avx512
insight-toolkit.westmere
irram
itk-snap
java-asm-tree
java-commons-compress
java-eclipse-jetty-util-ajax
java-eclipse-lsp4j-common
java-fasterxml-jackson-databind
java-geronimo-xbean-asm-util
java-geronimo-xbean-bundleutils
java-janino
java-jgit
java-jsch-agentproxy-jsch
java-objenesis
java-sonatype-aether-api
java-sonatype-spice-parent-pom
java-surefire-logger-api
java-xom
java-xsdlib
js-context-menu
jucipp
julia-calculus
julia-deepdiffs
julia-genericschur
julia-infinity
julia-wcs
kalendar
kbd-neo
khmer
launchmon
leptonica
libfreenect-examples
libiax2
libnfsidmap
libpsyc
libsigrokdecode
libstdc++
libtcod
libtmcg
libtorrent-rasterbar
libvisual-plugins
limnoria
litecli
lkrg
lua5.1-ossl
lua5.2-ossl
lua-ossl
lush2
maliit-framework
mantis
mapnik
mbedtls-apache
mbed-tools
meep
mia
mips64el-linux-gnu.gcc
mlmmj
mlucas
mmm
monado
mudskipper
mupen64plus-video-glide64
music21
musl-cross
newsboat
nginx-lua-module
nncp
nng
nomad
non-sequencer
ocaml4.07-fmt
ocaml4.07-ppxlib
ocaml4.07-uri
ocaml4.07-uuidm
ocaml4.07-zed
ocrfeeder
odamex
ogmtools
onionshare
openclonk
openni2
openocd
optionmatrix
ovmf-aarch64
ovmf-arm
patool
pcsxr
pdfarranger
pencil2d
pep-engine
perl6-grammar-profiler-simple
perl6-json-fast
perl6-json-name
perl6-json
perl6-mime-base64
perl6-oo-monitors
perl6-terminal-ansicolor
perl6-uri
perl6-xml-writer
perl-b-keywords
perl-dbix-class
perl-gtk2
petsc-openmpi
pies
poetry
powerpc64le-linux-gnu.gcc-stripped-tarball
powerpc64le-linux-gnu.gcc
powerpc64le-linux-gnu.gcc
powerpc64le-linux-gnu.gcc
powerpc64-linux-gnu.gcc
powerpc64-linux-gnu.guix
powerpc-linux-gnu.gcc
propeller-gcc
propeller-load
proteinortho
pulseview
pwntools
pynac
pyotherside
pypy
python-activepapers
python-aionotify
python-alchemy-mock
python-arboreto
python-autoflake
python-autograd
python-bashlex
python-bigfloat
python-bottleneck
python-cellbender
python-certauth
python-cysignals
python-daemon
python-daemux
python-deepdish
python-devtools
python-distributed
python-django
python-django
python-django
python-duniterpy
python-ecdsa
python-episcanpy
python-extruct
python-fit-nbinom
python-flask-restful-swagger
python-flex
python-forbiddenfruit
python-glom
python-google-auth
python-gpy
python-grako
python-hacking
python-hdf4
python-hicmatrix
python-http-client
python-http-ece
python-imbalanced-learn
python-imgviz
python-internetarchive
python-ipydatawidgets
python-jsonpickle
python-keras-preprocessing
python-keystoneclient
python-libcst
python-lirc
python-locust
python-modin
python-nltk
python-nptyping
python-numpy-documentation
python-omegaconf
python-on-guile
python-orange-canvas-core
python-os-client-config
python-osc
python-osmnx
python-pathlib
python-pdoc3
python-pgpy
python-pingouin
python-pint
python-plastid
python-poppler-qt5
python-pybbi
python-pydiff
python-pyflakes
python-pyfuse3
python-pyls-black
python-pyment
python-pyodbc-c
python-pyparted
python-pyportmidi
python-pyrdfa3
python-pyscss
python-pysnptools
python-pyspnego
python-pytest-exploratory
python-pytest-ordering
python-pythonanywhere
python-pyxb
python-pyxel
python-qemu-qmp
python-qnorm
python-qtsass
python-quart
python-readpaf
python-robotframework-lint
python-rollbar
python-sadisplay
python-sanic
python-schedule
python-scikit-allel
python-scripttest
python-setuptools-lint
python-sphinx-autodoc-typehints
python-sphinx-cloud-sptheme
python-sphinxcontrib-autoprogram
python-sphinx-gallery
python-sphinx-prompt
python-statmake
python-swagger-spec-validator
python-tablib
python-ta-lib
python-tbb
python-toolrack
python-tortoise-orm
python-twodict
python-uqbar
python-vaex-core
python-vega-datasets
python-xarray
python-xgboost
qbittorrent-enhanced-nox
qbittorrent-enhanced
qbittorrent-nox
qbittorrent
qgis
quagga
r-analytics
raspi-arm-chainloader
r-biomvrcns
rcas-web
r-ctrdata
repo2docker
r-experimenthub
r-flowcore
r-genomegraphs
r-gensa
r-gosemsim
r-icobra
ri-li
riscv64-linux-gnu.gcc
riscv64-linux-gnu.guile-static-stripped-tarball
r-mlr3ordinal
r-rcppspdlog
r-rmetasim
r-sapa
r-sccore
r-sigpathway
r-spams
r-tgstat
r-tidytree
rttr
ruby-anystyle
ruby-interception
ruby-psych
ruby-ruby-prof
ruby-web-console
rust-actix-macros
rust-actix-web-codegen
rust-addr2line
rust-aesni
rust-ahash
rust-alga
rust-analyzer
rust-app-dirs2
rust-ascii
rust-asn1-rs-impl
rust-assert-fs
rust-autocompress
rust-base32
rust-bindgen
rust-bindgen
rust-bindgen
rust-bindgen
rust-bindgen
rust-blake2
rust-capnp-rpc
rust-cargo-util
rust-cast
rust-clang-sys
rust-clap-conf
rust-combine
rust-compact-str
rust-concolor
rust-derive-builder-core
rust-derive-error-chain
rust-diesel-derives
rust-enquote
rust-feature-probe
rust-generator
rust-generic-array
rust-generic-array
rust-ghash
rust-git2
rust-git2
rust-glam
rust-glib-macros
rust-glium
rust-glutin-egl-sys
rust-h2
rust-heapless
rust-hex-literal
rust-hkdf
rust-hyper-rustls
rust-hyper-rustls
rust-hyper
rust-inotify-sys
rust-insta
rust-ipconfig
rust-jemallocator
rust-libflate-lz77
rust-libpulse-binding
rust-libradicl
rust-linked-hash-map
rust-linked-hash-map
rust-lopdf
rust-md-5
rust-merge-derive
rust-merge
rust-mimalloc
rust-napi-sys
rust-napi
rust-nb-connect
rust-nitrokey-sys
rust-nitrokey-test
rust-nitrokey
rust-no-panic
rust-notify
rust-objc2-encode
rust-opener
rust-os-pipe
rust-packed-simd-2
rust-packed-struct
rust-parity-scale-codec-derive
rust-paw-structopt
rust-paw
rust-polling
rust-poly1305
rust-polyval
rust-prettytable-rs
rust-propfuzz-macro
rust-proptest-derive
rust-proptest
rust-proptest
rust-quinn-proto
rust-quinn
rust-ravif
rust-reduce
rust-ref-cast-impl
rust-relative-path
rust-ring
rust-ring
rust-ron
rust-rustfix
rust-rustls-native-certs
rust-rustls
rust-rusttype
rust-sce
rust-sct
rust-sct
rust-sct
rust-security-framework-sys
rust-security-framework
rust-sha-1
rust-sha2
rust-signal-hook
rust-statrs
rust-statrs
rust-structopt
rust-swc
rust-syntex-pos
rust-syn
rust-syn
rust-tendril
rust-test-case
rust-time-macros-impl
rust-time-macros
rust-tokio-core
rust-tokio-executor
rust-tokio-rustls
rust-tokio-rustls
rust-tokio-rustls
rust-tokio-rustls
rust-tokio-sync
rust-tokio
rust-tower-layer
rust-tracing-futures
rust-trust-dns-https
rust-trust-dns-https
rust-trust-dns-https
rust-trust-dns-rustls
rust-ufmt
rust-uint
rust-utf8-width
rust-uuid
rust-wayland-client
rust-wayland-client
rust-webpki-roots
rust-webpki
rust-webpki
rust-wyz
rust-wyz
savane
sbcl-chanl
sbcl-cl-ana
sbcl-radiance-contribs
sbcl-virality
scvelo
seed
sequeler
sfizz
shadowsocks
shakespeare-spl
shogun
siggen
simh
smalltalk
solidity
sound-juicer
squid
sshoot
stgit
stiff
subunit
sunxi-tools
surge-synth
swftools
tbb
tcalc
tcc
texlive-asymptote-by-example-zh-cn
texlive-asymptote-faq-zh-cn
texlive-getoptk
texlive-jura
texlive-kotex-oblivoir
texlive-latex-notes-zh-cn
texlive-lshort-chinese
texlive-parrun
texlive-qtree
texlive-stage
texlive-termmenu
texlive-texproposal
texlive-tikz-page
texlive-timetable
texlive-xistercian
tgl
the-butterfly-effect
tippecanoe
tootle
transanno
trezor-agent
tuxedo-keyboard
u-boot-nintendo-nes-classic-edition
uim-qt
undbx
unicorn
unknown-horizons
upx
usb-modeswitch
valeronoi
vapoursynth
variant-tools
vboot-utils
vbz-compression
verilator
veusz
vsftpd
vtk
vxl
warsow-qfusion
weex
withershins
wmfire
wpewebkit
x86_64-w64-mingw32.coreutils
x86_64-w64-mingw32.diffutils
x86_64-w64-mingw32.findutils
x86_64-w64-mingw32.gawk
x86_64-w64-mingw32.gcc
x86_64-w64-mingw32.gcc
x86_64-w64-mingw32.gcc
x86_64-w64-mingw32.gdb-minimal
x86_64-w64-mingw32.gettext
x86_64-w64-mingw32.glibc
x86_64-w64-mingw32.grep
x86_64-w64-mingw32.guile
x86_64-w64-mingw32.guix
x86_64-w64-mingw32.gzip
x86_64-w64-mingw32.patch
x86_64-w64-mingw32.sed
x86_64-w64-mingw32.xz
xen
xfig
xkcdpass
xnee
zathura-pdf-mupdf
zbackup
zig

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#65391: People need to report failing builds even though we have ci.guix.gnu.org for that
  2023-08-27  1:13 ` bug#65391: People need to report failing builds even though we have ci.guix.gnu.org for that 宋文武
@ 2023-08-27  3:38   ` Maxim Cournoyer
  2023-08-27  3:39   ` Maxim Cournoyer
  2023-08-27  4:30   ` Bruno Victal
  2 siblings, 0 replies; 5+ messages in thread
From: Maxim Cournoyer @ 2023-08-27  3:38 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel, Maxime Devos, 65391

Hello,

宋文武 <iyzsong@envs.net> writes:

> Maxime Devos <maximedevos@telenet.be> writes:
>
>> For example, naev used to work just fine, yet apparently it doesn't
>> anymore: https://issues.guix.gnu.org/65390.
>>
>> Given that Guix has ci.guix.gnu.org, I would expect such new problems
>> to be detected and resolved early, and it was detected by
>> ci.guix.gnu.org, yet going by issues.guix.gnu.org it was never even
>> investigated.
>
> Yes, honestly I only look for build failures from bug reports, not from
> CI if i'm not doing a "request for merge" from another branch.
>
>>
>> (Yes, there is a delay, but that doesn't matter at all, as there's
>> this dashboard <https://ci.guix.gnu.org/eval/668365/dashboard>.)
>
> I found the dashboard inconvenient to use, it show failures for both
> builds and dependencies in the same red color, and can't be searched.
> What I usually do is:
>
> 1. download the job status json with:
>   wget -O jobs.json 'https://ci.guix.gnu.org/api/jobs?evaluation=692229&system=x86_64-linux'
>
> 2. use jq to show package names with build failures:
>   cat jobs.json  | jq '. | map(select(.status == 1)) | .[].name' -r
>
> 3. select interested one to investigate (if doing merge, diff the failures from
> working branch with master).

Maybe we should open Cuirass feature requests on our bug tracker to
remember what would be valuable to implement.

>> Do people really need to report 33% of all jobs
>> (https://ci.guix.gnu.org/eval/668365/dashboard) before those failures
>> are taken seriously, instead of the ‘there don't seem to be that much
>> more build failures from the core-updates/... merge, let's solve them
>> later (i.e., never)’ that seems to be  status quo?
>
> Maybe we can automatically report the failures as bugs, say every 7
> days, and remove a package if it still fail to build in 90 days?

That's sounds reasonable to me.

> As for now, x86_64 master (eval 668365) has 696 build failures, 604
> dependencies failures, 30 unknown (canceld?) failures, total 1330
> failures according to the jobs.json data.
>
> Should we open a bug report for each of those 696 build failures?

I'm not against, though that sounds like a lot of work unless automated.

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: bug#65391: People need to report failing builds even though we have ci.guix.gnu.org for that
  2023-08-27  1:13 ` bug#65391: People need to report failing builds even though we have ci.guix.gnu.org for that 宋文武
  2023-08-27  3:38   ` Maxim Cournoyer
@ 2023-08-27  3:39   ` Maxim Cournoyer
  2023-08-27  4:30   ` Bruno Victal
  2 siblings, 0 replies; 5+ messages in thread
From: Maxim Cournoyer @ 2023-08-27  3:39 UTC (permalink / raw)
  To: 宋文武; +Cc: Maxime Devos, 65391, guix-devel

Hi again,

宋文武 <iyzsong@envs.net> writes:

> Maxime Devos <maximedevos@telenet.be> writes:
>
>> For example, naev used to work just fine, yet apparently it doesn't
>> anymore: https://issues.guix.gnu.org/65390.
>>
>> Given that Guix has ci.guix.gnu.org, I would expect such new problems
>> to be detected and resolved early, and it was detected by
>> ci.guix.gnu.org, yet going by issues.guix.gnu.org it was never even
>> investigated.
>
> Yes, honestly I only look for build failures from bug reports, not from
> CI if i'm not doing a "request for merge" from another branch.

Another idea I had was we could add some feature to Cuirass where it'd
notify a team (by email) when a package under their scope has been
broken on the master branch.

-- 
Thanks,
Maxim


^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#65391: People need to report failing builds even though we have ci.guix.gnu.org for that
  2023-08-27  1:13 ` bug#65391: People need to report failing builds even though we have ci.guix.gnu.org for that 宋文武
  2023-08-27  3:38   ` Maxim Cournoyer
  2023-08-27  3:39   ` Maxim Cournoyer
@ 2023-08-27  4:30   ` Bruno Victal
  2023-08-27 15:07     ` Giovanni Biscuolo
  2 siblings, 1 reply; 5+ messages in thread
From: Bruno Victal @ 2023-08-27  4:30 UTC (permalink / raw)
  To: 宋文武, Maxime Devos; +Cc: guix-devel, 65391

On 2023-08-27 02:13, 宋文武 wrote:
> Maybe we can automatically report the failures as bugs, say every 7
> days, and remove a package if it still fail to build in 90 days?

I'm not so sure about removing packages, personally if I'm in need of
a package that happens to be broken I find it easier to fix it given
that some work has already been put into writing the package definition
than starting from scratch.


-- 
Furthermore, I consider that nonfree software must be eradicated.

Cheers,
Bruno.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: bug#65391: People need to report failing builds even though we have ci.guix.gnu.org for that
  2023-08-27  4:30   ` Bruno Victal
@ 2023-08-27 15:07     ` Giovanni Biscuolo
  0 siblings, 0 replies; 5+ messages in thread
From: Giovanni Biscuolo @ 2023-08-27 15:07 UTC (permalink / raw)
  To: Bruno Victal, 宋文武, Maxime Devos; +Cc: 65391, guix-devel

[-- Attachment #1: Type: text/plain, Size: 874 bytes --]

Bruno Victal <mirai@makinata.eu> writes:

> On 2023-08-27 02:13, 宋文武 wrote:
>> Maybe we can automatically report the failures as bugs, say every 7
>> days, and remove a package if it still fail to build in 90 days?

maybe precedeed by an automated email notification (to guix-bugs) so
that interested people have the chance to step in and fix it?

> I'm not so sure about removing packages, personally if I'm in need of
> a package that happens to be broken I find it easier to fix it given
> that some work has already been put into writing the package definition
> than starting from scratch.

You don't need to start from scratch if you want, you just have to
checkout the right git commit (before the package was deleted) and start
from that, if needed: WDYT?

Happy hacking! Gio'

[...]

-- 
Giovanni Biscuolo

Xelera IT Infrastructures

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-08-27 15:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <295ef8c8-574a-4169-98f3-6d9aaeb773f1@telenet.be>
2023-08-27  1:13 ` bug#65391: People need to report failing builds even though we have ci.guix.gnu.org for that 宋文武
2023-08-27  3:38   ` Maxim Cournoyer
2023-08-27  3:39   ` Maxim Cournoyer
2023-08-27  4:30   ` Bruno Victal
2023-08-27 15:07     ` Giovanni Biscuolo

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).