-
Notifications
You must be signed in to change notification settings - Fork 1
74 lines (62 loc) · 2.21 KB
/
ci-workflow-macos-14_7.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
name: Regression Test for ion-core on MacOS
on:
pull_request:
branches:
- integration
workflow_dispatch:
push:
branches:
- update-4.1.3a-symlink
- update-4.1.3s-add-os-support
jobs:
build-and-test:
runs-on: [ self-hosted, macOS, X64, 14.7, ion-core ] # Use Ubuntu. Or macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4 # Checkout the code from the repository
# - name: Set up dependencies
# run: |
# brew update
# brew install autoconf automake libtool bash python3 gcc make
- name: Generate timestamp for file names
id: timestamp
run: echo "TIMESTAMP=$(date +'%Y%m%d-%H%M%S')" >> $GITHUB_ENV
- name: Run build and tests, capture stdout
run: | # Redirect stdout and stderr to a log
{
echo "Starting build and tests at $(date)"
make clean
sudo make uninstall
make distclean
./scripts/extract.sh
make
make static
make shared
sudo make install
sudo make install-lib
sudo make man
make test
} 2>&1 | tee build-and-test.log
- name: Display Progress
if: ${{ always() }} # Display progress even if tests were interrupted
run: |
cat ./tests/progress
- name: Upload full build and test log
if: ${{ always() }} # Capture log even if the previous step fails
uses: actions/upload-artifact@v4
with:
name: build-and-test-log-${{ env.TIMESTAMP }}
path: build-and-test.log # Upload the entire stdout and stderr as an artifact
- name: Upload progress file as artifact
if: ${{ always() }} # Capture progress even if the previous step fails
uses: actions/upload-artifact@v4
with:
name: test-progress-${{ env.TIMESTAMP }}
path: ./tests/progress # Upload the 'progress' file for later review
- name: Clean up ION build
if: ${{ always() }} # Clean up even if previous steps fails
run: |
sudo make uninstall-lib
sudo make uninstall
make clean
make distclean