forked from OpenSmalltalk/opensmalltalk-vm
-
Notifications
You must be signed in to change notification settings - Fork 0
79 lines (68 loc) · 2.14 KB
/
linux-generic.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
75
76
77
78
79
name: Build for Linux (generic)
on:
push: # All branches, but appropriate paths only.
paths:
# This workflow spec and its support scripts
- '.github/workflows/linux-generic.yml'
- 'scripts/ci/*linux_x86.sh'
- 'scripts/ci/*build.sh'
- 'deploy/**'
# Relevant sources for this platform
- 'building/linux32/**' # Makefile-based build scripts
- 'building/linux64/**' # Makefile-based build scripts
- '*src/**' # Generated VMMaker sources (incl. plugins)
- 'platforms/Cross/**'
- 'platforms/unix/**'
# Skip changes in documentation artifacts
- '!**.md'
- '!**HowToBuild'
pull_request:
branches:
- Cog
paths-ignore:
- '**.md'
- '**HowToBuild'
jobs:
build:
strategy:
fail-fast: true
matrix:
arch:
- linux64
- linux32
flavor:
- squeak.stack.spur
heartbeat:
- threaded
mode:
- fast
runs-on: ubuntu-latest
name: ${{ matrix.flavor }}${{ matrix.heartbeat == 'itimer' && ' (itimer)' || '' }} for ${{ matrix.arch }}${{ matrix.mode == 'debug' && ' (DEBUG)' || matrix.mode == 'assert' && ' (ASSERT)' || '' }}
env:
ARCH: ${{ matrix.arch }}
FLAVOR: ${{ matrix.flavor }}
MODE: ${{ matrix.mode }}
steps:
- name: Checkout files
uses: actions/checkout@v2
# - name: Restore build cache
# uses: actions/cache@v2
# with:
# path: .thirdparty-cache
# key: thirdparty-cache-linux-generic
- name: Prepare environment
run: ./scripts/ci/actions_prepare_linux_x86.sh
- name: Build VM
run: ./scripts/ci/actions_build.sh
env:
HEARTBEAT: ${{ matrix.heartbeat }}
# - name: Sign VM (not implemented)
# if: false
# run: ./deploy/sign-vm.sh
- name: Pack VM
run: ./deploy/pack-vm.sh
- name: Store artifact w/ revision
uses: actions/upload-artifact@v2
with:
name: ${{ env.ASSET_NAME }}_${{ env.ASSET_REVISION }}
path: ${{ env.PRODUCTS_PATH }}/${{ env.ASSET_NAME }}.${{ env.ASSET_EXTENSION }}