1
- name : CI
1
+ name : GNUStep
2
2
3
3
on :
4
- push :
5
- branches : [master]
6
4
pull_request :
7
5
8
6
env :
14
12
CXX : clang++
15
13
16
14
jobs :
17
- fmt :
18
- name : Check formatting
19
- runs-on : ubuntu-latest
20
- steps :
21
- - uses : actions/checkout@v2
22
- - name : Check formatting
23
- uses : actions-rs/cargo@v1
24
- with :
25
- command : fmt
26
- args : -- --check
27
-
28
15
test :
29
16
name : Test
30
- strategy :
31
- matrix :
32
- platform :
33
- - { os: ubuntu-latest } # TODO: 32bit and gcc-multilib
34
- - { os: macos-10.15 }
35
- - { os: macos-11 }
36
- # - { target: x86_64-apple-ios, os: macos-latest, }
37
- # - { target: aarch64-apple-ios, os: macos-latest, }
38
-
39
- runs-on : ${{ matrix.platform.os }}
17
+ # TODO: 32bit and gcc-multilib
18
+ runs-on : ubuntu-latest
40
19
41
20
steps :
42
21
- uses : actions/checkout@v2
@@ -47,31 +26,13 @@ jobs:
47
26
path : |
48
27
~/.cargo/
49
28
target/
50
- key : ${{ matrix.platform.os }} -cargo-${{ hashFiles('**/Cargo.toml') }}
29
+ key : gnustep -cargo-${{ hashFiles('**/Cargo.toml') }}
51
30
restore-keys : |
52
- ${{ matrix.platform.os }} -cargo-
31
+ gnustep -cargo-
53
32
54
33
- name : Install Packages
55
- if : contains(matrix.platform.os, 'ubuntu')
56
34
run : sudo apt-get install gobjc clang make libblocksruntime-dev
57
35
58
- - name : Install different Rust toolchain
59
- # A default toolchain is already installed
60
- if : matrix.platform.target
61
- uses : actions-rs/toolchain@v1
62
- with :
63
- toolchain : stable
64
- target : ${{ matrix.platform.target }}
65
- profile : minimal
66
- override : true
67
-
68
- - name : Check documentation
69
- uses : actions-rs/cargo@v1
70
- with :
71
- # TODO: Disallow warnings here
72
- command : doc
73
- args : --no-deps --document-private-items
74
-
75
36
- # Run before we install GNUStep as a "fail fast" mechanism
76
37
name : Run checks
77
38
uses : actions-rs/cargo@v1
@@ -80,17 +41,15 @@ jobs:
80
41
args : --verbose --no-default-features
81
42
82
43
- name : Install GNUStep libobjc2
83
- if : contains(matrix.platform.os, 'ubuntu')
84
44
run : |
85
45
wget https://github.com/gnustep/libobjc2/archive/refs/tags/v1.9.tar.gz
86
46
tar -xzf v1.9.tar.gz
87
- mkdir libobjc2-1.9/build
47
+ mkdir -p libobjc2-1.9/build
88
48
cd libobjc2-1.9/build
89
49
cmake ../
90
50
sudo make install
91
51
92
52
- name : Install GNUStep make
93
- if : contains(matrix.platform.os, 'ubuntu')
94
53
run : |
95
54
wget https://github.com/gnustep/tools-make/archive/refs/tags/make-2_9_0.tar.gz
96
55
tar -xzf make-2_9_0.tar.gz
99
58
sudo make install
100
59
101
60
- name : Install GNUStep-Base
102
- if : contains(matrix.platform.os, 'ubuntu')
103
61
run : |
104
62
wget https://github.com/gnustep/libs-base/archive/refs/tags/base-1_28_0.tar.gz
105
63
tar -xzf base-1_28_0.tar.gz
108
66
sudo make install
109
67
110
68
- name : Setup environment
111
- if : contains(matrix.platform.os, 'ubuntu')
112
69
run : |
113
70
ls -al /usr/local/lib
114
71
ls -al /usr/local/include
@@ -117,32 +74,15 @@ jobs:
117
74
echo "CPATH=/usr/local/include:$CPATH" >> $GITHUB_ENV
118
75
119
76
- name : Test GNUStep
120
- if : contains(matrix.platform.os, 'ubuntu')
121
77
uses : actions-rs/cargo@v1
122
78
with :
123
79
command : test
124
80
# Temporary fix
125
81
args : --verbose --no-fail-fast --no-default-features --package objc2_sys --package objc2 --package objc2_encode --package objc2_exception --package objc2_foundation
126
82
127
83
- name : Test GNUStep with features
128
- if : contains(matrix.platform.os, 'ubuntu')
129
84
uses : actions-rs/cargo@v1
130
85
with :
131
86
command : test
132
87
# Temporary fix
133
88
args : --verbose --no-fail-fast --no-default-features --features exception,verify_message --package objc2_sys --package objc2 --package objc2_encode --package objc2_exception --package objc2_foundation
134
-
135
- - name : Test
136
- if : ${{ !contains(matrix.platform.os, 'ubuntu') }}
137
- uses : actions-rs/cargo@v1
138
- with :
139
- command : test
140
- args : --verbose --no-fail-fast --no-default-features
141
-
142
- - name : Test with features
143
- if : ${{ !contains(matrix.platform.os, 'ubuntu') }}
144
- uses : actions-rs/cargo@v1
145
- with :
146
- command : test
147
- # Not using --all-features because some features are nightly-only
148
- args : --verbose --no-fail-fast --features block,exception,verify_message
0 commit comments