Commit Graph

40 Commits

Author SHA1 Message Date
Marcus Schäfer
b1f8499a12
Drop ci-kiwi-9-compliant.yml
Delete this action as it existed in the intermediate state
prior the new major version v10.x.x
2024-03-06 10:21:38 +01:00
Neal Gompa
7125211f9b
Switch to Poetry and use pyproject.toml definitions
This allows kiwi to be built, developed, tested, and installed
through Poetry. This also raises the minimum Python version to 3.9.
2024-03-06 09:28:26 +01:00
Marcus Schäfer
65ff9ab4e5
Update v9 compliance action
put the cherry-pick tests into an extra script and
provide a skip list of commits for manual checking
if needed
2024-02-29 16:42:17 +01:00
Dan Čermák
48817a6441
Refactor Command class
Command.run() currently has a bit of a confusing behavior: if raise_on_error is
False and the executable is not found, then a weird CommandT is returned (return
code is -1 and stdout+stderr is None). This makes it possible to hanlde command
not found errors separately, but it makes that needlessly verbose. So instead,
let's just return None in *this* special case.

That in turn uncovered, that in most cases when we set `raise_on_error=True`, we
actually want an error if the command is not present but no error if the command
fails to execute (e.g. because it returns -1 if you run `$cmd --version`). Hence we
introduce the flag `raise_on_command_not_found`, which causes an exception to
be raised if the command is not found. This makes it independent of the
`raise_on_error` flag.

Additionally, we add a small optimization: if command starts with /, then we
assume it's a full path and we omit the call to which (and just check whether it
exists).

Co-authored-by: Marcus Schäfer <marcus.schaefer@gmail.com>
2024-02-19 16:33:24 +01:00
Marcus Schäfer
50dc597fb8
Allow empty cherry-picks for compliance test
If we cherry-pick from main to master the compliance check
will notice that a commit already exists. This is not an error
and we can allow to continue the picking via --allow-empty
2024-02-19 13:58:17 +01:00
Marcus Schäfer
3a444d9868
Don't run ci-kiwi-9-compliant action on forks 2024-02-14 09:50:08 +01:00
Marcus Schäfer
075a58dd6c
Apply different cherry-pick strategy
cherry picking merge commits is not easily possible. Thus get
the list of commits and check if it can be applied in a series
2024-01-12 20:03:51 +01:00
Marcus Schäfer
8e9e5ba16a
Add compliance action
Check if the commits of a pull request can be cherry-picked to
the master, which is the kiwi v9.x.x code stream.
2024-01-09 17:03:45 +01:00
Marcus Schäfer
a501f6c330
Move workflow runs to main branch
Make sure all github actions runs from main
2024-01-09 15:35:22 +01:00
Dan Čermák
eaa029332e
Use xdist on the CI to speed up the test runs 2023-12-28 13:52:32 +01:00
Dan Čermák
33b1c69096
Add unit test job using python 3.12 2023-12-28 13:51:52 +01:00
Dan Čermák
b2609243d8
Only run the job for this python environment 2023-12-28 13:51:19 +01:00
Dan Čermák
44a7a801a8
[ci] Switch runner to ubuntu-latest 2023-12-28 13:49:31 +01:00
Marcus Schäfer
a0ce75dad4
Cleanup tox targets
Align tox targets with github workflows and fix targets
not associated with a specific python version to use
the python3 version installed on the host
2023-12-17 20:33:43 +01:00
Marcus Schäfer
854240a915
Update pypi release to trusted workflow 2023-10-08 18:19:47 +02:00
Tom Schraitle
9642d138fd Update GitHub Actions "actions/*" part
Update to the latest versions:

