Skip to content

Commit aea7906

Browse files
committed
Update README (top, GHA) and GHA example-full
1 parent c6bc90b commit aea7906

File tree

3 files changed

+72
-31
lines changed

3 files changed

+72
-31
lines changed

README.md

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,10 @@ for more details.
9595

9696
### [GitHub Actions](https://github.com/)
9797
- 20 parallel runners on Linux/Windows (5 runners on MacOS)
98-
- Ubuntu 16/18/20, MacOS 10.15, Windows Server 2016/2019/2022
98+
- Ubuntu 18/20/22, MacOS 11/12, Windows Server 2019/2022
9999
- Compile natively on Linux (gcc, clang)
100100
- Compile natively on MacOS (clang)
101-
- Compile natively on Windows (gcc/MinGW, Visual Studio 2017/2019/2022)
101+
- Compile natively on Windows (gcc/MinGW, Visual Studio 2019/2022)
102102
- Cross-compile for Windows 32bit and 64bit using MinGW and WINE
103103
- Cross-compile for RTEMS 4.9 and 4.10 (pc386, Base >= 3.15)
104104
- Cross-compile for RTEMS 5 (10 BSPs, Base >= 7.0.5.1)
@@ -283,8 +283,8 @@ Feel free to suggest more default settings using a Pull Request.
283283
284284
## RTEMS
285285
286-
Setting `RTEMS` to the RTEMS version number (`4.9`, `4.10` or `5`)
287-
enables cross-compiling to RTEMS on supported CI services.
286+
Cross-compiling to RTEMS versions 4.9, 4.10 or 5 is supported
287+
on supported CI services. For configuration see below.
288288
Tests can also be run cross-platform, using `qemu`.
289289
290290
The RTEMS 5 builds now include most of the BSPs with configuration in Base:
@@ -301,26 +301,37 @@ The RTEMS 5 builds now include most of the BSPs with configuration in Base:
301301
- xilinx_zynq_a9_qemu w/ libbsd
302302
303303
Build configuration [can be found here][ref.rtems5build].
304-
Set `RTEMS_TARGET` to configure the EPICS target architecture and
305-
`RSB_BUILD` to select the RTEMS toolchain release name/data from
304+
Set `RSB_BUILD` to select the RTEMS toolchain release name/data from
306305
https://github.com/mdavidsaver/rsb/releases.
307306
308-
RTEMS 5 builds need to be switched to a newer ubuntu version
307+
RTEMS 5 builds need to be switched to ubuntu version >= 20
309308
(aka. **os: ubuntu-20.04** with GitHub Actions,
310309
**dist: focal** with Travis-CI or
311310
**image: ubuntu:focal** with GitLab CI/CD).
312311
313-
## LINUX_CROSS
314-
315-
Setting the `LINUX_CROSS_<name>` environment variable enables cross-compiling
316-
to Linux for the provided target. The value of the environment variable should
317-
be the compiler prefix to be used.
318-
319-
For example, to cross-compile for linux-arm with hard floating points
320-
321-
- ensure you have the `g++-arm-linux-gnueabihf` package installed, if your CI
322-
is on Ubuntu or Debian
323-
- set the environment variable `LINUX_CROSS_arm=arm-linux-gnueabihf`
312+
## Cross Compilation
313+
314+
Setting the `CI_CROSS_TARGETS` environment variable enables cross-compiling
315+
from Linux to the provided targets architectures.
316+
The value of the environment variable must contain the EPICS architecture
317+
and - depending on the target - may contain additional information like
318+
the compiler prefix to be used or the version of the target OS.
319+
320+
Multiple cross-targets can be added to the `CI_CROSS_TARGETS` variable
321+
by separating them with a colon (`:`) character.
322+
323+
For example, possible values are:
324+
325+
- linux-aarch64
326+
- linux-arm@arm-linux-gnueabi
327+
- linux-arm@arm-linux-gnueabihf
328+
- linux-ppc
329+
- linux-ppc64
330+
- win32-x86-mingw
331+
- windows-x64-mingw
332+
333+
334+
- RTEMS-pc686-qemu@5
324335
325336
## Debugging
326337

github-actions/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
## Features
44

55
- 20 parallel runners on Linux/Windows (5 runners on MacOS)
6-
- Ubuntu 16/18/20, MacOS 10.15, Windows Server 2016/2019
6+
- Ubuntu 18/20/22, MacOS 11/12, Windows Server 2019/2022
77
- Compile natively on Linux (gcc, clang)
88
- Compile natively on MacOS (clang)
9-
- Compile natively on Windows (gcc/MinGW, Visual Studio 2017/2019/2022)
9+
- Compile natively on Windows (gcc/MinGW, Visual Studio 2019/2022)
1010
- Cross-compile for Windows 32bit and 64bit using MinGW and WINE
1111
- Cross-compile for RTEMS 4.9 and 4.10 (pc386, Base >= 3.15)
1212
- Cross-compile for RTEMS 5 (10 BSPs, Base >= 7.0.5.1)

github-actions/ci-scripts-build.yml.example-full

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -119,20 +119,15 @@ jobs:
119119
configuration: default
120120
name: "Ub-20 clang-10"
121121

122-
- os: macos-latest
122+
- os: macos-11
123123
cmp: clang
124124
configuration: default
125-
name: "MacOS clang-12"
125+
name: "MacOS clang-13"
126126

127-
- os: windows-2016
128-
cmp: vs2017
127+
- os: macos-12
128+
cmp: clang
129129
configuration: default
130-
name: "Win2016 MSC-17"
131-
132-
- os: windows-2016
133-
cmp: vs2017
134-
configuration: static
135-
name: "Win2016 MSC-17, static"
130+
name: "MacOS clang-13"
136131

137132
- os: windows-2019
138133
cmp: gcc
@@ -187,11 +182,46 @@ jobs:
187182
- name: Build main module
188183
run: python .ci/cue.py build
189184
- name: Run main module tests
190-
run: python .ci/cue.py test
185+
run: python .ci/cue.py -T 15M test
191186
- name: Upload tapfiles Artifact
192187
uses: actions/upload-artifact@v2
193188
with:
194189
name: tapfiles ${{ matrix.name }}
195190
path: '**/O.*/*.tap'
196191
- name: Collect and show test results
197192
run: python .ci/cue.py test-results
193+
194+
build-cross:
195+
name: cross ${{ matrix.cross }} / ${{ matrix.cmp }} / ${{ matrix.configuration }}
196+
runs-on: ubuntu-20.04
197+
env:
198+
CMP: gcc
199+
BCFG: default
200+
CI_CROSS_TARGETS: ${{ matrix.cross }}
201+
APT: re2c
202+
strategy:
203+
fail-fast: false
204+
matrix:
205+
# configuration: [default, static, debug, static-debug]
206+
configuration: [default]
207+
cross:
208+
- linux-aarch64
209+
- linux-arm@arm-linux-gnueabi
210+
- linux-arm@arm-linux-gnueabihf
211+
- linux-ppc
212+
- linux-ppc64
213+
- win32-x86-mingw
214+
- windows-x64-mingw
215+
216+
217+
- RTEMS-pc686-qemu@5
218+
steps:
219+
- uses: actions/checkout@v2
220+
- name: Prepare and compile dependencies
221+
run: python cue.py prepare
222+
- name: Build main module
223+
run: python cue.py build
224+
- name: Run main module tests
225+
run: python cue.py -T 15M test
226+
- name: Collect and show test results
227+
run: python cue.py test-results

0 commit comments

Comments
 (0)