CI: allow jobs to be run in merge requests

Out-of-tree users could run an out-of-tree CI with limited coverage,
however it is convenient to be able to run the upstream CI from time
to time. To enable that we would need to change job rules to be able
to run on any GitLab event. Excerpt from GitLab documentation:

> Jobs with no rules default to except: merge_requests

Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Andrejs Cainikovs 2023-09-13 16:15:36 +02:00 committed by Tom Rini
parent 4c18175413
commit 399f739be6

View file

@ -21,6 +21,8 @@ stages:
.buildman_and_testpy_template: &buildman_and_testpy_dfn .buildman_and_testpy_template: &buildman_and_testpy_dfn
stage: test.py stage: test.py
retry: 2 # QEMU may be too slow, etc. retry: 2 # QEMU may be too slow, etc.
rules:
- when: always
before_script: before_script:
# Clone uboot-test-hooks # Clone uboot-test-hooks
- git config --global --add safe.directory "${CI_PROJECT_DIR}" - git config --global --add safe.directory "${CI_PROJECT_DIR}"
@ -93,8 +95,13 @@ stages:
- "*.css" - "*.css"
expire_in: 1 week expire_in: 1 week
build all 32bit ARM platforms: .world_build:
stage: world build stage: world build
rules:
- when: always
build all 32bit ARM platforms:
extends: .world_build
script: script:
- ret=0; - ret=0;
git config --global --add safe.directory "${CI_PROJECT_DIR}"; git config --global --add safe.directory "${CI_PROJECT_DIR}";
@ -106,7 +113,7 @@ build all 32bit ARM platforms:
fi; fi;
build all 64bit ARM platforms: build all 64bit ARM platforms:
stage: world build extends: .world_build
script: script:
- virtualenv -p /usr/bin/python3 /tmp/venv - virtualenv -p /usr/bin/python3 /tmp/venv
- . /tmp/venv/bin/activate - . /tmp/venv/bin/activate
@ -120,7 +127,7 @@ build all 64bit ARM platforms:
fi; fi;
build all PowerPC platforms: build all PowerPC platforms:
stage: world build extends: .world_build
script: script:
- ret=0; - ret=0;
git config --global --add safe.directory "${CI_PROJECT_DIR}"; git config --global --add safe.directory "${CI_PROJECT_DIR}";
@ -131,7 +138,7 @@ build all PowerPC platforms:
fi; fi;
build all other platforms: build all other platforms:
stage: world build extends: .world_build
script: script:
- ret=0; - ret=0;
git config --global --add safe.directory "${CI_PROJECT_DIR}"; git config --global --add safe.directory "${CI_PROJECT_DIR}";
@ -141,8 +148,13 @@ build all other platforms:
exit $ret; exit $ret;
fi; fi;
check for new CONFIG symbols outside Kconfig: .testsuites:
stage: testsuites stage: testsuites
rules:
- when: always
check for new CONFIG symbols outside Kconfig:
extends: .testsuites
script: script:
- git config --global --add safe.directory "${CI_PROJECT_DIR}" - git config --global --add safe.directory "${CI_PROJECT_DIR}"
# If grep succeeds and finds a match the test fails as we should # If grep succeeds and finds a match the test fails as we should
@ -153,7 +165,7 @@ check for new CONFIG symbols outside Kconfig:
# build documentation # build documentation
docs: docs:
stage: testsuites extends: .testsuites
script: script:
- virtualenv -p /usr/bin/python3 /tmp/venvhtml - virtualenv -p /usr/bin/python3 /tmp/venvhtml
- . /tmp/venvhtml/bin/activate - . /tmp/venvhtml/bin/activate
@ -163,20 +175,20 @@ docs:
# ensure all configs have MAINTAINERS entries # ensure all configs have MAINTAINERS entries
Check for configs without MAINTAINERS entry: Check for configs without MAINTAINERS entry:
stage: testsuites extends: .testsuites
script: script:
- ./tools/buildman/buildman --maintainer-check || exit 0 - ./tools/buildman/buildman --maintainer-check || exit 0
# Ensure host tools build # Ensure host tools build
Build tools-only and envtools: Build tools-only and envtools:
stage: testsuites extends: .testsuites
script: script:
- make tools-only_config tools-only -j$(nproc); - make tools-only_config tools-only -j$(nproc);
make mrproper; make mrproper;
make tools-only_config envtools -j$(nproc) make tools-only_config envtools -j$(nproc)
Run binman, buildman, dtoc, Kconfig and patman testsuites: Run binman, buildman, dtoc, Kconfig and patman testsuites:
stage: testsuites extends: .testsuites
script: script:
- git config --global user.name "GitLab CI Runner"; - git config --global user.name "GitLab CI Runner";
git config --global user.email trini@konsulko.com; git config --global user.email trini@konsulko.com;
@ -200,7 +212,7 @@ Run binman, buildman, dtoc, Kconfig and patman testsuites:
make testconfig make testconfig
Run tests for Nokia RX-51 (aka N900): Run tests for Nokia RX-51 (aka N900):
stage: testsuites extends: .testsuites
script: script:
- mkdir nokia_rx51_tmp; - mkdir nokia_rx51_tmp;
ln -s /opt/nokia/u-boot-gen-combined nokia_rx51_tmp/; ln -s /opt/nokia/u-boot-gen-combined nokia_rx51_tmp/;
@ -214,7 +226,7 @@ Run tests for Nokia RX-51 (aka N900):
# Check for any pylint regressions # Check for any pylint regressions
Run pylint: Run pylint:
stage: testsuites extends: .testsuites
script: script:
- git config --global --add safe.directory "${CI_PROJECT_DIR}" - git config --global --add safe.directory "${CI_PROJECT_DIR}"
- pip install -r test/py/requirements.txt - pip install -r test/py/requirements.txt
@ -234,7 +246,7 @@ Run pylint:
# Check for pre-schema driver model tags # Check for pre-schema driver model tags
Check for pre-schema tags: Check for pre-schema tags:
stage: testsuites extends: .testsuites
script: script:
- git config --global --add safe.directory "${CI_PROJECT_DIR}"; - git config --global --add safe.directory "${CI_PROJECT_DIR}";
# If grep succeeds and finds a match the test fails as we should # If grep succeeds and finds a match the test fails as we should
@ -243,7 +255,7 @@ Check for pre-schema tags:
# Check we can package the Python tools # Check we can package the Python tools
Check packing of Python tools: Check packing of Python tools:
stage: testsuites extends: .testsuites
script: script:
- make pip - make pip