Skip to content

Commit 66cef81

Browse files
authored
Merge pull request #30 from cloudify-incubator/circle
circle
2 parents 90e77da + fdb351e commit 66cef81

File tree

1 file changed

+60
-178
lines changed

1 file changed

+60
-178
lines changed

.circleci/config.yml

Lines changed: 60 additions & 178 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
version: 2
1+
version: 2.1
2+
3+
orbs:
4+
node: cloudify/public-unittest-orb@1 #orb version
5+
wagonorb: cloudify/[email protected] #orb version
6+
releaseorb: cloudify/[email protected] #orb version
7+
managerorb: cloudify/manager-orb@1
28

39
checkout:
410
post:
@@ -9,194 +15,70 @@ checkout:
915
git checkout -qf FETCH_HEAD
1016
fi
1117
12-
jobs:
13-
14-
py3_compat:
15-
docker:
16-
- image: circleci/python:2.7
17-
steps:
18-
- checkout
19-
- run:
20-
name: install futurize
21-
command: pip install future --user
22-
- run:
23-
name: find python3-incompatible code
24-
command: |
25-
FUTURIZE="futurize ."
26-
while read line; do
27-
[[ "$line" =~ ^#.* ]] && continue
28-
FUTURIZE="${FUTURIZE} ${line}"
29-
done<.circleci/py3fixers
30-
echo "Running: $FUTURIZE"
31-
$FUTURIZE>futurize_diffs
32-
- run:
33-
name: check that there is no python3-incompatible code
34-
command: |
35-
if [[ -s futurize_diffs ]]; then
36-
echo "Python-3-incompatible code found"
37-
cat futurize_diffs
38-
exit 1
39-
fi
40-
41-
unittests_py27:
42-
docker:
43-
- image: circleci/python:2.7.15-stretch
44-
steps:
45-
- checkout
46-
- run:
47-
name: update links
48-
command: sudo apt-get update -y
49-
- run:
50-
name: install python/pip/libvirt packages
51-
command: sudo apt-get install -yq python-libvirt libvirt-dev python-dev python-pip
52-
- run:
53-
name: Download pip
54-
command: curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
55-
- run:
56-
name: Install pip
57-
command: sudo python get-pip.py
58-
- run:
59-
name: Install virtualenv
60-
command: pip install --user virtualenv
61-
- run:
62-
name: Init virtualenv
63-
command: virtualenv env
64-
- run:
65-
name: install tox
66-
command: pip install --user tox
67-
- run: /home/circleci/.local/bin/tox -e flake8
68-
- run: /home/circleci/.local/bin/tox -e nosetests
69-
70-
unittests_py36:
71-
docker:
72-
- image: circleci/python:3.6-stretch
73-
steps:
74-
- checkout
75-
- run:
76-
name: update links
77-
command: sudo apt-get update -y
78-
- run:
79-
name: install python/pip/libvirt packages
80-
command: sudo apt-get install -yq python-libvirt libvirt-dev python-dev python-pip
81-
- run:
82-
name: Download pip
83-
command: curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
84-
- run:
85-
name: Install pip
86-
command: sudo python get-pip.py
87-
- run:
88-
name: Install virtualenv
89-
command: pip install --user virtualenv
90-
- run:
91-
name: Init virtualenv
92-
command: virtualenv env
93-
- run:
94-
name: install tox
95-
command: pip install --user tox
96-
- run: /home/circleci/.local/bin/tox -e flake8
97-
- run: /home/circleci/.local/bin/tox -e nosetests
98-
99-
wagon:
100-
machine:
101-
image: ubuntu-1604:201903-01
102-
steps:
103-
- checkout
104-
- run:
105-
name: Create Workspace Build directory.
106-
command: mkdir -p workspace/build
107-
- run:
108-
name: Build py27py36 Wagon
109-
command: |
110-
git clone https://github.com/cloudify-cosmo/cloudify-wagon-build-containers.git
111-
docker build -t cloudify-centos-7-wagon-builder cloudify-wagon-build-containers/centos_7_py2py3
112-
docker run -v ~/project/:/packaging cloudify-centos-7-wagon-builder
113-
- run:
114-
name: copy wagon to workspace
115-
command: cp *.wgn workspace/build/
116-
- persist_to_workspace:
117-
root: workspace
118-
paths:
119-
- build/*
18+
executors:
12019

121-
rhel_wagon:
122-
machine:
123-
image: ubuntu-1604:201903-01
124-
steps:
125-
- checkout
126-
- run:
127-
name: Create Workspace Build directory.
128-
command: mkdir -p workspace/build
129-
- run:
130-
name: Build RHEL py27py36 Wagon
131-
command: |
132-
git clone https://github.com/cloudify-cosmo/cloudify-wagon-build-containers.git
133-
docker build -t cloudify-redhat-7-wagon-builder cloudify-wagon-build-containers/redhat_7_py2py3 --build-arg USERNAME="$USERNAME" --build-arg PASSWORD="$PASSWORD"
134-
docker run -v ~/project/:/packaging cloudify-redhat-7-wagon-builder
135-
- run:
136-
name: copy wagon to workspace
137-
command: cp *.wgn workspace/build/
138-
- persist_to_workspace:
139-
root: workspace
140-
paths:
141-
- build/*
142-
143-
release:
20+
py36:
21+
environment:
22+
PYENV_VERSION: 3.6.5
14423
docker:
145-
- image: circleci/python:2.7
146-
steps:
147-
- checkout
148-
- run:
149-
name: "Pull Submodules"
150-
command: |
151-
git submodule init
152-
git submodule update --remote --recursive
153-
- run:
154-
name: Download pip
155-
command: curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
156-
- run:
157-
name: Install pip
158-
command: sudo python get-pip.py
159-
- run:
160-
name: Install virtualenv
161-
command: pip install --user virtualenv
162-
- run:
163-
name: Init virtualenv
164-
command: virtualenv env
165-
- run:
166-
name: install tox
167-
command: pip install --user pygithub pyyaml==3.10
168-
- run:
169-
name: upgrade setuptools
170-
command: pip install --upgrade setuptools
171-
- run:
172-
name: install local project
173-
command: pip install https://github.com/cloudify-incubator/cloudify-ecosystem-test/archive/latest.zip
174-
- attach_workspace:
175-
at: workspace
176-
- run: python .circleci/package_release.py
177-
24+
- image: circleci/python:3.6
17825

17926
workflows:
18027
version: 2
18128
tests:
18229
jobs:
183-
- py3_compat
184-
- unittests_py27
185-
- unittests_py36
186-
- wagon:
30+
- node/check_py3_compat_job
31+
- node/unittests_job
32+
- node/validate_version_job
33+
- node/validate_documentation_job
34+
- wagonorb/wagon:
18735
filters:
18836
branches:
189-
only: /([0-9\.]*\-build|master|dev)/
190-
- rhel_wagon:
37+
only: /([0-9\.]*\-build|master|main)/
38+
- wagonorb/arch64_wagon:
19139
filters:
19240
branches:
193-
only: /([0-9\.]*\-build|master|dev)/
194-
- release:
41+
only: /([0-9\.]*\-build|master|main)/
42+
- wagonorb/rhel_wagon:
19543
filters:
19644
branches:
197-
only: /master/
45+
only: /([0-9\.]*\-build|master|main)/
46+
- wagonorb/build_bundle:
47+
filters:
48+
branches:
49+
only: /([0-9\.]*\-build|master|main)/
50+
requires:
51+
- wagonorb/wagon
52+
- wagonorb/arch64_wagon
53+
- wagonorb/rhel_wagon
54+
- releaseorb/release:
55+
filters:
56+
branches:
57+
only: /master|main/
19858
requires:
199-
- unittests_py27
200-
- unittests_py36
201-
- wagon
202-
- rhel_wagon
59+
- wagonorb/wagon
60+
- wagonorb/arch64_wagon
61+
- wagonorb/rhel_wagon
62+
- wagonorb/build_bundle
63+
- node/validate_version_job
64+
- node/validate_documentation_job
65+
- releaseorb/merge_docs_job:
66+
filters:
67+
branches:
68+
only: /master|main/
69+
requires:
70+
- releaseorb/release
71+
- node/validate_documentation_job
72+
73+
nightly:
74+
triggers:
75+
- schedule:
76+
cron: "0 1 * * 0,1,3,5"
77+
filters:
78+
branches:
79+
only:
80+
- master|main
81+
jobs:
82+
- node/check_py3_compat_job
83+
- node/validate_version_job
84+
- node/unittests_job

0 commit comments

Comments
 (0)