Skip to content

Commit a49a8d4

Browse files
authored
Update compile.yml
1 parent c4e35f0 commit a49a8d4

File tree

1 file changed

+79
-25
lines changed

1 file changed

+79
-25
lines changed

.github/workflows/compile.yml

Lines changed: 79 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,31 +7,85 @@ on:
77
pull_request:
88

99
jobs:
10-
build:
11-
name: Build and Upload zipcracker
10+
build-linux-x86:
11+
name: Build for Linux x86
1212
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v3
16+
17+
- name: Install dependencies
18+
run: |
19+
sudo apt-get update
20+
sudo apt-get install -y build-essential libzip-dev
21+
22+
- name: Compile zipcracker
23+
run: |
24+
g++ -std=c++17 -pthread src/zipcracker.cpp -o zipcracker -lzip
25+
26+
- name: Archive binary
27+
run: |
28+
mkdir -p artifacts
29+
mv zipcracker artifacts/zipcracker-linux-x86
30+
chmod +x artifacts/zipcracker-linux-x86
31+
32+
- name: Upload artifact
33+
uses: actions/upload-artifact@v3
34+
with:
35+
name: zipcracker-linux-x86
36+
path: artifacts/zipcracker-linux-x86
37+
38+
build-linux-arm:
39+
name: Build for Linux ARM
40+
runs-on: ubuntu-latest
41+
steps:
42+
- name: Checkout code
43+
uses: actions/checkout@v3
1344

45+
- name: Install ARM cross-compiler
46+
run: |
47+
sudo apt-get update
48+
sudo apt-get install -y gcc-aarch64-linux-gnu libzip-dev
49+
50+
- name: Compile zipcracker for ARM
51+
run: |
52+
aarch64-linux-gnu-g++ -std=c++17 -pthread src/zipcracker.cpp -o zipcracker -lzip
53+
54+
- name: Archive binary
55+
run: |
56+
mkdir -p artifacts
57+
mv zipcracker artifacts/zipcracker-linux-arm
58+
chmod +x artifacts/zipcracker-linux-arm
59+
60+
- name: Upload artifact
61+
uses: actions/upload-artifact@v3
62+
with:
63+
name: zipcracker-linux-arm
64+
path: artifacts/zipcracker-linux-arm
65+
66+
build-macos:
67+
name: Build for macOS
68+
runs-on: macos-latest
1469
steps:
15-
- name: Checkout code
16-
uses: actions/checkout@v3
17-
18-
- name: Install dependencies
19-
run: |
20-
sudo apt-get update
21-
sudo apt-get install -y build-essential libzip-dev
22-
23-
- name: Compile zipcracker
24-
run: |
25-
g++ -std=c++17 -pthread src/zipcracker.cpp -o zipcracker -lzip
26-
27-
- name: Archive binary
28-
run: |
29-
mkdir -p artifacts
30-
mv zipcracker artifacts/
31-
chmod +x artifacts/zipcracker
32-
33-
- name: Upload artifact
34-
uses: actions/upload-artifact@v3
35-
with:
36-
name: zipcracker
37-
path: artifacts/zipcracker
70+
- name: Checkout code
71+
uses: actions/checkout@v3
72+
73+
- name: Install dependencies
74+
run: |
75+
brew install libzip
76+
77+
- name: Compile zipcracker
78+
run: |
79+
g++ -std=c++17 -pthread src/zipcracker.cpp -o zipcracker -lzip
80+
81+
- name: Archive binary
82+
run: |
83+
mkdir -p artifacts
84+
mv zipcracker artifacts/zipcracker-macos
85+
chmod +x artifacts/zipcracker-macos
86+
87+
- name: Upload artifact
88+
uses: actions/upload-artifact@v3
89+
with:
90+
name: zipcracker-macos
91+
path: artifacts/zipcracker-macos

0 commit comments

Comments
 (0)