image: registry.gitlab.com/etherlab.org/build-container-factory/leap-15.3:linux-syms stages: - build - test - doc - deploy build: stage: build script: - ./bootstrap - ./configure --with-linux-dir=/usr/src/linux-obj/$(uname -i)/default --enable-tty --with-devices=2 --enable-ccat - make -j8 all modules - make DISTCHECK_CONFIGURE_FLAGS="--with-linux-dir=/usr/src/linux-obj/$(uname -i)/default" distcheck - make dist - mkdir test_dist && cd test_dist && tar xzf ../ethercat-*.tar.gz && cd ethercat-*/ - mkdir build && cd build - ../configure --with-linux-dir=/usr/src/linux-obj/$(uname -i)/default --disable-8139too --enable-tty --with-devices=2 --enable-ccat - make -j8 all modules # Build ethercat tool subcommand help output for documentation commands: stage: build script: - ./bootstrap - ./configure --disable-kernel --disable-userlib - make -j8 all - mkdir documentation/external - make -C documentation ext artifacts: paths: - script/init.d/ethercat - script/ethercat.service - tool/ethercat - documentation/external/ test cmake: stage: test script: - ./bootstrap - ./configure --prefix=/tmp/ethercat_test_dir --disable-kernel - make -j8 install - cd examples/user - mkdir build && cd build - cmake -DCMAKE_PREFIX_PATH=/tmp/ethercat_test_dir -DCMAKE_BUILD_TYPE=Release .. - make - ldd userexample # This job is collected by the EtherLab Documentation project. # It must be named 'doxygen' and must produce an artifact with a 'html' # directory directly containing the doxygen index HTML. doxygen: stage: doc variables: GIT_SUBMODULE_STRATEGY: recursive script: - ./bootstrap - ./configure --with-linux-dir=/usr/src/linux-obj/$(uname -i)/default --enable-tty --with-devices=2 --enable-ccat - make doc - mv doxygen-output/html/ html/ artifacts: paths: - html/ # This job is collected by the EtherLab Documentation project. # It must be named 'pdf' and must produce a 'pdf' directory as an artifact. # All PDF files in this directory will be collected. pdf: stage: doc image: registry.gitlab.com/etherlab.org/build-container-factory/leap-15.3:texlive script: - cd documentation - git show -s --format="\def\revision{%h}\def\gitversion{%(describe)}\def\gitauthor{%an}\def\isodate#1-#2-#3x{\day=#3 \month=#2 \year=#1}\isodate %csx" HEAD > git.tex - make - make index - make - mkdir ../pdf - mv *.pdf ../pdf artifacts: paths: - pdf/ # Trigger EtherLab Documentation project to update https://docs.etherlab.org update docs server: stage: deploy rules: - if: $CI_COMMIT_BRANCH == "stable-1.5" && $CI_PROJECT_NAMESPACE == "etherlab.org" trigger: etherlab.org/docs # from 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml', but on all branches workflow: rules: - if: $CI_MERGE_REQUEST_IID - if: $CI_COMMIT_TAG - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH == "stable-1.5"