Skip to content

Commit 8b5a6c7

Browse files
committed
Revise release CI
1 parent 2afd920 commit 8b5a6c7

File tree

1 file changed

+73
-5
lines changed

1 file changed

+73
-5
lines changed

.github/workflows/release.yml

Lines changed: 73 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
jobs:
88
windows:
99
runs-on: windows-latest
10+
timeout-minutes: 15
1011

1112
steps:
1213
- uses: actions/checkout@v1
@@ -22,6 +23,7 @@ jobs:
2223

2324
macos:
2425
runs-on: macos-latest
26+
timeout-minutes: 20
2527

2628
steps:
2729
- uses: actions/checkout@v1
@@ -35,18 +37,18 @@ jobs:
3537
- name: Build x86_64 release binary
3638
run: |
3739
source $HOME/.cargo/env
38-
cargo build --verbose --locked --release --target x86_64-apple-darwin
40+
cargo build --verbose --locked --release --target x86_64-apple-darwin
3941
40-
- name: Upload x86_64 artifacts
42+
- name: Upload Intel (x86_64) artifacts
4143
uses: actions/upload-artifact@v1
4244
with:
4345
name: foreman-macos-x86_64
4446
path: target/x86_64-apple-darwin/release/foreman
4547

46-
- name: Build arm64 release binary
48+
- name: Build aarch64 release binary
4749
run: |
4850
source $HOME/.cargo/env
49-
cargo build --verbose --locked --release --target aarch64-apple-darwin
51+
cargo build --verbose --locked --release --target aarch64-apple-darwin
5052
5153
- name: Upload arm64 artifacts
5254
uses: actions/upload-artifact@v1
@@ -56,6 +58,7 @@ jobs:
5658

5759
linux:
5860
runs-on: ubuntu-latest
61+
timeout-minutes: 15
5962

6063
steps:
6164
- uses: actions/checkout@v1
@@ -67,4 +70,69 @@ jobs:
6770
uses: actions/upload-artifact@v1
6871
with:
6972
name: foreman-linux
70-
path: target/release/foreman
73+
path: target/release/foreman
74+
75+
release:
76+
runs-on: ubuntu-latest
77+
timeout-minutes: 15
78+
needs: ['windows', 'macos', 'linux']
79+
steps:
80+
- uses: actions/checkout@v1
81+
- name: Download artifacts
82+
uses: actions/download-artifact@v2
83+
with:
84+
path: artifacts
85+
- run: |
86+
zip -rj foreman-win64.zip ./artifacts/foreman-win64/*
87+
zip -rj foreman-macos-x86_64.zip ./artifacts/foreman-macos-x86_64/*
88+
zip -rj foreman-macos-arm64.zip ./artifacts/foreman-macos-arm64/*
89+
zip -rj foreman-linux.zip ./artifacts/foreman-linux/*
90+
- name: Create release
91+
id: create_release
92+
uses: actions/create-release@v1
93+
env:
94+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
95+
with:
96+
draft: true
97+
tag_name: ${{ github.ref }}
98+
release_name: ${{ github.ref }}
99+
100+
- name: Upload windows build
101+
uses: actions/upload-release-asset@v1
102+
env:
103+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
104+
with:
105+
upload_url: ${{ steps.create_release.outputs.upload_url }}
106+
asset_path: ./foreman-win64.zip
107+
asset_name: foreman-win64.zip
108+
asset_content_type: application/zip
109+
110+
- name: Upload macos build
111+
uses: actions/upload-release-asset@v1
112+
env:
113+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
114+
with:
115+
upload_url: ${{ steps.create_release.outputs.upload_url }}
116+
asset_path: ./foreman-macos-x86_64.zip
117+
asset_name: foreman-macos-x86_64.zip
118+
asset_content_type: application/zip
119+
120+
- name: Upload macos build (arm64)
121+
uses: actions/upload-release-asset@v1
122+
env:
123+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
124+
with:
125+
upload_url: ${{ steps.create_release.outputs.upload_url }}
126+
asset_path: ./foreman-macos-arm64.zip
127+
asset_name: foreman-macos-arm64.zip
128+
asset_content_type: application/zip
129+
130+
- name: Upload linux build
131+
uses: actions/upload-release-asset@v1
132+
env:
133+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
134+
with:
135+
upload_url: ${{ steps.create_release.outputs.upload_url }}
136+
asset_path: ./foreman-linux.zip
137+
asset_name: foreman-linux.zip
138+
asset_content_type: application/zip

0 commit comments

Comments
 (0)