fix: return InstallProfile for Type field in windows MDM profile comm… #14752
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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. | |
name: Test packaging | |
on: | |
push: | |
branches: | |
- main | |
- patch-* | |
- prepare-* | |
pull_request: | |
paths: | |
- 'cmd/fleetctl/**.go' | |
- 'pkg/**.go' | |
- 'server/service/**.go' | |
- 'server/context/**.go' | |
- 'orbit/**.go' | |
- 'ee/fleetctl/**.go' | |
- 'tools/fleetctl-docker/**' | |
- 'tools/wix-docker/**' | |
- 'tools/bomutils-docker/**' | |
- '.github/workflows/test-packaging.yml' | |
workflow_dispatch: # Manual | |
# This allows a subsequently queued workflow run to interrupt previous runs | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id}} | |
cancel-in-progress: true | |
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: | |
test-packaging: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
go-version: ['${{ vars.GO_VERSION }}'] | |
runs-on: ${{ matrix.os }} | |
steps: | |
# Docker needs to be installed manually on macOS. | |
# From https://github.com/docker/for-mac/issues/2359#issuecomment-943131345 | |
# FIXME: lock Docker version to 4.10.0 as newer versions fail to initialize | |
- name: Install Docker | |
timeout-minutes: 20 | |
if: matrix.os == 'macos-latest' | |
run: | | |
curl -L https://raw.githubusercontent.com/Homebrew/homebrew-cask/c65030146a5cf2070c2499b6c68e2c3495c99731/Casks/docker.rb > docker.rb | |
brew install --cask 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@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Checkout Code | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Install wine and wix | |
if: matrix.os == 'macos-latest' | |
run: | | |
./scripts/macos-install-wine.sh | |
wget https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip -nv -O wix.zip | |
mkdir wix | |
unzip wix.zip -d wix | |
rm -f wix.zip | |
echo wix installed at $(pwd)/wix | |
# 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 | |
- name: Build MSI (using local Wix) | |
if: matrix.os == 'macos-latest' | |
run: ./build/fleetctl package --type msi --enroll-secret=foo --fleet-url=https://localhost:8080 --fleet-desktop --local-wix-dir ./wix |