Skip to content

Commit 0c73881

Browse files
committed
Release build workflow
1 parent f5befe4 commit 0c73881

1 file changed

Lines changed: 75 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
# Trigger on version tags: v4.10 etc.
6+
tags:
7+
- 'v*'
8+
# TEMP
9+
pull_request:
10+
branches: [ master ]
11+
# Allows manual triggering
12+
workflow_dispatch:
13+
inputs:
14+
do_publish:
15+
description: 'Actually publish to GitHub Releases?'
16+
required: true
17+
type: boolean
18+
default: false
19+
20+
jobs:
21+
22+
build:
23+
strategy:
24+
matrix:
25+
include:
26+
- os: ubuntu-latest
27+
artifact_name: prism-linux64
28+
- os: macos-latest
29+
artifact_name: prism-macos64
30+
runs-on: ${{ matrix.os }}
31+
32+
steps:
33+
- uses: actions/checkout@v4
34+
- name: Set up JDK
35+
uses: actions/setup-java@v4
36+
with:
37+
java-version: '17'
38+
distribution: 'temurin'
39+
- name: Build
40+
shell: bash
41+
working-directory: ./prism
42+
run: |
43+
make release
44+
make unittests
45+
make tests
46+
- name: Upload artifact
47+
uses: actions/upload-artifact@v4
48+
with:
49+
name: ${{ matrix.artifact_name }}
50+
path: release/*.tar.gz
51+
52+
test_release:
53+
needs: build
54+
strategy:
55+
matrix:
56+
include:
57+
- os: ubuntu-latest
58+
artifact: prism-linux64
59+
- os: macos-latest
60+
artifact: prism-macos64
61+
runs-on: ${{ matrix.os }}
62+
63+
steps:
64+
- name: Download Artifact
65+
uses: actions/download-artifact@v4
66+
with:
67+
name: ${{ matrix.artifact }}
68+
69+
- name: Build and run smoke test
70+
shell: bash
71+
run: |
72+
tar -xzf release/*.tar.gz
73+
cd prism-*
74+
./install.sh
75+
etc/tests/run.sh

0 commit comments

Comments
 (0)