-
-
Notifications
You must be signed in to change notification settings - Fork 0
159 lines (152 loc) · 4.56 KB
/
release.yml
File metadata and controls
159 lines (152 loc) · 4.56 KB
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
name: Release to crates.io and GitHub Releases
on:
push:
tags:
- 'v*'
jobs:
lint-with-clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- uses: actions-rs/cargo@v1
with:
command: clippy
build-linux:
runs-on: ubuntu-latest
needs: lint-with-clippy
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install Targets
run: make install-targets-linux
- name: Build Linux
id: build-linux
run: |
make build-linux
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: caniuse-linux-x86
path: ./caniuse-linux-x86
build-macos-x86:
runs-on: macos-11
needs: lint-with-clippy
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install Targets
run: make install-targets-mac-x86
- name: Build MacOS
id: build-macos-x86
run: |
make build-macos-x86
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: caniuse-macos-x86
path: ./caniuse-macos-x86
build-macos-arm:
runs-on: macos-11
needs: lint-with-clippy
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install Targets
run: make install-targets-mac-arm
- name: Build MacOS
id: build-macos-arm
run: |
make build-macos-arm
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: caniuse-macos-arm
path: ./caniuse-macos-arm
build-alfred-workflows:
runs-on: macos-11
needs: [build-macos-x86, build-macos-arm]
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Download MacOS x86 Build Artifact
uses: actions/download-artifact@v2
with:
name: caniuse-macos-x86
- name: Download MacOS ARM Build Artifact
uses: actions/download-artifact@v2
with:
name: caniuse-macos-arm
- name: Create Alfred Workflow File
id: build-alfred-workflows
run: |
make WORKFLOW_FILE_NAME="caniuse-macos-x86.alfredworkflow" CANIUSE_BIN="caniuse-macos-x86" alfred-workflow
make WORKFLOW_FILE_NAME="caniuse-macos-arm.alfredworkflow" CANIUSE_BIN="caniuse-macos-arm" alfred-workflow
- name: Upload MacOS x86 Alfred Workflow File
uses: actions/upload-artifact@v2
with:
name: alfred-workflow-x86
path: caniuse-macos-x86.alfredworkflow
- name: Upload MacOS ARM Alfred Workflow File
uses: actions/upload-artifact@v2
with:
name: alfred-workflow-arm
path: caniuse-macos-arm.alfredworkflow
create-github-release:
runs-on: ubuntu-latest
needs: [build-linux, build-macos-x86, build-macos-arm, build-alfred-workflows]
steps:
- uses: actions/checkout@v2
- name: Download MacOS x86 Build Artifact
uses: actions/download-artifact@v2
with:
name: caniuse-macos-x86
- name: Download MacOS ARM Build Artifact
uses: actions/download-artifact@v2
with:
name: caniuse-macos-arm
- name: Download Linux x86 Build Artifact
uses: actions/download-artifact@v2
with:
name: caniuse-linux-x86
- name: Download x86 Alfred Workflow File
uses: actions/download-artifact@v2
with:
name: alfred-workflow-x86
- name: Download ARM Alfred Workflow File
uses: actions/download-artifact@v2
with:
name: alfred-workflow-arm
- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
generate_release_notes: true
fail_on_unmatched_files: true
files: |
caniuse-macos-x86
caniuse-macos-x86.alfredworkflow
caniuse-macos-arm
caniuse-macos-arm.alfredworkflow
caniuse-linux-x86
cargo-publish:
runs-on: ubuntu-latest
needs: create-github-release
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Cargo Publish
env:
CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }}
run: make publish