-
Notifications
You must be signed in to change notification settings - Fork 6
121 lines (110 loc) · 3.51 KB
/
release.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
name: Production Builds
on:
push:
branches: [ master ]
workflow_dispatch:
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- if: matrix.os == 'windows-latest'
run: bash -c "rm /bin/link" # interferes with cl/link.exe
- if: matrix.os == 'windows-latest'
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
- if: matrix.os == 'windows-latest'
shell: cmd
env:
MKN_CL_PREFERRED: 1
KUL_GIT_CO: --depth 1
run: |
bash -c ./res/ci/win_build.sh
mkn build -dtKOg 0 -a "-std:c++17 -EHsc"
- if: matrix.os == 'ubuntu-latest'
env:
MKN_GCC_PREFERRED: 1
KUL_GIT_CO: --depth 1
run: |
./res/ci/nixish_setup.sh && make nix
KLOG=3 ./mkn build -dtKa "-std=c++17 -fPIC" -O 2 -g 0 -W 9 -o mkn_nix
- if: matrix.os == 'ubuntu-latest'
uses: actions/[email protected]
with:
name: maiken-${{ matrix.os }}
path: bin/build/mkn_nix
retention-days: 1
- if: matrix.os == 'windows-latest'
uses: actions/[email protected]
with:
name: maiken-${{ matrix.os }}
path: bin/build/mkn.exe
retention-days: 1
build_many_linux:
runs-on: ubuntu-20.04
container: quay.io/pypa/manylinux_2_28_x86_64:latest
steps:
- uses: actions/checkout@v3
- run: ./res/ci/nixish_setup.sh && make nix
- env:
MKN_GCC_PREFERRED: 1
KUL_GIT_CO: --depth 1
run: KLOG=3 ./mkn build -dtKa "-std=c++17 -fPIC" -O 2 -g 0 -W 9 -o mkn_manylinux
- uses: actions/[email protected]
with:
name: maiken-manylinux-latest
path: bin/build/mkn_manylinux
retention-days: 1
build_x86_macos:
runs-on: macos-12
steps:
- uses: actions/checkout@v4
- run: ./res/ci/nixish_setup.sh && make bsd
- env:
MKN_GCC_PREFERRED: 1
KUL_GIT_CO: --depth 1
run: KLOG=3 ./mkn build -dtKa "-std=c++17 -fPIC" -O 2 -g 0 -W 9 -o mkn_x86_osx
- uses: actions/[email protected]
with:
name: maiken-macos-12
path: bin/build/mkn_x86_osx
retention-days: 1
build_arm_macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- run: ./res/ci/nixish_setup.sh && make bsd
- env:
MKN_GCC_PREFERRED: 1
KUL_GIT_CO: --depth 1
run: KLOG=3 ./mkn build -dtKa "-std=c++17 -fPIC" -O 2 -g 0 -W 9 -o mkn_arm_osx
- uses: actions/[email protected]
with:
name: maiken-macos-latest
path: bin/build/mkn_arm_osx
retention-days: 1
release:
name: "Prelease"
needs: [build, build_many_linux, build_arm_macos, build_x86_macos]
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- name: Display fetched artifacts
run: ls -R
- name: Emit a Github Release
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
prerelease: true
title: "Development Build"
files: |
maiken-windows-latest/mkn.exe
maiken-ubuntu-latest/mkn_nix
maiken-manylinux-latest/mkn_manylinux
maiken-macos-12/mkn_x86_osx
maiken-macos-latest/mkn_arm_osx