"Fossies" - the Fresh Open Source Software Archive

Member "nnn-4.4/.circleci/config.yml" (23 Nov 2021, 4118 Bytes) of package /linux/misc/nnn-v4.4.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Ansible YAML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "config.yml": v4.3_vs_v4.4.

    1 version: 2
    2 
    3 jobs:
    4   compile:
    5     docker:
    6       - image: ubuntu:20.04
    7         working_directory: ~/nnn
    8         environment:
    9           CI_FORCE_TEST: 1
   10     steps:
   11       - run:
   12           command: |
   13             apt update -qq
   14             DEBIAN_FRONTEND="noninteractive" TZ="America/New_York" apt-get -y install tzdata
   15             apt install -y --no-install-recommends software-properties-common wget gpg-agent shellcheck
   16             apt install -y --no-install-recommends git make pkg-config libncurses-dev libreadline-dev
   17             apt install -y --no-install-recommends gcc-7 gcc-8 gcc-9 gcc-10
   18             apt install -y --no-install-recommends clang-6.0 clang-7 clang-8 clang-9 clang-10 clang-11 clang-tidy-11
   19       - checkout
   20       - run:
   21           command: |
   22             export CFLAGS=-Werror
   23             make clean
   24             echo
   25             echo "########## gcc-7 ##########"
   26             CC=gcc-7 make strip
   27             ls -l nnn
   28             make clean
   29             echo
   30             echo "########## gcc-8 ##########"
   31             CC=gcc-8 make strip
   32             ls -l nnn
   33             make clean
   34             echo
   35             echo "########## gcc-9 ##########"
   36             CC=gcc-9 make strip
   37             ls -l nnn
   38             make clean
   39             echo
   40             echo "########## gcc-10 ##########"
   41             CC=gcc-10 make strip
   42             ls -l nnn
   43             make clean
   44             echo
   45             echo "########## clang-6 ##########"
   46             CC=clang-6.0 make strip
   47             ls -l nnn
   48             make clean
   49             echo
   50             echo "########## clang-7 ##########"
   51             CC=clang-7 make strip
   52             ls -l nnn
   53             make clean
   54             echo
   55             echo "########## clang-8 ##########"
   56             CC=clang-8 make strip
   57             ls -l nnn
   58             make clean
   59             echo
   60             echo "########## clang-9 ##########"
   61             CC=clang-9 make strip
   62             ls -l nnn
   63             make clean
   64             echo
   65             echo "########## clang-10 ##########"
   66             CC=clang-10 make strip
   67             ls -l nnn
   68             make clean
   69             echo
   70             echo "########## clang-11 ##########"
   71             CC=clang-11 make strip
   72             ls -l nnn
   73             make clean
   74             echo
   75             echo "########## clang-tidy-11 ##########"
   76             clang-tidy-11 src/* -- -I/usr/include -I/usr/include/ncursesw
   77             echo "########## shellcheck ##########"
   78             find plugins/ -type f -not -name "*.md" -exec shellcheck -e SC1090,SC2230 {} +
   79 
   80   package-and-publish:
   81     machine: true
   82     working_directory: ~/nnn
   83     steps:
   84       - checkout
   85       - run:
   86           name: "auto-generate packages"
   87           command: |
   88             # Create dist directory if it doesn't exist
   89             mkdir ./dist
   90             # Clean up
   91             rm -rf ./dist/*
   92             # Pack source
   93             git archive -o ../${CIRCLE_PROJECT_REPONAME}-${CIRCLE_TAG}.tar.gz --format tar.gz --prefix=${CIRCLE_PROJECT_REPONAME}-${CIRCLE_TAG#v}/ ${CIRCLE_TAG}
   94             # Use latest installed python3 from pyenv
   95             export PYENV_VERSION="$(pyenv versions | grep -Po '\b3\.\d+\.\d+' | tail -1)"
   96             #pip install packagecore
   97             #packagecore -c misc/packagecore/packagecore.yaml -o ./dist/ ${CIRCLE_TAG#v}
   98             # Move source pack to dist
   99             mv ../${CIRCLE_PROJECT_REPONAME}-${CIRCLE_TAG}.tar.gz ./dist/
  100 
  101       - run:
  102           name: "publish to GitHub"
  103           command: |
  104             go get github.com/tcnksm/ghr
  105             ghr -t ${GITHUB_API_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -replace ${CIRCLE_TAG} ./dist/
  106 
  107 workflows:
  108   version: 2
  109 
  110   test:
  111     jobs: &all-tests
  112       - compile
  113 
  114   nightly:
  115     triggers:
  116       - schedule:
  117           cron: "0 0 * * 6"
  118           filters:
  119             branches:
  120               only:
  121                 - master
  122     jobs: *all-tests
  123 
  124   publish-github-release:
  125     jobs:
  126       - package-and-publish:
  127           filters:
  128             tags:
  129               only: /^v.*/
  130             branches:
  131               ignore: /.*/