Skip to content

Commit 81dde7c

Browse files
committed
Release build workflow
1 parent f5befe4 commit 81dde7c

2 files changed

Lines changed: 83 additions & 4 deletions

File tree

.github/workflows/make-tests.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ name: Regression tests
33
on:
44
push:
55
branches: [ master ]
6-
pull_request:
7-
branches: [ master ]
6+
# pull_request:
7+
# branches: [ master ]
88

99
jobs:
10-
build:
1110

11+
build:
1212
strategy:
1313
matrix:
1414
java: [11, 21]
@@ -23,14 +23,14 @@ jobs:
2323
java-version: ${{ matrix.java }}
2424
distribution: temurin
2525
- name: make tests
26+
shell: bash
2627
working-directory: ./prism
2728
run: |
2829
make
2930
make unittests
3031
make tests
3132
3233
build-win:
33-
3434
strategy:
3535
matrix:
3636
java: [11, 21]

.github/workflows/release.yml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
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+
pwd
45+
find . -name '*.gz'
46+
find ../.. -name '*.gz'
47+
- name: Upload artifact
48+
uses: actions/upload-artifact@v4
49+
with:
50+
name: ${{ matrix.artifact_name }}
51+
path: prism/release/*.tar.gz
52+
53+
test_release:
54+
needs: build
55+
strategy:
56+
matrix:
57+
include:
58+
- os: ubuntu-latest
59+
artifact: prism-linux64
60+
# - os: macos-latest
61+
# artifact: prism-macos64
62+
runs-on: ${{ matrix.os }}
63+
64+
steps:
65+
- name: Download Artifact
66+
uses: actions/download-artifact@v4
67+
with:
68+
name: ${{ matrix.artifact }}
69+
path: test-dir
70+
- name: Verify download
71+
run: ls -R test-dir/
72+
- name: Build and run smoke test
73+
shell: bash
74+
working-directory: ./test-dir
75+
run: |
76+
tar -xzf p*.tar.gz
77+
cd prism-*
78+
./install.sh
79+
etc/tests/run.sh

0 commit comments

Comments
 (0)