-
Notifications
You must be signed in to change notification settings - Fork 22
141 lines (116 loc) · 3.72 KB
/
artifacts.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
name: Artifacts
on:
push:
branches: [ "main" ]
release:
types: [ "created" ]
permissions:
contents: write
jobs:
phars:
name: Create phars and upload
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: ./.github/actions/install
with:
composer-flags: "--no-dev"
- uses: ./.github/actions/phar
- name: Upload the Linux phar
uses: actions/upload-artifact@v4
with:
name: 'castor.linux-amd64.phar'
path: tools/phar/build/castor.linux-amd64.phar
if-no-files-found: error
- name: Upload the Darwin AMD64 phar
uses: actions/upload-artifact@v4
with:
name: 'castor.darwin-amd64.phar'
path: tools/phar/build/castor.darwin-amd64.phar
if-no-files-found: error
- name: Upload the Darwin ARM64 phar
uses: actions/upload-artifact@v4
with:
name: 'castor.darwin-arm64.phar'
path: tools/phar/build/castor.darwin-arm64.phar
if-no-files-found: error
- name: Upload the Windows phar
uses: actions/upload-artifact@v4
with:
name: 'castor-windows-amd64.phar'
path: tools/phar/build/castor.windows-amd64.phar
if-no-files-found: error
static-linux:
needs: phars
name: Create Linux static binary and upload
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: ./.github/actions/install
- uses: ./.github/actions/cache
with:
os: 'linux'
- name: retrieve phar artifacts
uses: actions/download-artifact@v4
with:
path: tools/phar/build
merge-multiple: true
- uses: ./.github/actions/static
with:
os: 'linux'
- name: Upload the Linux static binary
uses: actions/upload-artifact@v4
with:
name: 'castor.linux-amd64'
path: ./castor.linux-amd64
if-no-files-found: error
static-darwin-amd64:
needs: phars
name: Create MacOs amd64 static binary and upload
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: ./.github/actions/install
- uses: ./.github/actions/cache
with:
os: 'darwin'
- name: retrieve phar artifacts
uses: actions/download-artifact@v4
with:
path: tools/phar/build
merge-multiple: true
- uses: ./.github/actions/static
with:
os: 'darwin-amd64'
- name: Upload the MacOs amd64 static binary
uses: actions/upload-artifact@v4
with:
name: 'castor.darwin-amd64'
path: ./castor.darwin-amd64
if-no-files-found: error
release:
name: Upload artifacts to the release
if: github.event_name == 'release'
needs: [phars, static-linux, static-darwin-amd64]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: retrieve artifacts
uses: actions/download-artifact@v4
with:
path: build
merge-multiple: true
- name: Upload files
run: |
gh release upload ${{ github.ref_name }} ./build/castor.darwin-amd64
gh release upload ${{ github.ref_name }} ./build/castor.darwin-amd64.phar
gh release upload ${{ github.ref_name }} ./build/castor.darwin-arm64.phar
gh release upload ${{ github.ref_name }} ./build/castor.linux-amd64
gh release upload ${{ github.ref_name }} ./build/castor.linux-amd64.phar
gh release upload ${{ github.ref_name }} ./build/castor.windows-amd64.phar
env:
GH_TOKEN: ${{ github.token }}