Files
esp-lwip/.gitlab-ci.yml
T
David Cermak a4e2409d0d ci: Add jira sync github workflows
also adds a specific tag to gitlab-ci job
2026-05-18 15:58:45 +08:00

85 lines
1.9 KiB
YAML

stages:
- host_test
- deploy
image: espressif/idf:latest
variables:
CC: cc
before_script:
# Use CI Tools
- curl -sSL ${CIT_LOADER_URL} | sh
- source citools/import_functions
- if [ "$CC" == "clang" ]; then apt update -y && apt install -y clang; fi
.get_doxygen: &get_doxygen |
apt update -y && apt install -y doxygen
run_unittests:
stage: host_test
tags:
- host_test
parallel:
matrix:
- CC: [cc, clang]
dependencies: []
script:
- ./test/ci/unit_tests.sh
build_all:
stage: host_test
tags:
- host_test
parallel:
matrix:
- CC: [cc, clang]
script:
- *get_doxygen
- cp contrib/examples/example_app/lwipcfg.h.ci contrib/examples/example_app/lwipcfg.h
- mkdir build && cd build && cmake .. -G Ninja
- cmake --build .
- cmake --build . --target lwipdocs
validate_opts:
stage: host_test
tags:
- host_test
script:
- ./test/ci/validate_opts.sh
run_test_apps:
stage: host_test
tags:
- host_test
parallel:
matrix:
- CC: [cc, clang]
script:
- ./test/ci/test_apps.sh
.add_gh_key_remote: &add_gh_key_remote |
command -v ssh-agent >/dev/null || exit 1
eval $(ssh-agent -s)
printf '%s\n' "${GH_PUSH_KEY}" | tr -d '\r' | ssh-add - > /dev/null
mkdir -p ~/.ssh && chmod 700 ~/.ssh
[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config || ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
git remote remove github || true
git remote add github ${GH_PUSH_REPO}
push_master_to_github:
stage: deploy
tags:
- github_sync
only:
- 2.1.2-esp
- 2.1.3-esp
- 2.2.0-esp
when: on_success
variables:
GIT_STRATEGY: clone
script:
- *add_gh_key_remote
- "[ -n \"${CI_COMMIT_TAG:-}\" ] && git push github ${CI_COMMIT_TAG}"
- "[ -z \"${CI_COMMIT_TAG:-}\" ] && git push github ${CI_COMMIT_SHA}:refs/heads/${CI_COMMIT_REF_NAME}"