Skip to content

Commit 04ef298

Browse files
committed
add GHA
1 parent 3ccd191 commit 04ef298

1 file changed

Lines changed: 99 additions & 0 deletions

File tree

‎.github/workflows/ci-scripts.yml‎

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
name: Makefile
2+
3+
on: [push, pull_request, workflow_dispatch]
4+
5+
permissions:
6+
contents: read
7+
8+
defaults:
9+
run:
10+
shell: bash
11+
12+
env:
13+
SETUP_PATH: .ci-local:.ci
14+
15+
jobs:
16+
make:
17+
name: ${{ matrix.name }}
18+
runs-on: ${{ matrix.os }}
19+
strategy:
20+
fail-fast: false
21+
matrix:
22+
include:
23+
- name: linux-7.0
24+
os: ubuntu-latest
25+
cmp: gcc
26+
base: "7.0"
27+
28+
- name: mac-7.0
29+
os: macos-latest
30+
cmp: gcc
31+
base: "7.0"
32+
33+
env:
34+
MODULES: "pvxs"
35+
BASE: ${{ matrix.base }}
36+
BASE_RECURSIVE: NO
37+
PVXS: master
38+
PVXS_REPOOWNER: epics-base
39+
CMP: ${{ matrix.cmp }}
40+
BCFG: default
41+
TEST: ${{ matrix.test }}
42+
EXTRA: ${{ matrix.extra }}
43+
44+
steps:
45+
- uses: actions/checkout@v6
46+
with:
47+
submodules: recursive
48+
49+
- name: Automatic core dumper analysis
50+
uses: mdavidsaver/ci-core-dumper@ci
51+
52+
- name: "apt-get install"
53+
if: runner.os == 'Linux'
54+
run: |
55+
sudo apt-get update
56+
sudo apt-get -y install libreadline-dev cmake gdb libevent-dev
57+
58+
- name: "brew libevent"
59+
if: runner.os == 'macOS'
60+
run: |
61+
brew install libevent
62+
echo "LIBEVENT=$(brew --prefix)" >> "$GITHUB_ENV"
63+
64+
- name: "vcpkg cache"
65+
if: runner.os == 'Windows'
66+
uses: actions/cache@v5
67+
with:
68+
path: c:/vcpkg-cache
69+
key: ${{ runner.os }}-vcpkg
70+
71+
- name: "vcpkg build"
72+
if: runner.os == 'Windows'
73+
shell: bash
74+
run: |
75+
install -d c:/vcpkg-cache
76+
vcpkg install --binarysource="clear;files,c:/vcpkg-cache,readwrite" "libevent"
77+
ls C:/vcpkg/installed/x64-windows
78+
echo "LIBEVENT=C:/vcpkg/installed/x64-windows" >> "$GITHUB_ENV"
79+
80+
- name: Prepare and compile dependencies
81+
run: python .ci/cue.py prepare
82+
83+
- name: Build main module
84+
run: python .ci/cue.py build
85+
86+
- name: Run main module tests
87+
run: python .ci/cue.py test
88+
89+
- name: Collect and show test results
90+
if: ${{ always() }}
91+
run: python .ci/cue.py test-results
92+
93+
- name: Upload tapfiles Artifact
94+
if: ${{ always() }}
95+
uses: actions/upload-artifact@v7
96+
with:
97+
name: tapfiles ${{ matrix.name }}
98+
path: '**/O.*/*.tap'
99+
if-no-files-found: ignore

0 commit comments

Comments
 (0)