From c993e5a4852a5c75e13a30944c1bf9c1c6440ac8 Mon Sep 17 00:00:00 2001 From: Lucas Manuel Rodriguez Date: Fri, 15 Nov 2024 19:05:07 -0300 Subject: [PATCH] Add workflow to build `fleetd_tables` (#23873) Workflow to build `fleetd_tables` in Github. --- .github/workflows/build-fleetd_tables.yaml | 45 ++++++++++++++++++++++ Makefile | 10 ++--- 2 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/build-fleetd_tables.yaml diff --git a/.github/workflows/build-fleetd_tables.yaml b/.github/workflows/build-fleetd_tables.yaml new file mode 100644 index 000000000000..7c37b483386d --- /dev/null +++ b/.github/workflows/build-fleetd_tables.yaml @@ -0,0 +1,45 @@ +name: Build fleetd_tables osquery extension + +on: + workflow_dispatch: + +defaults: + run: + # fail-fast using bash -eo pipefail. See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference + shell: bash + +permissions: + contents: read + +jobs: + build-binaries: + runs-on: macos-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 + with: + egress-policy: audit + + - name: Checkout Code + uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + + - name: Install Go + uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0 + with: + go-version-file: "go.mod" + + - name: Install Go Dependencies + run: make deps-go + + - name: Generate static files + run: | + export PATH=$PATH:~/go/bin + make generate + + - name: Build binaries + run: make fleetd-tables-all + + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v2 + with: + name: fleetd_tables + path: fleetd_tables_* diff --git a/Makefile b/Makefile index bf6eb1a9f10b..fc6acdb3156a 100644 --- a/Makefile +++ b/Makefile @@ -266,13 +266,13 @@ fleetd-tables-linux-arm64: GOOS=linux GOARCH=arm64 go build -o fleetd_tables_linux_arm64.ext ./orbit/cmd/fleetd_tables fleetd-tables-darwin: GOOS=darwin GOARCH=amd64 go build -o fleetd_tables_darwin.ext ./orbit/cmd/fleetd_tables -fleetd-tables-darwin_arm: - GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 go build -o fleetd_tables_darwin_arm.ext ./orbit/cmd/fleetd_tables -fleetd-tables-darwin-universal: fleetd-tables-darwin fleetd-tables-darwin_arm - lipo -create fleetd_tables_darwin.ext fleetd_tables_darwin_arm.ext -output fleetd_tables_darwin_universal.ext +fleetd-tables-darwin_arm64: + GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 go build -o fleetd_tables_darwin_arm64.ext ./orbit/cmd/fleetd_tables +fleetd-tables-darwin-universal: fleetd-tables-darwin fleetd-tables-darwin_arm64 + lipo -create fleetd_tables_darwin.ext fleetd_tables_darwin_arm64.ext -output fleetd_tables_darwin_universal.ext fleetd-tables-all: fleetd-tables-windows fleetd-tables-linux fleetd-tables-darwin-universal fleetd-tables-linux-arm64 fleetd-tables-clean: - rm -f fleetd_tables_windows.exe fleetd_tables_linux.ext fleetd_tables_darwin.ext fleetd_tables_darwin_arm.ext fleetd_tables_darwin_universal.ext + rm -f fleetd_tables_windows.exe fleetd_tables_linux.ext fleetd_tables_linux_arm64.ext fleetd_tables_darwin.ext fleetd_tables_darwin_arm64.ext fleetd_tables_darwin_universal.ext .pre-binary-arch: ifndef GOOS