Files
Ralph Lange 4e4f33e54f
Some checks failed
ci-scripts build/test / cross linux-aarch64 / / default (push) Successful in 2m56s
ci-scripts build/test / cross linux-arm@arm-linux-gnueabihf / / default (push) Successful in 2m52s
ci-scripts build/test / cross linux-arm@arm-linux-gnueabi / / default (push) Successful in 3m15s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.9 / / default (push) Successful in 3m25s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.10 / / default (push) Successful in 3m45s
ci-scripts build/test / cross linux-ppc64 / / default (push) Successful in 3m29s
ci-scripts build/test / cross linux-ppc / / default (push) Successful in 3m58s
ci-scripts build/test / cross windows-x64-mingw / / default (push) Successful in 4m25s
ci-scripts build/test / cross win32-x86-mingw / / default (push) Successful in 4m31s
ci-scripts build/test / cross RTEMS-pc686-qemu@5 / / default (push) Successful in 5m32s
ci-scripts build/test / Unit tests on macos-13 (push) Has been cancelled
ci-scripts build/test / Unit tests on macos-14 (push) Has been cancelled
ci-scripts build/test / Unit tests on macos-15 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2022 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2025 (push) Has been cancelled
ci-scripts build/test / clang / debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / debug / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / clang / default / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / default / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / clang / static / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / static / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / clang / static-debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / static-debug / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / gcc / debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / debug / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / gcc / default / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / default / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / gcc / static / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / static / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-13 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-14 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-15 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-13 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-14 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-15 (push) Has been cancelled
ci-scripts build/test / gcc / debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / debug / windows-2025 (push) Has been cancelled
ci-scripts build/test / gcc / default / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / default / windows-2025 (push) Has been cancelled
ci-scripts build/test / gcc / static / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / static / windows-2025 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / windows-2025 (push) Has been cancelled
ci-scripts build/test / vs2022 / debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / debug / windows-2025 (push) Has been cancelled
ci-scripts build/test / vs2022 / default / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / default / windows-2025 (push) Has been cancelled
ci-scripts build/test / vs2022 / static / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / static / windows-2025 (push) Has been cancelled
ci-scripts build/test / vs2022 / static-debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / static-debug / windows-2025 (push) Has been cancelled
ci: update GHA examples
2025-08-28 17:21:12 +02:00
..

GitHub Actions Scripts for EPICS Modules

Features

  • 20 parallel runners on Linux/Windows (5 runners on MacOS)
  • 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 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)
  • Caching not supported yet.

How to Use these Scripts

  1. Add the ci-scripts respository as a Git Submodule (see README one level above).

  2. Add settings files defining which dependencies in which versions you want to build against (see README one level above).

  3. Create a GitHub Actions configuration by copying one of the workflow examples into the directory .github/workflows of your module.

    $ mkdir -p .github/workflows
    $ cp .ci/github-actions/ci-scripts-build.yml.example-full .github/workflows/ci-scripts-build.yml
    
  4. Edit the workflow configuration to include the build jobs you want GitHub Actions to run.

    Build jobs are specified in the jobs: <job-name>: strategy: declaration. The matrix: element specifies the axes as configuration parameters with their lists of values, env: (on the build level) controls the setting of environment variables (which can be matrix parameters). The runs-on: setting specifies the image (operating system) of the runner. The name: is what shows up in the web interface for the workflow, builds and jobs, and the elements under steps: describe the actions executed for each job of the matrix.

    Please check the comments in the examples for more hints, and the GitHub Actions documentation for a lot more options and details.

  5. Push your changes and click on the Actions tab of your GitHub repository page to see your build results.

Specifics

Quote Environment Variable Values

Variable settings distinguish between numerical and string values. Better quote all branch and tag names. E.g.,

env:
  BASE: "7.0"

to avoid ci-scripts trying to git clone with --branch 7.

Caches

GitHub Actions provides caching of dependencies.

However, since their cache restore and create algorithm is fundamentally different from those used by Travis and AppVeyor, this will require some more changes in ci-scripts to work. Be patient.