-
Notifications
You must be signed in to change notification settings - Fork 1
153 lines (107 loc) · 3.33 KB
/
build-and-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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: Build and Release
on:
push:
tags:
- 'v*.*.*'
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 -
- name: Install dependencies
run: |
poetry install
poetry add pyinstaller
- name: Generate spec file and build executable
run: |
poetry run pyinstaller --name orion_linux --onefile --add-data "orion_cli/services/*.py:orion_cli/services" orion_cli/cli.py
- name: Upload Linux executable
uses: actions/upload-artifact@v2
with:
name: orion_linux
path: dist/orion_linux
build-macos-intel:
runs-on: macos-13
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Install Poetry
uses: snok/install-poetry@v1
- name: Install dependencies
run: |
poetry install
poetry add pyinstaller
- name: Generate spec file and build executable for Intel macOS
run: |
poetry run pyinstaller --name orion_intel --onefile --add-data "orion_cli/services/*.py:orion_cli/services" orion_cli/cli.py
- name: Upload Intel macOS executable
uses: actions/upload-artifact@v2
with:
name: orion_intel
path: dist/orion_intel
build-macos-arm:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 -
- name: Install dependencies
run: |
poetry install
poetry add pyinstaller
- name: Generate spec file and build executable for Apple Silicon macOS
run: |
poetry run pyinstaller --name orion_arm --onefile --add-data "orion_cli/services/*.py:orion_cli/services" orion_cli/cli.py
- name: Upload Apple Silicon macOS executable
uses: actions/upload-artifact@v2
with:
name: orion_arm
path: dist/orion_arm
release:
needs: [build-linux, build-macos-intel, build-macos-arm]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Download Linux artifact
uses: actions/download-artifact@v2
with:
name: orion_linux
path: ./release_artifacts/orion_linux
- name: Download Intel macOS artifact
uses: actions/download-artifact@v2
with:
name: orion_intel
path: ./release_artifacts/orion_intel
- name: Download Apple Silicon macOS artifact
uses: actions/download-artifact@v2
with:
name: orion_arm
path: ./release_artifacts/orion_arm
- name: Upload to GitHub Releases
uses: softprops/action-gh-release@v1
with:
files: |
./release_artifacts/orion_linux/orion_linux
./release_artifacts/orion_intel/orion_intel
./release_artifacts/orion_arm/orion_arm
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}