version: 2 jobs: build_x86_64: working_directory: ~/v4l2rtspServer docker: - image: heroku/heroku:16 steps: - checkout - run: apt-get update; apt-get install -y --no-install-recommends cmake autoconf automake libtool git make g++ liblog4cpp5-dev liblivemedia-dev - run: cmake . && make - run: cpack . - run: mkdir -p /distrib && cp *.deb /distrib - persist_to_workspace: root: / paths: - distrib build_rpi: working_directory: ~/v4l2rtspServer docker: - image: heroku/heroku:16 steps: - checkout - run: apt-get update; apt-get install -y --no-install-recommends cmake autoconf automake libtool git make - run: git clone --depth 1 https://github.com/raspberrypi/tools.git rpi_tools - run: echo 'export PATH=${CIRCLE_WORKING_DIRECTORY}/rpi_tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:$PATH' >> $BASH_ENV - run: cmake -DCMAKE_TOOLCHAIN_FILE=${CIRCLE_WORKING_DIRECTORY}/raspberry.toolchain . && make - run: cpack . - run: mkdir -p /distrib && cp *.deb /distrib - persist_to_workspace: root: / paths: - distrib build_mips: working_directory: ~/v4l2rtspServer docker: - image: heroku/heroku:16 steps: - checkout - run: apt-get update; apt-get install -y --no-install-recommends cmake autoconf automake libtool git make g++-mips-linux-gnu - run: cmake -DCMAKE_TOOLCHAIN_FILE=${CIRCLE_WORKING_DIRECTORY}/mips.toolchain . && make - run: cpack . - run: mkdir -p /distrib && cp *.deb /distrib - persist_to_workspace: root: / paths: - distrib store_artifact: working_directory: ~/v4l2rtspServer docker: - image: heroku/heroku:16 steps: - attach_workspace: at: / - store_artifacts: path: /distrib github_release: working_directory: ~/v4l2rtspServer docker: - image: heroku/heroku:16 steps: - attach_workspace: at: / - run: curl https://storage.googleapis.com/golang/go1.8.linux-amd64.tar.gz | tar -C /usr/local -xzf - - run: echo 'export PATH=/usr/local/go/bin:/root/go/bin:$PATH' >> $BASH_ENV - run: go get github.com/tcnksm/ghr - deploy: name: "Deploy to Github" command: ghr -t $GITHUB_TOKEN -u $CIRCLE_PROJECT_USERNAME -r $CIRCLE_PROJECT_REPONAME $CIRCLE_TAG /distrib workflows: version: 2 build: jobs: - build_x86_64: filters: tags: only: /.*/ - build_rpi: filters: tags: only: /.*/ - build_mips: filters: tags: only: /.*/ - store_artifact: requires: - build_x86_64 - build_rpi - build_mips filters: tags: only: /.*/ - github_release: requires: - build_x86_64 - build_rpi - build_mips filters: branches: ignore: /.*/ tags: only: /.*/