Git pre-received hook not failing with exit code 1 correcly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Heya!

I am trying to understand why my pre-publish hook does not exit with the
correct status code. 

I have a pre-publish script

```
#!/bin/sh
set -euo pipefail
echo "Testing nixos config"
nixos-rebuild dry-build
echo "Success"
```

Running it directly in my CLI, it acts like I would expect and return
exit code 1.

```
$ ./.git/hooks/pre-receive
Testing nixos config
building the system configuration...
error:
       … while calling the 'seq' builtin
       ....
       ...

$ echo "$?"
1
```

However, when running the script as a pre-receive hook, it is not
running the commands correctly and returns the wrong exit code. I get
the following:

```
remote: Testing nixos config
remote: building the system configuration...
remote: Success <-- ????
remote: error:
remote:        … while calling the 'seq' builtin
...
To myserver:/myrepo
   bffa94e..a14b3f6  main -> main
```

Any clue what I am missing? When running it as a pre-receive hook, the
failing command returns exit code 0. Running it in the CLI, it returns
exit code 1. It is Schrodinger's exit code.

Thank you so much for your help.

Sincerely,
Marc






[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux