Re: [PATCH gnumach] CI: Email failures to commit-hurd
Samuel Thibault <[email protected]> Mon, 3 Aug 2026 20:41:58 +0200
| Newsgroups | gmane.os.hurd.bugs |
|---|---|
| Organization | I am not organized |
| Message-ID | <anDg9q5S4kmIzfD0@end> |
Hello,
Applied, thanks!
Samuel
Damien Zammit, le lun. 03 août 2026 11:43:04 +0000, a ecrit:
> This will email gzipped error logs to commit-hurd AT gnu.org from any
> forgejo instance set up as a mirror. This is facilitated by
> not specifying any domain or user specific configuration, but to
> execute the mailing code path, the repository must be called "gnumach"
> and the branch that was synced be "master".
> If the mail command is not configured in the CI, it will simply fail
> to send mail and the failing test will not be reported.
> Since there is only one instance currently set up, we won't get
> duplicated reports.
>
> ---
> .forgejo/workflows/action.yaml | 39 ++++++++++++++++++++++++++++------
> 1 file changed, 33 insertions(+), 6 deletions(-)
>
> diff --git a/.forgejo/workflows/action.yaml b/.forgejo/workflows/action.yaml
> index ef3ed81d..6ea930b3 100644
> --- a/.forgejo/workflows/action.yaml
> +++ b/.forgejo/workflows/action.yaml
> @@ -52,8 +52,22 @@ jobs:
> --disable-linux-groups \
> ${{ matrix.platform }} \
> ${{ matrix.kdb }}
> - make gnumach.gz
> - make VERBOSE=true check
> + set -o pipefail
> + make gnumach.gz 2>&1 | tee ../error.log
> + make VERBOSE=true check 2>&1 | tee ../error.log
> +
> + - name: Email failures
> + if: failure()
> + run: |
> + echo "CI failure: gnumach i386 on commit ${{ forgejo.SHA }} with options ${{ matrix.platform }} ${{ matrix.kdb }}"
> + if [ `basename ${{ forgejo.REPOSITORY }}` == "gnumach" ] && [ ${{ forgejo.REF_NAME }} == "master" ]; then
> + gzip -9 error.log
> + echo "CI failure: gnumach i386 master on commit ${{ forgejo.SHA }} with options ${{ matrix.platform }} ${{ matrix.kdb }}" | \
> + mail -a error.log.gz -s "[CI fail]: gnumach i386 ${{ forgejo.SHA }} (${{ matrix.platform }} ${{ matrix.kdb }})" \
> + [email protected]
> + fi
> + exit 1
> +
> x86_64:
> runs-on: self
> strategy:
> @@ -101,9 +115,10 @@ jobs:
> TARGET_CPPFLAGS=-I"$GNU"/include TARGET_CC=x86_64-linux-gnu-gcc ../configure --prefix="$GNU" --target=x86_64-gnu
> make all install
> cd ../..
> + mkdir gnu32
> + GNU32=$(realpath gnu32)
> if [ "$USER_H" == "i686" ]; then
> # We need i386 headers to build mig 32bit
> - mkdir gnu32
> mkdir build32
> cd build32
> ../configure --prefix= --host=i686-gnu LD="x86_64-linux-gnu-ld -melf_i386" CC="x86_64-linux-gnu-gcc -m32" \
> @@ -115,7 +130,6 @@ jobs:
> cd mig
> mkdir build32
> cd build32
> - GNU32=$(realpath ../../gnu32)
> TARGET_CPPFLAGS=-I"$GNU32"/include TARGET_CC="x86_64-linux-gnu-gcc -m32" TARGET_LD="x86_64-linux-gnu-ld -melf_i386" ../configure --prefix="$GNU32" --target=i686-gnu
> make all install
> cd ../..
> @@ -130,5 +144,18 @@ jobs:
> ${{ matrix.platform }} \
> ${{ matrix.user32 }} \
> ${{ matrix.kdb }}
> - make gnumach.gz
> - make VERBOSE=true check
> + set -o pipefail
> + make gnumach.gz 2>&1 | tee ../error.log
> + make VERBOSE=true check 2>&1 | tee ../error.log
> +
> + - name: Email failures
> + if: failure()
> + run: |
> + echo "CI failure: gnumach amd64 on commit ${{ forgejo.SHA }} with options ${{ matrix.platform }} ${{ matrix.user32 }} ${{ matrix.kdb }}"
> + if [ `basename ${{ forgejo.REPOSITORY }}` == "gnumach" ] && [ ${{ forgejo.REF_NAME }} == "master" ]; then
> + gzip -9 error.log
> + echo "CI failure: gnumach amd64 master on commit ${{ forgejo.SHA }} with options ${{ matrix.platform }} ${{ matrix.user32 }} ${{ matrix.kdb }}" | \
> + mail -a error.log.gz -s "[CI fail]: gnumach amd64 ${{ forgejo.SHA }} (${{ matrix.platform }} ${{ matrix.user32 }} ${{ matrix.kdb }})" \
> + [email protected]
> + fi
> + exit 1
> --
> 2.51.0
>
>
>
--
Samuel
<S> KK1 a 1 conseil de comment s'attaquer a du code java ou ya plus de 50 classes ? par kel bout ?
<B> le troisième
-+- #ens-mim en stage -+-