-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update README (top, GHA) and GHA example-full
- Loading branch information
1 parent
c6bc90b
commit aea7906
Showing
3 changed files
with
72 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -95,10 +95,10 @@ for more details. | |
|
||
### [GitHub Actions](https://github.com/) | ||
- 20 parallel runners on Linux/Windows (5 runners on MacOS) | ||
- Ubuntu 16/18/20, MacOS 10.15, Windows Server 2016/2019/2022 | ||
- Ubuntu 18/20/22, MacOS 11/12, Windows Server 2019/2022 | ||
- Compile natively on Linux (gcc, clang) | ||
- Compile natively on MacOS (clang) | ||
- Compile natively on Windows (gcc/MinGW, Visual Studio 2017/2019/2022) | ||
- Compile natively on Windows (gcc/MinGW, Visual Studio 2019/2022) | ||
- Cross-compile for Windows 32bit and 64bit using MinGW and WINE | ||
- Cross-compile for RTEMS 4.9 and 4.10 (pc386, Base >= 3.15) | ||
- 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. | |
## RTEMS | ||
Setting `RTEMS` to the RTEMS version number (`4.9`, `4.10` or `5`) | ||
enables cross-compiling to RTEMS on supported CI services. | ||
Cross-compiling to RTEMS versions 4.9, 4.10 or 5 is supported | ||
on supported CI services. For configuration see below. | ||
Tests can also be run cross-platform, using `qemu`. | ||
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: | |
- xilinx_zynq_a9_qemu w/ libbsd | ||
Build configuration [can be found here][ref.rtems5build]. | ||
Set `RTEMS_TARGET` to configure the EPICS target architecture and | ||
`RSB_BUILD` to select the RTEMS toolchain release name/data from | ||
Set `RSB_BUILD` to select the RTEMS toolchain release name/data from | ||
https://github.com/mdavidsaver/rsb/releases. | ||
RTEMS 5 builds need to be switched to a newer ubuntu version | ||
RTEMS 5 builds need to be switched to ubuntu version >= 20 | ||
(aka. **os: ubuntu-20.04** with GitHub Actions, | ||
**dist: focal** with Travis-CI or | ||
**image: ubuntu:focal** with GitLab CI/CD). | ||
## LINUX_CROSS | ||
Setting the `LINUX_CROSS_<name>` environment variable enables cross-compiling | ||
to Linux for the provided target. The value of the environment variable should | ||
be the compiler prefix to be used. | ||
For example, to cross-compile for linux-arm with hard floating points | ||
- ensure you have the `g++-arm-linux-gnueabihf` package installed, if your CI | ||
is on Ubuntu or Debian | ||
- set the environment variable `LINUX_CROSS_arm=arm-linux-gnueabihf` | ||
## Cross Compilation | ||
Setting the `CI_CROSS_TARGETS` environment variable enables cross-compiling | ||
from Linux to the provided targets architectures. | ||
The value of the environment variable must contain the EPICS architecture | ||
and - depending on the target - may contain additional information like | ||
the compiler prefix to be used or the version of the target OS. | ||
Multiple cross-targets can be added to the `CI_CROSS_TARGETS` variable | ||
by separating them with a colon (`:`) character. | ||
For example, possible values are: | ||
- linux-aarch64 | ||
- linux-arm@arm-linux-gnueabi | ||
- linux-arm@arm-linux-gnueabihf | ||
- linux-ppc | ||
- linux-ppc64 | ||
- win32-x86-mingw | ||
- windows-x64-mingw | ||
- [email protected] | ||
- [email protected] | ||
- RTEMS-pc686-qemu@5 | ||
## Debugging | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -119,20 +119,15 @@ jobs: | |
configuration: default | ||
name: "Ub-20 clang-10" | ||
|
||
- os: macos-latest | ||
- os: macos-11 | ||
cmp: clang | ||
configuration: default | ||
name: "MacOS clang-12" | ||
name: "MacOS clang-13" | ||
|
||
- os: windows-2016 | ||
cmp: vs2017 | ||
- os: macos-12 | ||
cmp: clang | ||
configuration: default | ||
name: "Win2016 MSC-17" | ||
|
||
- os: windows-2016 | ||
cmp: vs2017 | ||
configuration: static | ||
name: "Win2016 MSC-17, static" | ||
name: "MacOS clang-13" | ||
|
||
- os: windows-2019 | ||
cmp: gcc | ||
|
@@ -187,11 +182,46 @@ jobs: | |
- name: Build main module | ||
run: python .ci/cue.py build | ||
- name: Run main module tests | ||
run: python .ci/cue.py test | ||
run: python .ci/cue.py -T 15M test | ||
- name: Upload tapfiles Artifact | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: tapfiles ${{ matrix.name }} | ||
path: '**/O.*/*.tap' | ||
- name: Collect and show test results | ||
run: python .ci/cue.py test-results | ||
|
||
build-cross: | ||
name: cross ${{ matrix.cross }} / ${{ matrix.cmp }} / ${{ matrix.configuration }} | ||
runs-on: ubuntu-20.04 | ||
env: | ||
CMP: gcc | ||
BCFG: default | ||
CI_CROSS_TARGETS: ${{ matrix.cross }} | ||
APT: re2c | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
# configuration: [default, static, debug, static-debug] | ||
configuration: [default] | ||
cross: | ||
- linux-aarch64 | ||
- linux-arm@arm-linux-gnueabi | ||
- linux-arm@arm-linux-gnueabihf | ||
- linux-ppc | ||
- linux-ppc64 | ||
- win32-x86-mingw | ||
- windows-x64-mingw | ||
- [email protected] | ||
- [email protected] | ||
- RTEMS-pc686-qemu@5 | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Prepare and compile dependencies | ||
run: python cue.py prepare | ||
- name: Build main module | ||
run: python cue.py build | ||
- name: Run main module tests | ||
run: python cue.py -T 15M test | ||
- name: Collect and show test results | ||
run: python cue.py test-results |