Skip to content
Snippets Groups Projects
Commit 30119ef3 authored by samm2's avatar samm2
Browse files

circleci: adding build instructions for the all supported branches

parent 112351c3
No related branches found
No related tags found
No related merge requests found
version: 2
# this yml is for checking drivedb.h validity and should be used only inside branches
# steps:
# 1. get and build smartmontools of the specific version
# 2. fetch drivedb.h from the appropriate branch
# 3. run `make check` on the working tree to check drivedb.h validity
#
references:
get_svn_commit: &get_svn_commit
run:
name: Get SVN revision from the git SHA1 using github API
command: >
curl --silent
https://api.github.com/repos/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}/commits/${CIRCLE_SHA1} |
jq .commit.message |
sed -E "s|.*git-svn-id: http://svn.code.sf.net/p/smartmontools/code/branches/${CIRCLE_BRANCH#origin/}@([0-9]+).*|\1|" >
~/SVNREV && test "`cat ~/SVNREV`" -gt "0" && echo SVN revision: r`cat ~/SVNREV`
svn_checkout: &svn_checkout
run:
name: Checkout from the SF.net
command: >
rel=${CIRCLE_BRANCH#origin/} && rel=${rel%_DRIVEDB} && echo $rel > ~/SM_REL &&
svn --config-option 'config:miscellany:use-commit-times=yes' checkout
https://svn.code.sf.net/p/smartmontools/code/tags/${rel}/smartmontools
~/smartmontools &&
svn cat https://svn.code.sf.net/p/smartmontools/code/branches/${CIRCLE_BRANCH#origin/}/smartmontools/drivedb.h@`cat ~/SVNREV` >
~/smartmontools/drivedb.h
sm_distfile: &sm_distfile
run:
name: Creating src.tar.gz
command: |
cd ~/smartmontools
sed -n 's|^AC_INIT[^,]*, *\([0-9.]*\) *,.*$|\1|p' "configure.ac" > ~/SM_VER
SM_VER=`cat ~/SM_VER` && SVNREV=`cat ~/SVNREV`
./autogen.sh --force
mkdir build && cd build
../configure
make dist
mkdir /artefacts && mv smartmontools-${SM_VER}.tar.gz /artefacts/smartmontools-${SM_VER}-r${SVNREV}.src.tar.gz
sm_comple_linux: &sm_compile_linux
run:
name: Checking drivedb.h with a specific smartmontools version
command: |
SM_VER=`cat ~/SM_VER` && SVNREV=`cat ~/SVNREV`
mkdir ~/build && cd ~/build
tar -xvzf /artefacts/smartmontools-${SM_VER}-r${SVNREV}.src.tar.gz
cd smartmontools-${SM_VER} && mkdir build && cd build
../configure && make -j2 && make check
rm -rf ~/build
jobs:
test_ubuntu_latest:
docker:
- image: sammcz/docker-build:latest
working_directory: ~/smartmontools
steps:
- *get_svn_commit
- *svn_checkout
- *sm_distfile
- *sm_compile_linux
workflows:
version: 2
test-matrix:
jobs:
- test_ubuntu_latest
#notify:
# webhooks:
# - url: https://builds-ci.smartmontools.org/hook.php
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment