Commit Graph

8 Commits

Author SHA1 Message Date
Alois Klink 18d3c529fa github-ci: error on any shell errors
Enable `errexit` and `nounset` [POSIX shell options][1]
in `.github/workflows/entrypoint.sh` so that the script fails
if any command within the script fails.

[1]: https://pubs.opengroup.org/onlinepubs/9699919799//utilities/V3_chap02.html#set

Reported-by: Marius Dinu <m95d+git@psihoexpert.ro>
Fixes: https://github.com/openwrt/packages/issues/19953
Signed-off-by: Alois Klink <alois@aloisklink.com>
2022-12-08 10:55:52 +01:00
Michael Heimpold 05a3011b00 github-ci: fix small typo
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
2021-09-28 07:42:38 +02:00
Josef Schlehofer afca2f2a71 CI: fix grammar typo when test is succesful
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2020-10-16 08:15:53 -10:00
Michal Hrusecky 7951e29297 CI: Export few helpful variables for CI tests
Export PKG_NAME and PKG_VERSION to make test scripts better readable
and also export a path to the helper script providing colorful output.

Signed-off-by: Michal Hrusecky <michal.hrusecky@turris.com>
2020-10-10 11:16:13 -10:00
Paul Spooren 014e02ab07 CI: use PKG_SOURCE instead of PKG_NAME
The PKG_NAME is the installable name of a package while PKG_SOURCE is
the folder containig both `Makefile` and possibliy `test.sh`

This approach previously worked for packages where both NAME and SOURCE
are the same, e.g. `vim`, however fore more complex packages like
`mariadb` (SOURCE) the NAMES are partly
*mariadb-server-plugin-handlersocket*, which is no existing folder.

With this commit the `PKG_SOURCE` is used to find the `test.sh` script.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-10-01 23:39:04 -10:00
Rosen Penev 836b4e1c73
github-ci: add --force-removal-of-dependent-packages
Without this option, a package gets installed with its dependencies
but those do not get removed, causing issues later on with other
packages.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-09-19 00:16:45 -07:00
Paul Spooren 4f4207be0c CI: pass only VERSION to test.sh
Currently the passed VERSION includes the release, which is usually not
part of the compiled binary. Removing it simplifies the `grep` command
to check for correct package output during runtime tests.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-09-17 22:19:49 -10:00
Paul Spooren da111fd095 CI: add runtime tests for packages
Additional to manual runtime tests this CI addition runs a custom test
script per package. Ideally this lowers the errors of package bumps,
something which is time consuming when done manually for multiple
architectures.

This CI uses the official OpenWrt containers and tries to install and
run compiled packages. The run depends on the content of `test.sh`,
which is an `ash` script. It's called with the *packge name* and
*package version* as arguments. This allows different behaviour if
a single package generates multiple IPK files. The version is usable for
the most trivial runtime check, e.g. `tmux -V | grep "$2"`.

The current approach uses the qus project[1] which contains multiple
QEMU binaries to run various architectures.

[1]: https://github.com/dbhi/qus

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-09-16 10:40:16 -10:00