Skip to content

Commit

Permalink
(chore): add GitHub action to test build and if binaries are function…
Browse files Browse the repository at this point in the history
…al for supported platforms

Signed-off-by: Camila Macedo <camila.macedo@foundries.io>

Signed-off-by: Camila Macedo <camilamacedo86@gmail.com>
  • Loading branch information
camilamacedo86 committed Oct 2, 2023
1 parent 823011f commit 03363fa
Showing 1 changed file with 75 additions and 0 deletions.
75 changes: 75 additions & 0 deletions .github/workflows/binaries.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
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

0 comments on commit 03363fa

Please sign in to comment.