* actions/checkout@v3
* action/setup-python@v4
* action/cache@v3
2023-08-10 14:34:16 +02:00
Marcus Schäfer
45d64fd690
Fixed linter errors
Latest changes regarding type hints introduced linter errors.
Also adapt the workflow run which is expected to detect them
2023-08-01 09:25:59 +02:00
Marcus Schäfer
94b983a1e9
Fixed workflow interpreter name
Specifying py 3.10 has to be quoted
2023-07-31 21:21:48 +02:00
Marcus Schäfer
2ee63cf399
Fixed doc publishing
The github action to do this was still based on py3.6
but the latest changes on tox.ini requires a newer version
of tox which doesn't exist for py3.6. Thus run the workflow
on a newer python version
2023-07-31 21:16:41 +02:00
Neal Gompa
6db103f3e6
Merge pull request #2283 from OSInside/fix_fedora_iso_efi_boot
Fixed Fedora prebuild EFI binary lookup
2023-06-14 04:38:04 -04:00
Marcus Schäfer
07def68e7c
Delete score card
Too flaky, broken most of the time and I'm not sure
how much value it adds to the project overall
2023-04-24 23:48:34 +02:00
Marcus Schäfer
1ebed3abb9
Fix score card action 2023-04-24 23:46:43 +02:00
Marcus Schäfer
a594d5f2e7
Fix workflow run 2023-04-18 20:33:29 +02:00
Marcus Schäfer
02588143fc
Stick with tox v3.28.0 for unit testing
tox >= 3.0.15 together with virtualenv >= 20.17.1 raises
strange incompatibilities and prevents the unit test run
because tox calls virtualenv in a wrong way leading to
strange error messages like:
---
usage: virtualenv ...
virtualenv: error: argument dest: destination '{check,devel,packagedoc,doc,doc_gh_pages,doc_suse,doc_man,scripts,}: /home/runner/work/kiwi/kiwi/.tox/3\n/home/runner/work/kiwi/kiwi/.tox/3.8' must not contain the path separator (:) as this would break the activation scripts
---
All this doesn't make sense to me at all and worked
without any issues before.
2022-12-20 18:58:10 +01:00
Marcus Schäfer
54e5c9739b
Fix gh-pages publish 2022-12-20 18:28:51 +01:00
Marcus Schäfer
afde2034c9
Fix publish to pypi
bind gh-action module to v1 release
2022-12-11 20:15:24 +01:00
Marcus Schäfer
8bfdc9bba4
Use ubuntu-20.04 as github hosted runner
It seems on ubuntu-latest no python 3.6 is available anymore
2022-12-10 21:35:19 +01:00
Jan Macku
dd413ed9c6 ci(lint): Add Shell linter - Differential Shellcheck 2022-09-02 08:41:49 +02:00
Marcus Schäfer
54c1951b3e
Update cron for security scorecard
Run weekly on Saturdays
2022-03-06 16:03:13 +01:00
Marcus Schäfer
18ee364c64
Update to scorecard CI 1.0.4 2022-02-23 09:27:11 +01:00
Marcus Schäfer
fade2a20c1
Create ci-scorecards-analysis.yml
Create security health metrics score card
2022-02-10 14:17:29 +01:00
Marcus Schäfer
3fb4271cba
Fixed name of secret variable
The ci-update-build-tests action used a wrong variable
name which does not exist in the github secrets. This
commit fixes it and uses the correct variable name
2022-02-07 22:15:25 +01:00
Marcus Schäfer
db1288cab1
Automate build-tests OBS service refresh
This commit provides a new github action which sends
API requests to the OBS api to refresh the source
services for the integration tests on the OBS server
side. This Fixes #1980
2022-01-13 17:16:20 +01:00
Dan Čermák
fe7b1b1566
Only trigger functions workflow on certain paths 2021-11-09 14:49:18 +01:00
Dan Čermák
c7af839c51
Re-enable functions integration tests once again 2021-11-09 14:35:43 +01:00
Marcus Schäfer
255d6d64f9 Added python 3.9, 3.10 to test workflow 2021-11-08 14:46:30 -05:00
Marcus Schäfer
1f886228a0
Disable config functions testing
It happens too often that the failure on running the
container causes failed results which are not actually
failures. I have hope that #1944 stabilize this
2021-11-03 13:31:17 +01:00
Marcus Schäfer
a6d0b2f14b
Moved pages and pypi publish to github actions
Moved gh-pages doc update and pypi upload from gitlab
to github actions
2021-09-21 18:42:18 +02:00
Marcus Schäfer
80d7b5b62d
Start moving CI test from gitlab to actions
Moving the linter and unit tests to github workflows and
out of the gitlab CI system has the advantage that pull
request from forked repos will run the tests. In the long
run I think we should move away completely from gitlab CI
and use github actions as this will reduce the number of
external services used in the kiwi project. This commit
starts with the most simple parts: unit and type tests,
doc rendering and code style
2021-09-02 16:59:55 +02:00
Dan Čermák
0511838c1b
Functions integration tests (#1851)
Add integration tests for functions.sh

Implement a container based test system to run shell code for testing.
The concept utilizes pytest-testinfra and runs a container per test.
The nested container in a container feature is supported by the github
actions workflow. Thus the integration of this testing concept runs in
the github actions CI rather than on gitlab
2021-06-21 15:03:13 +02:00