-
Notifications
You must be signed in to change notification settings - Fork 43
46 lines (40 loc) · 1.11 KB
/
build.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
name: Build
on:
workflow_dispatch:
push:
paths-ignore:
- '**.md'
pull_request:
branches: [main]
jobs:
build-chisel:
name: Build Chisel
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- arch: 'amd64'
machine_arch: 'X86-64'
- arch: 'arm'
machine_arch: 'ARM'
- arch: 'arm64'
machine_arch: 'AArch64'
- arch: 'ppc64le'
machine_arch: 'PowerPC64'
- arch: 'riscv64'
machine_arch: 'RISC-V'
- arch: 's390x'
machine_arch: 'S/390'
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version-file: 'go.mod'
- name: Build Chisel for linux/${{ matrix.arch }}
run: GOARCH=${{ matrix.arch }} go build ./cmd/chisel/
- name: Test if is executable
run: test -x ./chisel
- name: Test if binary has the right machine architecture
run: |
[ "$(readelf -h chisel | grep 'Machine:' | awk -F' ' '{print $NF}')" == "${{ matrix.machine_arch }}" ]