mirror of
https://github.com/fleetdm/fleet
synced 2026-05-20 23:48:52 +00:00
Add nightly and manual job to run `fleetctl preview` and check for enrolled hosts. Works on macOS and Linux. Windows cannot be tested on GitHub Actions due to lack of Docker Linux support.
42 lines
1.3 KiB
YAML
42 lines
1.3 KiB
YAML
name: Test fleetctl preview
|
|
|
|
on:
|
|
workflow_dispatch: # Manual
|
|
schedule:
|
|
- cron: '0 2 * * *' # Nightly 2AM UTC
|
|
|
|
jobs:
|
|
test-preview:
|
|
timeout-minutes: 60
|
|
strategy:
|
|
matrix:
|
|
# Doesn't work on Windows because Linux Docker containers are not supported.
|
|
os: [ubuntu-20.04, ubuntu-18.04, macos-10.15, macos-11]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Install Docker
|
|
# Docker needs to be installed manually on macOS.
|
|
if: contains(matrix.os, 'macos')
|
|
# From https://github.com/docker/for-mac/issues/2359#issuecomment-943131345
|
|
run: |
|
|
brew install --cask docker
|
|
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: Start tunnel
|
|
run: |
|
|
npm install -g localtunnel
|
|
lt --port 1337 &
|
|
sleep 5
|
|
|
|
- name: Test fleetctl preview
|
|
run: |
|
|
npm install -g fleetctl
|
|
fleetctl preview
|
|
sleep 10
|
|
fleetctl get hosts | tee hosts.txt
|
|
[ $( cat hosts.txt | grep online | wc -l) -eq 8 ]
|
|
shell: bash
|