Skip to content

Add checks to validate bin builds #6

Add checks to validate bin builds

Add checks to validate bin builds #6

Workflow file for this run

name: Binaries Build
on:
push:
pull_request:
jobs:
build-binaries:
name: Build Binaries
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: '~1.19'
- name: Build All Binaries
run: make
- name: Archive Binaries
uses: actions/upload-artifact@v2
with:
name: binaries
path: bin/
test:
needs: build-binaries
name: Check ${{ matrix.binary }}
strategy:
matrix:
include:
- os: ubuntu-latest
binary: fioctl-linux-amd64
- os: ubuntu-latest
binary: fioctl-linux-arm64
qemu: true
qemu-platform: aarch64
- os: windows-latest
binary: fioctl-windows-amd64.exe
- os: macos-latest
binary: fioctl-darwin-amd64
runs-on: ${{ matrix.os }}
steps:
- name: Set up QEMU
if: matrix.qemu
uses: docker/setup-qemu-action@v3
with:
platforms: ${{ matrix.qemu-platform }}
- name: Download Binaries
uses: actions/download-artifact@v2
with:
name: binaries
path: bin/
- name: Set Execute Permission
if: runner.os != 'Windows'
run: chmod +x ./bin/${{ matrix.binary }}
- name: Install QEMU user static
if: matrix.qemu
run: sudo apt-get update && sudo apt-get install -y qemu-user-static
shell: bash
- name: Verify binary
run: |
if ("${{ matrix.qemu }}" -eq "true") {
qemu-${{ matrix.qemu-platform }}-static ./bin/${{ matrix.binary }} logout
} else {
./bin/${{ matrix.binary }} logout
}
shell: pwsh