-
Notifications
You must be signed in to change notification settings - Fork 2
148 lines (122 loc) · 3.95 KB
/
test.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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# this is pre-set to run on a specific revision, for troubleshooting purposes
name: Test copy of Build macOS/Windows distributions
on:
workflow_dispatch:
inputs:
refToBuild:
description: 'Branch, tag or commit SHA1 to build'
required: true
type: string
push:
tags:
- '*'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest]
steps:
- name: Check out Git repository
uses: actions/checkout@v3
with:
ref: ${{ inputs.refToBuild }}
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v1
with:
node-version: 16
- name: Install Java and Maven
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: '11'
- name: Check out submodule
run: git submodule update --init --recursive
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Cache yarn
uses: actions/cache@v3
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Cache downloaded Maven dependencies
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Cache downloaded JRE
uses: actions/cache@v3
with:
path: engine/src/main/jre
# always update cache using this trick:
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#update-a-cache
key: ${{ runner.os }}-jre-${{ github.run_id }}
restore-keys: |
${{ runner.os }}-jre-
- name: Install GNU Make on macOS
if: ${{ matrix.os == 'macos-latest' }}
run: |
brew update
brew install make
- name: Build DMG if on macOS
if: ${{ matrix.os == 'macos-latest' }}
run: gmake dmg
- name: Build EXE if on Windows
if: ${{ matrix.os == 'windows-latest' }}
shell: cmd
run: engine\\make.exe exe
- name: Upload the DMG
if: ${{ matrix.os == 'macos-latest' }}
uses: actions/upload-artifact@v3
with:
name: "daisy-pipeline.dmg"
path: dist/*.dmg
- name: Upload the EXE
if: ${{ matrix.os == 'windows-latest' }}
uses: actions/upload-artifact@v3
with:
name: "daisy-pipeline.exe"
path: dist/*.exe
# # This is a basic workflow that is manually triggered
# name: Test build workflow
# on:
# workflow_dispatch:
# env:
# GH_TOKEN: ${{ secrets.GH_PIPELINE_TOKEN }}
# # A workflow run is made up of one or more jobs that can run sequentially or in parallel
# jobs:
# build:
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# os: [macos-latest]
# steps:
# - name: Check out Git repository
# uses: actions/checkout@v1
# - name: Install Node.js, NPM and Yarn
# uses: actions/setup-node@v1
# with:
# node-version: 16
# - name: Get yarn cache directory path
# id: yarn-cache-dir-path
# run: echo "::set-output name=dir::$(yarn cache dir)"
# - name: Cache yarn
# uses: actions/cache@v3
# with:
# path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
# key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
# restore-keys: |
# ${{ runner.os }}-yarn-
# - name: Run install
# uses: borales/actions-yarn@v4
# with:
# cmd: install # will run `yarn install` command
# - name: Run build
# uses: borales/actions-yarn@v4
# with:
# cmd: dist-mac-dev