Skip to content

Commit b9b11e1

Browse files
committed
Overhaul Circle CI configuration (update environment)
1 parent 45c4057 commit b9b11e1

File tree

1 file changed

+151
-158
lines changed

1 file changed

+151
-158
lines changed

.circleci/config.yml

Lines changed: 151 additions & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -1,160 +1,153 @@
1-
version: 2
1+
version: 2.1
2+
commands:
3+
check_inspection:
4+
steps:
5+
- run:
6+
name: Check inspection commands
7+
working_directory: integration_tests/supported-tests
8+
command: |
9+
mbed compile --supported
10+
mbed compile --config --prefix mbed
11+
mbed toolchain --supported
12+
mbed target --supported
13+
mbed export --supported
14+
mbed test --compile-list
15+
change_mbed_os_version:
16+
parameters:
17+
version:
18+
type: string
19+
steps:
20+
- run:
21+
name: Change version to Mbed OS << parameters.version >>
22+
working_directory: integration_tests/supported-tests/mbed-os
23+
command: mbed update --clean --clean-files "mbed-os-<< parameters.version >>"
24+
run_tests:
25+
steps:
26+
- run:
27+
name: Install GCC ARM compiler
28+
command: |
29+
add-apt-repository -y ppa:terry.guo/gcc-arm-embedded
30+
apt-get -y update
31+
apt-get -y install gcc-arm-none-eabi=4.9.3.2015q3-1trusty1
32+
- run:
33+
name: Configure Git and Mercurial
34+
command: |
35+
git config --global user.email "[email protected]"
36+
git config --global user.name "mbed Test"
37+
echo -e "[ui]\nusername = mbed Test <[email protected]>\n" > ~/.hgrc
38+
- checkout
39+
- run:
40+
name: Install Mbed CLI
41+
command: |
42+
pip install -U pytest setuptools
43+
pip install -e .
44+
mbed --version
45+
- run:
46+
name: Run unit tests
47+
command: py.test test
48+
- run:
49+
name: Configure Mbed CLI for integration tests
50+
command: |
51+
mbed toolchain -G GCC_ARM
52+
mbed target -G K64F
53+
mbed config -G protocol ssh
54+
mkdir integration_tests
55+
- run:
56+
name: Create a new project
57+
working_directory: integration_tests
58+
command: mbed new-test
59+
- run:
60+
name: Test project inspection
61+
working_directory: integration_tests/new-test
62+
command: |
63+
mbed ls
64+
mbed releases -r
65+
- run:
66+
name: Build through "compile" and "test"
67+
working_directory: integration_tests/new-test
68+
command: |
69+
mbed compile --source=. --source=mbed-os/TESTS/integration/basic -j 0
70+
mbed test --compile -n mbed-os-tests-integration-basic -j 0
71+
- run:
72+
name: Ensure importing through mercurial works
73+
working_directory: integration_tests
74+
command: mbed import https://os.mbed.com/teams/Morpheus/code/mbed-Client-Morpheus-hg hg-test
75+
- run:
76+
name: Test project inspection, updates, and compiling
77+
working_directory: integration_tests/hg-test
78+
command: |
79+
mbed ls
80+
mbed releases -r
81+
mbed update b02527cafcde8612ff051fea57e9975aca598807 --clean
82+
mbed update --clean
83+
mbed compile -j 0
84+
- run:
85+
name: Import Mbed 2 project
86+
working_directory: integration_tests
87+
command: mbed import https://os.mbed.com/users/samux/code/USBSerial_HelloWorld bld-test
88+
- run:
89+
name: Test project inspection for Mbed 2 project
90+
working_directory: integration_tests/bld-test
91+
command: |
92+
mbed ls
93+
mbed releases -r
94+
- run:
95+
name: Update Mbed library
96+
working_directory: integration_tests/bld-test/mbed
97+
command: mbed update 85 --clean
98+
- run:
99+
name: Update Mbed 2 project
100+
working_directory: integration_tests/bld-test
101+
command: mbed update --clean
102+
- run:
103+
name: Compile Mbed 2 project
104+
working_directory: integration_tests/bld-test
105+
command: mbed compile -m LPC1768 -j 0
106+
- run:
107+
name: Create new project for old Mbed OS support
108+
working_directory: integration_tests
109+
command: mbed new supported-tests
110+
- change_mbed_os_version:
111+
version: "5.8.5"
112+
- check_inspection
113+
- change_mbed_os_version:
114+
version: "5.7.6"
115+
- check_inspection
116+
- change_mbed_os_version:
117+
version: "5.6.6"
118+
- check_inspection
119+
- change_mbed_os_version:
120+
version: "5.5.6"
121+
- check_inspection
122+
- change_mbed_os_version:
123+
version: "5.4.6"
124+
- check_inspection
125+
- change_mbed_os_version:
126+
version: "5.2.6"
127+
- check_inspection
128+
- change_mbed_os_version:
129+
version: "5.1.6"
130+
- check_inspection
2131
jobs:
3-
py2:
4-
machine: true
5-
steps:
6-
- run: sudo add-apt-repository -y ppa:terry.guo/gcc-arm-embedded
7-
- run: sudo apt-get -y update
8-
- run: sudo apt-get -y install gcc-arm-none-eabi=4.9.3.2015q3-1trusty1
9-
10-
- run: python --version
11-
- run: pip --version
12-
- run: pip install pytest
13-
- run: git config --global user.email "[email protected]"
14-
- run: git config --global user.name "mbed Test"
15-
- run: echo -e "[ui]\nusername = mbed Test <[email protected]>\n" > ~/.hgrc
16-
- checkout
17-
- run: pip install -e ./
18-
19-
- run: mbed --version
20-
- run: py.test test
21-
- run: mbed toolchain -G GCC_ARM
22-
- run: mbed target -G K64F
23-
- run: mbed config -G protocol ssh
24-
- run: mkdir .tests
25-
- run: cd .tests && mbed new new-test
26-
- run: cd .tests/new-test && mbed ls
27-
- run: cd .tests/new-test && mbed releases -r
28-
- run: cd .tests/new-test && mbed compile --source=. --source=mbed-os/TESTS/integration/basic -j 0
29-
- run: cd .tests/new-test && mbed test --compile -n mbed-os-tests-integration-basic -j 0
30-
- run: cd .tests && mbed import https://developer.mbed.org/teams/Morpheus/code/mbed-Client-Morpheus-hg hg-test
31-
- run: cd .tests/hg-test && mbed ls
32-
- run: cd .tests/hg-test && mbed releases -r
33-
- run: cd .tests/hg-test && mbed update b02527cafcde8612ff051fea57e9975aca598807 --clean
34-
- run: cd .tests/hg-test && mbed update --clean
35-
- run: cd .tests/hg-test && mbed compile -j 0
36-
- run: cd .tests && mbed import https://developer.mbed.org/users/samux/code/USBSerial_HelloWorld bld-test
37-
- run: cd .tests/bld-test && mbed ls
38-
- run: cd .tests/bld-test && mbed releases -r
39-
- run: cd .tests/bld-test/mbed && mbed update 85 --clean
40-
- run: cd .tests/bld-test && mbed update --clean
41-
- run: cd .tests/bld-test && mbed compile -m LPC1768 -j 0
42-
- run: cd .tests && mbed new supported-tests
43-
- run: |-
44-
cd .tests/supported-tests
45-
echo "Testing mbed-os-5.8.5"
46-
cd mbed-os
47-
mbed update --clean --clean-files "mbed-os-5.8.5"
48-
mbed compile --supported
49-
mbed compile --config --prefix mbed
50-
mbed toolchain --supported
51-
mbed target --supported
52-
mbed export --supported
53-
mbed test --compile-list
54-
- run: |-
55-
cd .tests/supported-tests
56-
echo "Testing mbed-os-5.7.6"
57-
cd mbed-os
58-
mbed update --clean --clean-files "mbed-os-5.7.5"
59-
mbed compile --supported
60-
mbed compile --config --prefix mbed
61-
mbed toolchain --supported
62-
mbed target --supported
63-
mbed export --supported
64-
mbed test --compile-list
65-
- run: |-
66-
cd .tests/supported-tests
67-
echo "Testing mbed-os-5.6.6"
68-
cd mbed-os
69-
mbed update --clean --clean-files "mbed-os-5.6.5"
70-
mbed compile --supported
71-
mbed compile --config --prefix mbed
72-
mbed toolchain --supported
73-
mbed target --supported
74-
mbed export --supported
75-
mbed test --compile-list
76-
- run: |-
77-
cd .tests/supported-tests
78-
echo "Testing mbed-os-5.5.6"
79-
cd mbed-os
80-
mbed update --clean --clean-files "mbed-os-5.5.5"
81-
mbed compile --supported
82-
mbed compile --config --prefix mbed
83-
mbed toolchain --supported
84-
mbed target --supported
85-
mbed export --supported
86-
mbed test --compile-list
87-
- run: |-
88-
cd .tests/supported-tests
89-
echo "Testing mbed-os-5.4.6"
90-
cd mbed-os
91-
mbed update --clean --clean-files "mbed-os-5.4.5"
92-
mbed compile --supported
93-
mbed compile --config --prefix mbed
94-
mbed toolchain --supported
95-
mbed target --supported
96-
mbed export --supported
97-
mbed test --compile-list
98-
- run: |-
99-
cd .tests/supported-tests
100-
echo "Testing mbed-os-5.2.3"
101-
cd mbed-os
102-
mbed update --clean --clean-files "mbed-os-5.2.3"
103-
mbed compile --supported
104-
mbed compile --config --prefix mbed
105-
mbed toolchain --supported
106-
mbed target --supported
107-
mbed export --supported
108-
mbed test --compile-list
109-
- run: |-
110-
cd .tests/supported-tests
111-
echo "Testing mbed-os-5.1.5"
112-
cd mbed-os
113-
mbed update --clean --clean-files "mbed-os-5.1.5"
114-
mbed compile --supported
115-
mbed compile --config --prefix mbed
116-
mbed toolchain --supported
117-
mbed target --supported
118-
mbed export --supported
119-
mbed test --compile-list
120-
121-
py3:
122-
machine: true
123-
steps:
124-
- run: sudo add-apt-repository -y ppa:terry.guo/gcc-arm-embedded
125-
- run: sudo apt-get -y update
126-
- run: sudo apt-get -y install gcc-arm-none-eabi=4.9.3.2015q3-1trusty1
127-
- run: pyenv install 3.6.0
128-
- run: pyenv global 3.6.0
129-
130-
- run: python --version
131-
- run: pip --version
132-
- run: pip install pytest
133-
- run: git config --global user.email "[email protected]"
134-
- run: git config --global user.name "mbed Test"
135-
- run: echo -e "[ui]\nusername = mbed Test <[email protected]>\n" > ~/.hgrc
136-
- checkout
137-
- run: pip install -e ./
138-
139-
- run: mbed --version
140-
- run: py.test test
141-
- run: mbed toolchain -G GCC_ARM
142-
- run: mbed target -G K64F
143-
- run: mbed config -G protocol ssh
144-
145-
- run: mkdir .tests
146-
- run: cd .tests && mbed new new-test
147-
- run: |-
148-
cd .tests/new-test/mbed-os
149-
git checkout mbed-os-5.9.0
150-
- run: cd .tests/new-test && mbed ls
151-
- run: cd .tests/new-test && mbed releases -r
152-
- run: cd .tests/new-test && mbed compile --source=. --source=mbed-os/TESTS/integration/basic -j 0
153-
- run: cd .tests/new-test && mbed test --compile -n mbed-os-tests-integration-basic -j 0
154-
132+
python27:
133+
docker:
134+
- image: python:27
135+
steps:
136+
- run_tests
137+
python36:
138+
docker:
139+
- image: python:36
140+
steps:
141+
- run_tests
142+
python37:
143+
docker:
144+
- image: python:37
145+
steps:
146+
- run_tests
155147
workflows:
156-
version: 2
157-
build:
158-
jobs:
159-
- py2
160-
- py3
148+
version: 2
149+
build:
150+
jobs:
151+
- python27
152+
- python36
153+
- python37

0 commit comments

Comments
 (0)