mirror of
https://github.com/espressif/esp-lwip.git
synced 2026-06-05 21:04:45 +00:00
116 lines
3.8 KiB
YAML
116 lines
3.8 KiB
YAML
stages:
|
|
- host_test
|
|
- deploy
|
|
|
|
image: ${CI_DOCKER_REGISTRY}/esp-env-v5.0:2
|
|
|
|
variables:
|
|
LWIP_CONTRIB_TAG: STABLE-2_1_0_RELEASE
|
|
CONTRIB: contrib-2.1.0
|
|
CMAKE_SH: cmake-3.22.3-linux-x86_64.sh
|
|
CC: cc
|
|
|
|
before_script:
|
|
# Use CI Tools
|
|
- curl -sSL ${CIT_LOADER_URL} | sh
|
|
- source citools/import_functions
|
|
|
|
.get_cmake: &get_cmake |
|
|
wget -q https://github.com/Kitware/CMake/releases/download/v3.22.3/${CMAKE_SH}
|
|
mkdir -p /opt/cmake && sh ${CMAKE_SH} --prefix=/opt/cmake --skip-license
|
|
export PATH=/opt/cmake/bin:$PATH
|
|
|
|
.get_contrib: &get_contrib |
|
|
mkdir -p ~/.ssh
|
|
chmod 700 ~/.ssh
|
|
echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64
|
|
base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
|
|
chmod 600 ~/.ssh/id_rsa
|
|
echo -e "Host ${GITLAB_HOSTNAME}\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
|
|
git clone "${LWIP_CONTRIB_MIRROR}" ${CONTRIB} && cd ${CONTRIB} && git checkout tags/${LWIP_CONTRIB_TAG}
|
|
cd .. && sed -i $'s/\r$//' test/contrib-2.1.0.patch && patch -s -p0 < test/${CONTRIB}.patch
|
|
|
|
run_unittests:
|
|
stage: host_test
|
|
tags:
|
|
- host_test
|
|
dependencies: []
|
|
script:
|
|
- *get_contrib
|
|
- export LWIPDIR=../../../../src && cd ${CONTRIB}/ports/unix/check
|
|
# build and run default lwip tests (ESP_LWIP=0!)
|
|
- make -j 4 check
|
|
# retest with ESP_LWIP patches
|
|
- make clean
|
|
- export EXTRA_CFLAGS="-DESP_LWIP=1" && export CC="${CC} $EXTRA_CFLAGS"
|
|
- make -j 4 check
|
|
# retest with IP_FORWARD enabled
|
|
- make clean
|
|
- export EXTRA_CFLAGS="-DESP_LWIP=1 -DIP_FORWARD=1" && export CC="${CC} $EXTRA_CFLAGS"
|
|
- make -j 4 check
|
|
# retest with IP_FORWARD and IP_NAPT enabled
|
|
- make clean
|
|
- export EXTRA_CFLAGS="-DESP_LWIP=1 -DIP_FORWARD=1 -DIP_NAPT=1 -DLWIP_ARCH_CC_H -include cc_esp_platform.h" && export CC="${CC} $EXTRA_CFLAGS"
|
|
- make -j 4 check
|
|
# Please uncomment the below to test IP_FORWARD/IP_NAPT tests with debug output (only ip4_route test suite will be executed)
|
|
#- make clean
|
|
#- export EXTRA_CFLAGS="-DESP_LWIP=1 -DIP_FORWARD=1 -DESP_TEST_DEBUG=1 -DIP_NAPT=1 -DLWIP_ARCH_CC_H -include cc_esp_platform.h" && export CC="${CC} $EXTRA_CFLAGS"
|
|
#- make -j 4 check
|
|
|
|
run_unittests_cmake:
|
|
stage: host_test
|
|
tags:
|
|
- host_test
|
|
script:
|
|
- *get_contrib
|
|
- *get_cmake
|
|
- cd ${CONTRIB}/ports/unix/check
|
|
- mkdir build && cd build && cmake -DLWIP_DIR=`pwd`/../../../../.. .. -G Ninja
|
|
- cmake --build . && ./lwip_unittests
|
|
|
|
build_all:
|
|
stage: host_test
|
|
tags:
|
|
- host_test
|
|
script:
|
|
- *get_cmake
|
|
- mkdir build && cd build && cmake .. -G Ninja
|
|
- cmake --build .
|
|
- cmake --build . --target lwipdocs
|
|
|
|
validate_opts:
|
|
stage: host_test
|
|
tags:
|
|
- host_test
|
|
script:
|
|
- *get_contrib
|
|
- cp ${CONTRIB}/examples/example_app/lwipcfg.h.example ${CONTRIB}/examples/example_app/lwipcfg.h
|
|
- cd ${CONTRIB}/ports/unix/example_app
|
|
- export CFLAGS="-DESP_LWIP=LWIP_NETCONN_FULLDUPLEX -DESP_LWIP_IGMP_TIMERS_ONDEMAND=ESP_LWIP -DESP_LWIP_MLD6_TIMERS_ONDEMAND=ESP_LWIP -DESP_DNS=ESP_LWIP"
|
|
- export LWIPDIR=../../../../src/
|
|
- chmod +x iteropts.sh && ./iteropts.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
|
|
only:
|
|
- 2.1.2-esp
|
|
- 2.1.3-esp-dev
|
|
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}"
|
|
|