11version : 2.1
22
33orbs :
4- codacy : codacy/base@2.5.0
4+ codacy : codacy/base@9.3.1
55
66# Re-usable blocks to reduce boilerplate in job definitions.
77references :
88 default_machine_job : &default_machine_job
99 machine : true
1010 working_directory : ~/workdir
1111
12- set_version_env_variable : &set_version_env_variable
13- run :
14- name : Define Environment Variable VERSION and ENV at Runtime
15- command : |
16- echo export VERSION=$(cat .version) >> $BASH_ENV
17- source $BASH_ENV
18- echo $VERSION
19-
2012jobs :
2113 compile :
2214 << : *default_machine_job
@@ -26,12 +18,12 @@ jobs:
2618 - run :
2719 name : Get version
2820 command : |
21+ curl -fsSL https://crystal-lang.org/install.sh | sudo bash
2922 sudo apt-get update
30- sudo apt-get install libevent-core-2.0-5 libevent-dev libevent-extra-2.0-5 libevent-openssl-2.0-5 libevent-pthreads-2.0-5 libgmp-dev libgmpxx4ldbl libssl-dev libxml2-dev libyaml-dev libreadline-dev automake libtool git llvm libpcre3-dev build-essential -y
31- wget https://github.com/crystal-lang/crystal/releases/download/0.30.1/crystal_0.30.1-1_amd64.deb
32- sudo dpkg -i crystal_0.30.1-1_amd64.deb
33- sudo make clean test build
23+ sudo apt-get install crystal
24+ make clean test build
3425 ./bin/git-version > .version
26+ cat .version
3527 - persist_to_workspace :
3628 root : ~/workdir
3729 paths :
@@ -44,28 +36,20 @@ jobs:
4436 steps :
4537 - attach_workspace :
4638 at : ~/workdir
47- - *set_version_env_variable
4839 - run :
4940 name : Build Docker image
5041 command : make docker_build
51- - run :
52- name : Save docker to file
53- command : |
54- docker save --output docker-image.tar codacy/git-version:$VERSION
55- - persist_to_workspace :
56- root : ~/workdir
57- paths :
58- - docker-image.tar
5942
6043 build_static :
6144 << : *default_machine_job
6245 steps :
6346 - attach_workspace :
6447 at : ~/workdir
65- - *set_version_env_variable
6648 - run :
67- name : Compile
68- command : make clean buildStatic
49+ name : Build Docker and extract from image
50+ command : |
51+ make docker_build
52+ docker run --entrypoint cat codacy/git-version:$(cat .version) /bin/git-version > bin/git-version
6953 - persist_to_workspace :
7054 root : ~/workdir
7155 paths :
7559
7660 publish_versioned :
7761 << : *default_machine_job
78- environment :
79- PROJECT_NAME : $CIRCLE_PROJECT_REPONAME
8062 steps :
8163 - attach_workspace :
8264 at : ~/workdir
83- - run :
84- name : Load docker from file
85- command : docker load --input docker-image.tar
8665 - run :
8766 name : Publish images to Docker Hub
8867 command : make push-docker-image
9271 steps :
9372 - attach_workspace :
9473 at : ~/workdir
95- - *set_version_env_variable
96- - run :
97- name : Load docker from file
98- command : docker load --input docker-image.tar
9974 - run :
10075 name : Publish latest image to Docker Hub
10176 command : make push-latest-docker-image
0 commit comments