mirror of
https://github.com/fleetdm/fleet
synced 2026-05-08 09:40:49 +00:00
The macOS runners installing Docker are having problems initializing the new Docker version (4.11.0) which effectively blocks PRs with Go code. This locks the Docker version we install to 4.10.0, which works until we figure out a solution or a new Docker version goes out.
86 lines
3.1 KiB
YAML
86 lines
3.1 KiB
YAML
name: Test packaging
|
|
|
|
# This workflow tests packaging of Fleet-osquery with the
|
|
# `fleetctl package` command. It fetches the targets: orbit,
|
|
# osquery and fleet-desktop from the default (Fleet's) TUF server,
|
|
# https://tuf.fleetctl.com.
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- patch-*
|
|
pull_request:
|
|
paths:
|
|
- '**.go'
|
|
- '.github/workflows/test-packaging.yml'
|
|
workflow_dispatch: # Manual
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
test-packaging:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest]
|
|
go-version: ['^1.17.8']
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
- name: Install Docker
|
|
timeout-minutes: 60
|
|
if: matrix.os == 'macos-latest'
|
|
# From https://github.com/docker/for-mac/issues/2359#issuecomment-943131345
|
|
run: |
|
|
# fixme: lock Docker version to 4.10.0 as newer versions fail to initialize
|
|
curl -L https://raw.githubusercontent.com/Homebrew/homebrew-cask/c65030146a5cf2070c2499b6c68e2c3495c99731/Casks/docker.rb > docker.rb && brew install docker.rb
|
|
sudo /Applications/Docker.app/Contents/MacOS/Docker --unattended --install-privileged-components
|
|
open -a /Applications/Docker.app --args --unattended --accept-license
|
|
echo "Waiting for Docker to start up..."
|
|
while ! /Applications/Docker.app/Contents/Resources/bin/docker info &>/dev/null; do sleep 1; done
|
|
echo "Docker is ready."
|
|
|
|
- name: Pull fleetdm/wix
|
|
# Run in background while other steps complete to speed up the workflow
|
|
run: docker pull fleetdm/wix:latest &
|
|
|
|
- name: Install Go
|
|
uses: actions/setup-go@84cbf8094393cdc5fe1fe1671ff2647332956b1a # v2
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
|
|
- name: Checkout Code
|
|
uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2
|
|
|
|
# It seems faster not to cache Go dependencies
|
|
- name: Install Go Dependencies
|
|
run: make deps-go
|
|
|
|
- name: Build fleetctl
|
|
run: make fleetctl
|
|
|
|
- name: Build DEB
|
|
run: ./build/fleetctl package --type deb --enroll-secret=foo --fleet-url=https://localhost:8080
|
|
|
|
- name: Build DEB with Fleet Desktop
|
|
run: ./build/fleetctl package --type deb --enroll-secret=foo --fleet-url=https://localhost:8080 --fleet-desktop
|
|
|
|
- name: Build RPM
|
|
run: ./build/fleetctl package --type rpm --enroll-secret=foo --fleet-url=https://localhost:8080
|
|
|
|
- name: Build RPM with Fleet Desktop
|
|
run: ./build/fleetctl package --type rpm --enroll-secret=foo --fleet-url=https://localhost:8080 --fleet-desktop
|
|
|
|
- name: Build MSI
|
|
run: ./build/fleetctl package --type msi --enroll-secret=foo --fleet-url=https://localhost:8080
|
|
|
|
- name: Build MSI with Fleet Desktop
|
|
run: ./build/fleetctl package --type msi --enroll-secret=foo --fleet-url=https://localhost:8080 --fleet-desktop
|
|
|
|
- name: Build PKG
|
|
run: ./build/fleetctl package --type pkg --enroll-secret=foo --fleet-url=https://localhost:8080
|
|
|
|
- name: Build PKG with Fleet Desktop
|
|
run: ./build/fleetctl package --type pkg --enroll-secret=foo --fleet-url=https://localhost:8080 --fleet-desktop
|