Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
7aad4e4
Updating dogfood and dogfood free with deprecation fixes
BCTBB Aug 11, 2025
850fcff
Adding vpc module tag to 1.18.3 for dogfood free
BCTBB Aug 11, 2025
6a06c8a
Updated provider versions to allow for v6 aws provider. Updated .terr…
BCTBB Aug 11, 2025
4803b78
Removing deprecation from free-ecs-hosts.tf
BCTBB Aug 11, 2025
9be049f
Adding dry-run variable and conditions to allow terraform plan withou…
BCTBB Aug 12, 2025
2f9860f
Fixing data.aws_region.current.id and data.aws_region.current.name ->…
BCTBB Aug 12, 2025
5a39571
Adding availability_zone_rebalancing = Enabled to aws_ecs_service for…
BCTBB Aug 13, 2025
dc998f6
Fix stubs (#31756)
Sampfluger88 Aug 8, 2025
cada52c
Fix server panic with all teams software titles (#31746)
lucasmrod Aug 8, 2025
8b57fca
Update marketing.rituals.yml (#31745)
irenareedy Aug 8, 2025
7e50f65
Fix mistake on CODEOWNERS PR (#31762)
Sampfluger88 Aug 8, 2025
b530b4b
Update go-to-market-groups.md (#31763)
kevinmalkin12 Aug 8, 2025
97a70b7
Update go-to-market-groups.md (#31764)
mooseops Aug 8, 2025
f3c45c1
Reduce filesize of two large gifs to fix failing step of website depl…
eashaw Aug 8, 2025
ac7d693
Validate gitops url in frontend and backend (#31243)
dantecatalfamo Aug 9, 2025
0f50af5
Fix flaky test: TestCacheEviction panics (#31698)
getvictor Aug 9, 2025
25f2cf5
Added support of $FLEET_VAR_HOST_UUID in Windows MDM configuration pr…
getvictor Aug 10, 2025
80a4fd1
Updated script logic and PR reviewers list (#31771)
allenhouchins Aug 10, 2025
52e9b4d
Update Solutions Specialist role (#31779)
ireedy Aug 10, 2025
e5d84f3
Added verification support for $FLEET_VAR_HOST_UUID (#31777)
getvictor Aug 11, 2025
eb36f1c
30939 Migrating CAs from App Config JSON to their own table (#31739)
JordanMontgomery Aug 11, 2025
66650e3
Add certificate authority type to permission policy (#31783)
MagnusHJensen Aug 11, 2025
0ce1815
Fleet UI: Fix VPP pending bugs (#31787)
RachelElysia Aug 11, 2025
ccca4ed
Update gitops yaml docs (#31786)
harrisonravazzolo Aug 11, 2025
398edc6
Add "escomeau" to list of humans (#31791)
Sampfluger88 Aug 11, 2025
22288e1
Update website to deploy from a parentless commit. (#31790)
eashaw Aug 11, 2025
5ff4979
Clean up tee shirt size mappings (#31758)
iansltx Aug 11, 2025
e6ae38f
Update company-portal.yml (#31793)
allenhouchins Aug 11, 2025
5e5d0ca
Fix YAML syntax error in Deploy Fleet website workflow. (#31794)
eashaw Aug 11, 2025
b1e1035
Add logging to osquery-perf for SCEP enroll (#31795)
lucasmrod Aug 11, 2025
8a79c7d
Cancel batch execution API (#31757)
dantecatalfamo Aug 11, 2025
3f96955
Clear label membership when label platform changes. (#31726)
getvictor Aug 11, 2025
ca4ba25
Update "Deploy to Heroku" step of Deploy Fleet website workflow. (#31…
eashaw Aug 11, 2025
d138339
Make sure VEX report is up-to-date with a CI check (#31759)
lucasmrod Aug 11, 2025
1c635c1
Website: small change to run deploy workflow. (#31801)
eashaw Aug 11, 2025
b5b4028
Update product-groups.md, receive-from-github.js (#31800)
cdcme Aug 11, 2025
c95136c
Omit batch host script executions from global activities (#31617)
dantecatalfamo Aug 11, 2025
513c0b6
Revert HCA changes on main(moving work to feature branch) (#31806)
JordanMontgomery Aug 11, 2025
0104283
Remove Head of Security Solutions from open positions (#31802)
ireedy Aug 11, 2025
f874c92
Add "Cancel a vendor or subscription" (#31810)
Sampfluger88 Aug 12, 2025
59ca948
Update Go to 1.24.6 (#31784)
lucasmrod Aug 12, 2025
09ea667
added Conductor One logo to testimonial (#31813)
mike-j-thomas Aug 12, 2025
ab13379
Make MySQL test port configurable (#31782)
getvictor Aug 12, 2025
b5543b3
Fleet UI: Unreleased clientside pagination bug fix (#31823)
RachelElysia Aug 12, 2025
ec826f8
Update go-to-market-groups.md (#31836)
kevinmalkin12 Aug 12, 2025
6f928fa
Product group handbook: speed up community PRs (#31467)
noahtalerman Aug 12, 2025
9d856a9
Custom installers translate no team to team_id 0 (#31846)
ksykulev Aug 12, 2025
d3d14df
Update CODEOWNERS and auto-reviewers: `/articles` (#31825)
noahtalerman Aug 12, 2025
6a0a76b
Update go-to-market-groups.md (#31834)
idondras Aug 12, 2025
d9db280
Adding 2024 pen test findings and responses (#31789)
lukeheath Aug 12, 2025
6f9c4f3
Add AWS offer creation steps to handbook (#31826)
hollidayn Aug 12, 2025
ee73419
Add support for last opened time for DEB and RPM packages (#31638)
zwass Aug 12, 2025
27e3f68
Best practice Terraform (#31827)
noahtalerman Aug 13, 2025
ec679a6
Add support for install/uninstall script overrides, pre-install query…
iansltx Aug 13, 2025
ab75f2c
Fix Comment in Helm Charts values.yaml (#31854)
dseif0x Aug 13, 2025
52eaa7e
add columns to host details and my device certificates table (#31701)
ghernandez345 Aug 13, 2025
14d8972
Fleet UI: Custom CVSS scores followup (#31849)
RachelElysia Aug 13, 2025
f70ea14
Refactoring suggested in #31634 (#31839)
juan-fdz-hawa Aug 13, 2025
3c489b5
Added `http_message_signature_p384_prob` switch to osquery-perf (#31862)
getvictor Aug 13, 2025
aae903d
Running Fleet locally: Building MDM features (#31829)
noahtalerman Aug 13, 2025
5b14910
Update design-qa-considerations.md (#31837)
RachelElysia Aug 13, 2025
7631996
Update product-groups.md (#31761)
georgekarrv Aug 13, 2025
a7bcd25
Update open-positions.yml (#31866)
alexmitchelliii Aug 13, 2025
99fabca
Labels optimization recommended in code review. (#31856)
getvictor Aug 13, 2025
3404769
add note about multiple teams to testing section (#31873)
jahzielv Aug 13, 2025
2dfaba7
Pin debian version to bookworm for `fleetdm/fleetctl` (#31828)
lucasmrod Aug 13, 2025
8f4fde2
Show "Never" or "Not supported" on last opened time on software as ap…
iansltx Aug 13, 2025
7d061a3
feat: allow different cisa url to be provided (#31728)
pmdroid Aug 13, 2025
58f37da
doc: some clarification on how to remove a previous org/enterprise wh…
mna Aug 13, 2025
45e9528
Fast track for Fleeties => Fast for Fleeties (#31883)
noahtalerman Aug 13, 2025
8a680fe
Update it-and-enablement.rituals.yml (#31878)
allenhouchins Aug 13, 2025
111bcc3
Vulnerability dashboard: Load content for /dashboard page after intia…
eashaw Aug 13, 2025
01ba30d
Fleet UI: Update osquery version options (#31889)
github-actions[bot] Aug 13, 2025
3d7d90f
Website: Update deploy workflow to remove `website/assets` folder fro…
eashaw Aug 13, 2025
186a954
Docs bug: `software_title_id` is not available in `GET /software/titl…
marko-lisica Aug 13, 2025
0c09655
4.72.0 doc changes (#31766)
rachaelshaw Aug 14, 2025
01127f6
Release article: 4.72.0 (#31653)
noahtalerman Aug 14, 2025
3fd7b9f
CrowdStrike Falcon Deploy Guide (#31814)
harrisonravazzolo Aug 14, 2025
2621164
Fix broken HTML comment in story template for osquery/load testing (#…
iansltx Aug 14, 2025
2efbd6e
Updated the attendees for "Settle event strategy" (#31809)
SFriendLee Aug 14, 2025
8d7fcf9
Adding wellness budget (#31879)
ireedy Aug 14, 2025
a746d7a
added image (#31894)
mike-j-thomas Aug 14, 2025
59b0779
add link to configuration profiles (#31904)
mike-j-thomas Aug 14, 2025
35da261
Fleet UI: Add Linux kernel vulns card/table (#31840)
RachelElysia Aug 14, 2025
5bf19b3
30738 linux vulns (#31893)
jahzielv Aug 14, 2025
d3acf79
Fix broken link to guide (#31915)
eashaw Aug 14, 2025
015f9ee
Update vulnerability dashboard to deploy from a parentless commit (#3…
eashaw Aug 14, 2025
d13e179
UI for scheduling batch scripts (#31885)
sgress454 Aug 14, 2025
8249ec0
remove feature flag from bitlocker (#31886)
sgress454 Aug 14, 2025
9fb4d16
Add "incompatible with script" filter for hosts (#31868)
sgress454 Aug 14, 2025
f07fc47
Sprint kickoff review ritual (#31935)
noahtalerman Aug 14, 2025
e2165f8
Fleet UI: Fix OS vs. Software icon bug (#31911)
RachelElysia Aug 14, 2025
09d5e06
Fleet UI: Prevent scroll modal bug (#31920)
RachelElysia Aug 14, 2025
0b95edf
Add myself as backup for contributing docs (#31925)
lukeheath Aug 14, 2025
a643a2f
Release osqueryd 5.19.0 (#31912)
lucasmrod Aug 14, 2025
5969303
Bump github.com/docker/docker from 26.1.5+incompatible to 28.0.0+inco…
dependabot[bot] Aug 14, 2025
9288f2a
Product Design handbook: expedited drafting (#31931)
noahtalerman Aug 14, 2025
abcc5fe
Batch script cron schedule (#31808)
dantecatalfamo Aug 14, 2025
12c9257
SLSA attestation updates (#31833)
juan-fdz-hawa Aug 14, 2025
af6d218
Fix Android MDM missing private key validation #31353 (#31863)
cdcme Aug 14, 2025
0a25f50
make sure vulns are shown in list OS page, and fix the names (#31930)
jahzielv Aug 14, 2025
af1f55f
Add backend APIs for adding, deleting and listing secret variables (#…
lucasmrod Aug 14, 2025
973a06a
Website: Add first version of android settings to configuration build…
eashaw Aug 14, 2025
bd686d2
Fix missing period in list item (#31950)
jamessorrenti Aug 15, 2025
44dd4fd
Add Google Apps for iOS devices (#31860)
tux234 Aug 15, 2025
163e492
Adding configuration for Nudge testing (#31928)
allenhouchins Aug 15, 2025
fa49e5a
Update README.md (#31951)
rfoo2015 Aug 15, 2025
a85566d
Update deploying-crowdstrike-with-fleet.md (#31949)
nonpunctual Aug 15, 2025
1a6df85
Added Nudge install policy and LaunchAgent (#31952)
allenhouchins Aug 15, 2025
b9f7e12
Add activity for cancel batch script (#31937)
dantecatalfamo Aug 15, 2025
83ff789
Nudge configuration updates (#31953)
allenhouchins Aug 15, 2025
e2fcc00
Update install-nudge.yml (#31955)
allenhouchins Aug 15, 2025
b942827
Update santa-configuration.mobileconfig (#31956)
allenhouchins Aug 15, 2025
ee8f9f8
CSE function belongs to Zay but is not in GTM group (#31712)
zayhanlon Aug 15, 2025
437b69f
Update versions of fleetd components in Fleet's TUF [automated] (#31954)
github-actions[bot] Aug 15, 2025
6176c7b
UI for managing custom variables (#31875)
sgress454 Aug 15, 2025
e5bdd7b
Update product-design.rituals.yml: fix typo (#31967)
noahtalerman Aug 15, 2025
2602f86
When iterating through softwares LastOpenedAt timestamp is copied as …
ksykulev Aug 15, 2025
83881bd
Add missing batch script activities (#31941)
sgress454 Aug 15, 2025
a21f738
[Docs] Document behavior of `last_opened_at` across different platfor…
marko-lisica Aug 15, 2025
a1ccd2e
Adding changes for Fleet v4.72.0 (#31273) (#31975)
georgekarrv Aug 15, 2025
cc236a4
Added postinstall script to nudget-assets (#31976)
allenhouchins Aug 15, 2025
a50cab5
update fleetd-chrome to set expected HTTP headers (#31768)
edwardsb Aug 15, 2025
c7f11b4
Update versions of fleetd components in Fleet's TUF [automated] (#31981)
github-actions[bot] Aug 15, 2025
a5c3c11
Update changelog for fleetd 1.46.0 release (#31978)
lucasmrod Aug 15, 2025
f8c7bfa
Update go-to-market-groups.md (#31983)
ericswenson0 Aug 15, 2025
d74d2a3
fix issue wih showing os updates page with user being admin on one te…
ghernandez345 Aug 15, 2025
a37c2d4
Remove orbit change from 4.72.0 changelog (#31982)
lucasmrod Aug 15, 2025
cc908d8
Remove five character requirement for entity id in SSO and IdP settin…
lukeheath Aug 15, 2025
64311f9
Update go-to-market-groups updated “how to” quotes (#31279)
escomeau Aug 15, 2025
a3bf294
Dogfood: Add EULA (#31991)
noahtalerman Aug 15, 2025
1f66811
Website: Microsoft proxy: Add debugging logs for Fleet's integration …
eashaw Aug 16, 2025
c8a0850
Update nudge-configuration.mobileconfig (#32003)
allenhouchins Aug 17, 2025
f11eca1
Adding EULA via GitOps (#32004)
allenhouchins Aug 17, 2025
7f46cae
Dogfood: Update "Conditional access test group" label (#32013)
noahtalerman Aug 18, 2025
bdba9f6
Fixing broken link (#32023)
marko-lisica Aug 18, 2025
166c365
IdP Authentication before BYOD (#32017)
MagnusHJensen Aug 18, 2025
c4207de
Update coworking approval instructions (#32015)
ireedy Aug 18, 2025
fafc81d
Fleet UI: Fix missing space/bullet in copy (#32062)
RachelElysia Aug 18, 2025
4a78c58
Fleet UI: Fix vulns from being counted multiple times in vuln count (…
RachelElysia Aug 18, 2025
3093030
Fleet UI: Re-add missing tarballs summary card (#32056)
RachelElysia Aug 18, 2025
375f82b
For Go tests, always upload a success/fail status indicator so that a…
getvictor Aug 18, 2025
10756dd
Don't pass the default deb auto-install policy if install status is e…
iansltx Aug 18, 2025
24e7458
Guide: Missing `/` (#32008)
marko-lisica Aug 18, 2025
9019cc3
ADR-0005: Standardize on OpenTelemetry for observability (#31864)
getvictor Aug 18, 2025
8b52c57
Update roadmap preview article (#32049)
noahtalerman Aug 19, 2025
22b06fd
Added doc note regarding HTTP message signature performance. (#31905)
getvictor Aug 19, 2025
5c7fd11
update article with linux kernel vulns info (#32022)
jahzielv Aug 19, 2025
137383f
Update deploying-crowdstrike-with-fleet.md (#31990)
nonpunctual Aug 19, 2025
2f314b5
FE: Add tests to install/uninstall modals (#31992)
RachelElysia Aug 19, 2025
78a3952
4498 empty software (#31940)
jkatz01 Aug 19, 2025
d78aaee
Updating Nudge configuration and policy logic (#32074)
allenhouchins Aug 19, 2025
f7a3074
Update 1Password macOS version number to 8.11.6 (#32079)
allenhouchins Aug 19, 2025
4b4ad61
Update versions of fleetd components in Fleet's TUF [automated] (#32080)
github-actions[bot] Aug 19, 2025
0a5d61b
Refactor failing policies total on Host endpoint (#31906)
juan-fdz-hawa Aug 19, 2025
63c1cbe
Added missing permissions (#32021)
juan-fdz-hawa Aug 19, 2025
0886d63
Track SDLC metrics. (#31409)
getvictor Aug 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/story.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ What else should contributors [keep in mind](https://fleetdm.com/handbook/compan
- [ ] Feature guide changes: TODO <!-- Specify if a new feature guide is required at fleetdm.com/guides, or if a previous guide should be updated to reflect feature changes. -->
- [ ] Database schema migrations: TODO <!-- Specify what changes to the database schema are required. (This will be used to change migration scripts accordingly.) Remove this checkbox if there are no changes necessary. -->
- [ ] Load testing: TODO <!-- List any required scalability testing to be conducted. Remove this checkbox if there is no scalability testing required. -->
- [ ] Load testing/osquery-perf improvements: TODO <-- List, or link a subtask for, any osquery-perf or load test environment changes required to comprehensively load test this story if load testing is needed. -->
- [ ] Load testing/osquery-perf improvements: TODO <!-- List, or link a subtask for, any osquery-perf or load test environment changes required to comprehensively load test this story if load testing is needed. -->

> ℹ️  Please read this issue carefully and understand it. Pay [special attention](https://fleetdm.com/handbook/company/development-groups#developing-from-wireframes) to UI wireframes, especially "dev notes".

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,8 @@ if [ "$policy_version_number" != "$latest_1password_macos_version" ]; then
# Prepare the reviewers data payload
reviewers_data=$(jq -n \
--arg r1 "harrisonravazzolo" \
--arg r2 "nonpunctual" \
--arg r3 "ddribeiro" \
'{reviewers: [$r1, $r2, $r3]}')
--arg r2 "tux234" \
'{reviewers: [$r1, $r2]}')

# Request reviewers for the pull request
review_response=$(curl -s -X POST \
Expand Down
199 changes: 107 additions & 92 deletions .github/scripts/dogfood-policy-updater-latest-macos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,25 @@ if [ -z "$DOGFOOD_AUTOMATION_TOKEN" ] || [ -z "$DOGFOOD_AUTOMATION_USER_NAME" ]
fi

# Function to calculate 4 Sundays from today
calculate_deadline() {
# Get current date
current_date=$(date +%Y-%m-%d)

# Calculate days until next Sunday (0 = Sunday, 1 = Monday, ..., 6 = Saturday)
current_day=$(date +%u) # 1-7 (Monday=1, Sunday=7)
days_to_next_sunday=$((7 - current_day))
if [ $days_to_next_sunday -eq 0 ]; then
days_to_next_sunday=7
fi

# Calculate 4 Sundays from today
days_to_deadline=$((days_to_next_sunday + 21)) # 3 more weeks (21 days)

# Calculate the deadline date
deadline_date=$(date -d "$current_date + $days_to_deadline days" +%Y-%m-%d)
echo "$deadline_date"
}
# COMMENTED OUT: Deadline calculation logic temporarily disabled
# calculate_deadline() {
# # Get current date
# current_date=$(date +%Y-%m-%d)
#
# # Calculate days until next Sunday (0 = Sunday, 1 = Monday, ..., 6 = Saturday)
# current_day=$(date +%u) # 1-7 (Monday=1, Sunday=7)
# days_to_next_sunday=$((7 - current_day))
# if [ $days_to_next_sunday -eq 0 ]; then
# days_to_next_sunday=7
# fi
#
# # Calculate 4 Sundays from today
# days_to_deadline=$((days_to_next_sunday + 21)) # 3 more weeks (21 days)
#
# # Calculate the deadline date
# deadline_date=$(date -d "$current_date + $days_to_deadline days" +%Y-%m-%d)
# echo "$deadline_date"
# }

# Function to fetch file content from GitHub
fetch_file_content() {
Expand All @@ -58,26 +59,28 @@ extract_minimum_version() {
}

# Function to extract current deadline from team file content
extract_deadline() {
local content="$1"
local deadline=$(echo "$content" | grep -A 5 "macos_updates:" | grep "deadline:" | sed 's/.*deadline: *"\([^"]*\)".*/\1/')
echo "$deadline"
}
# COMMENTED OUT: Deadline extraction logic temporarily disabled
# extract_deadline() {
# local content="$1"
# local deadline=$(echo "$content" | grep -A 5 "macos_updates:" | grep "deadline:" | sed 's/.*deadline: *"\([^"]*\)".*/\1/')
# echo "$deadline"
# }

# Function to update team file content with new version and deadline
update_team_file_content() {
local content="$1"
local new_version="$2"
local new_deadline="$3"

# Update minimum_version
content=$(echo "$content" | sed "s/minimum_version: \"[^\"]*\"/minimum_version: \"$new_version\"/")

# Update deadline
content=$(echo "$content" | sed "s/deadline: \"[^\"]*\"/deadline: \"$new_deadline\"/")

echo "$content"
}
# COMMENTED OUT: Team file update logic temporarily disabled
# update_team_file_content() {
# local content="$1"
# local new_version="$2"
# local new_deadline="$3"
#
# # Update minimum_version
# content=$(echo "$content" | sed "s/minimum_version: \"[^\"]*\"/minimum_version: \"$new_version\"/")
#
# # Update deadline
# content=$(echo "$content" | sed "s/deadline: \"[^\"]*\"/deadline: \"$new_deadline\"/")
#
# echo "$content"
# }

# Fetch the latest macOS version
echo "Fetching latest macOS version..."
Expand All @@ -93,7 +96,8 @@ echo "Latest macOS version: $latest_macos_version"

# Initialize update flags
policy_update_needed=false
team_updates_needed=false
# COMMENTED OUT: Team updates flag temporarily disabled
# team_updates_needed=false
updates_needed=false

# Check policy file
Expand Down Expand Up @@ -127,43 +131,53 @@ if [ "$policy_version_number" != "$latest_macos_version" ]; then
updates_needed=true
fi

# COMMENTED OUT: Team files check logic temporarily disabled
# Check team files
echo "Checking team files..."
workstations_content=$(fetch_file_content "$WORKSTATIONS_FILE")
if [ $? -ne 0 ]; then
echo "Warning: Could not fetch workstations file, skipping team updates."
else
workstations_canary_content=$(fetch_file_content "$WORKSTATIONS_CANARY_FILE")
if [ $? -ne 0 ]; then
echo "Warning: Could not fetch workstations-canary file, skipping team updates."
else
# Extract current versions and deadlines
current_workstations_version=$(extract_minimum_version "$workstations_content")
current_workstations_deadline=$(extract_deadline "$workstations_content")
current_workstations_canary_version=$(extract_minimum_version "$workstations_canary_content")
current_workstations_canary_deadline=$(extract_deadline "$workstations_canary_content")

echo "Current Workstations minimum_version: $current_workstations_version"
echo "Current Workstations deadline: $current_workstations_deadline"
echo "Current Workstations (canary) minimum_version: $current_workstations_canary_version"
echo "Current Workstations (canary) deadline: $current_workstations_canary_deadline"

# Calculate new deadline
new_deadline=$(calculate_deadline)
echo "New deadline (4 Sundays from today): $new_deadline"

# Check if team updates are needed
if [ "$current_workstations_version" != "$latest_macos_version" ] || [ "$current_workstations_deadline" != "$new_deadline" ]; then
team_updates_needed=true
updates_needed=true
fi

if [ "$current_workstations_canary_version" != "$latest_macos_version" ] || [ "$current_workstations_canary_deadline" != "$new_deadline" ]; then
team_updates_needed=true
updates_needed=true
fi
fi
fi
# echo "Checking team files..."
# workstations_content=$(fetch_file_content "$WORKSTATIONS_FILE")
# if [ $? -ne 0 ]; then
# echo "Warning: Could not fetch workstations file, skipping team updates."
# else
# workstations_canary_content=$(fetch_file_content "$WORKSTATIONS_CANARY_FILE")
# if [ $? -ne 0 ]; then
# echo "Warning: Could not fetch workstations-canary file, skipping team updates."
# else
# # Extract current versions and deadlines
# current_workstations_version=$(extract_minimum_version "$workstations_content")
# current_workstations_deadline=$(extract_deadline "$workstations_content")
# current_workstations_canary_version=$(extract_minimum_version "$workstations_canary_content")
# current_workstations_canary_deadline=$(extract_deadline "$workstations_canary_content")
#
# echo "Current Workstations minimum_version: $current_workstations_version"
# echo "Current Workstations deadline: $current_workstations_deadline"
# echo "Current Workstations (canary) minimum_version: $current_workstations_canary_version"
# echo "Current Workstations (canary) deadline: $current_workstations_canary_deadline"
#
# # Calculate new deadline
# new_deadline=$(calculate_deadline)
# echo "New deadline (4 Sundays from today): $new_deadline"
#
# # Check if team updates are needed
# # Only update deadline if there's a new macOS version
# if [ "$current_workstations_version" != "$latest_macos_version" ]; then
# team_updates_needed=true
# updates_needed=true
# elif [ "$current_workstations_deadline" != "$new_deadline" ] && [ "$policy_update_needed" = true ]; then
# # Only update deadline if policy was updated (meaning there's a new version)
# team_updates_needed=true
# updates_needed=true
# fi
#
# if [ "$current_workstations_canary_version" != "$latest_macos_version" ]; then
# team_updates_needed=true
# updates_needed=true
# elif [ "$current_workstations_canary_deadline" != "$new_deadline" ] && [ "$policy_update_needed" = true ]; then
# # Only update deadline if policy was updated (meaning there's a new version)
# team_updates_needed=true
# updates_needed=true
# fi
# fi
# fi

# Create updates if needed
if [ "$updates_needed" = true ]; then
Expand Down Expand Up @@ -196,17 +210,18 @@ if [ "$updates_needed" = true ]; then
git add "$POLICY_FILE_PATH"
fi

# COMMENTED OUT: Team files update logic temporarily disabled
# Update team files if needed
if [ "$team_updates_needed" = true ]; then
echo "Updating team files..."
updated_workstations_content=$(update_team_file_content "$workstations_content" "$latest_macos_version" "$new_deadline")
updated_canary_content=$(update_team_file_content "$workstations_canary_content" "$latest_macos_version" "$new_deadline")

echo "$updated_workstations_content" > "$WORKSTATIONS_FILE"
echo "$updated_canary_content" > "$WORKSTATIONS_CANARY_FILE"

git add "$WORKSTATIONS_FILE" "$WORKSTATIONS_CANARY_FILE"
fi
# if [ "$team_updates_needed" = true ]; then
# echo "Updating team files..."
# updated_workstations_content=$(update_team_file_content "$workstations_content" "$latest_macos_version" "$new_deadline")
# updated_canary_content=$(update_team_file_content "$workstations_canary_content" "$latest_macos_version" "$new_deadline")
#
# echo "$updated_workstations_content" > "$WORKSTATIONS_FILE"
# echo "$updated_canary_content" > "$WORKSTATIONS_CANARY_FILE"
#
# git add "$WORKSTATIONS_FILE" "$WORKSTATIONS_CANARY_FILE"
# fi

# Create commit message
commit_message="Update macOS version to $latest_macos_version"
Expand All @@ -215,12 +230,13 @@ if [ "$updates_needed" = true ]; then

- Updated policy version from $policy_version_number to $latest_macos_version"
fi
if [ "$team_updates_needed" = true ]; then
commit_message="$commit_message
- Updated team minimum_version from $current_workstations_version to $latest_macos_version
- Updated team deadline from $current_workstations_deadline to $new_deadline (4 Sundays from today)
- Applied to both workstations and workstations-canary teams"
fi
# COMMENTED OUT: Team updates commit message logic temporarily disabled
# if [ "$team_updates_needed" = true ]; then
# commit_message="$commit_message
# - Updated team minimum_version from $current_workstations_version to $latest_macos_version
# - Updated team deadline from $current_workstations_deadline to $new_deadline (4 Sundays from today)
# - Applied to both workstations and workstations-canary teams"
# fi

git commit -m "$commit_message"
git push origin "$NEW_BRANCH"
Expand Down Expand Up @@ -257,9 +273,8 @@ if [ "$updates_needed" = true ]; then
# Prepare the reviewers data payload
reviewers_data=$(jq -n \
--arg r1 "harrisonravazzolo" \
--arg r2 "nonpunctual" \
--arg r3 "ddribeiro" \
'{reviewers: [$r1, $r2, $r3]}')
--arg r2 "tux234" \
'{reviewers: [$r1, $r2]}')

# Request reviewers for the pull request
review_response=$(curl -s -X POST \
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/build-fleetd-base-msi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,11 @@ jobs:
code-sign:
needs: build
uses: ./.github/workflows/code-sign-windows.yml
permissions:
id-token: write # required for attestations
attestations: write # required for attestations
with:
attest: "true"
filename: fleetd-base.msi
upload_name: fleetd-base-msi
secrets:
Expand Down
14 changes: 12 additions & 2 deletions .github/workflows/check-automated-doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ jobs:

- name: Verify golang generated documentation is up-to-date
run: |
make doc
make generate-doc
if [[ $(git diff) ]]; then
echo "❌ fail: uncommited changes"
echo "please run 'make doc' and commit the changes"
echo "please run 'make generate-doc' and commit the changes"
git --no-pager diff
exit 1
fi
Expand All @@ -65,3 +65,13 @@ jobs:
git --no-pager diff
exit 1
fi

- name: Verify VEX report is up-to-date
run: |
make vex-report
if [[ $(git diff) ]]; then
echo "❌ fail: uncommited changes"
echo "please run 'make vex-report' and commit the changes"
git --no-pager diff
exit 1
fi
16 changes: 15 additions & 1 deletion .github/workflows/code-sign-windows.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Code sign Windows binaries with DigiCert KeyLocker KSP
name: Code sign Windows binaries with DigiCert KeyLocker KSP, optionally attest

on:
workflow_call:
Expand All @@ -17,6 +17,11 @@ on:
required: false
default: 'signed-windows'
type: string
attest:
description: 'Whether to run attestation on the signed binary'
required: false
type: boolean
default: false
secrets:
DIGICERT_KEYLOCKER_CERTIFICATE:
required: true
Expand All @@ -31,6 +36,8 @@ on:

permissions:
contents: read
id-token: write # required for attestations
attestations: write # required for attestations

jobs:
code-sign-windows:
Expand Down Expand Up @@ -90,6 +97,13 @@ jobs:
signtool.exe verify /v /pa ${{ inputs.filename }}
shell: cmd

- name: Attest binary
if: ${{ inputs.attest == 'true' }}
continue-on-error: true
uses: actions/attest-build-provenance@619dbb2e03e0189af0c55118e7d3c5e129e99726 # v2.0
with:
subject-path: ${{ inputs.filename }}

- name: Upload signed artifact
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # 4.3.3
with:
Expand Down
23 changes: 17 additions & 6 deletions .github/workflows/deploy-fleet-website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,18 +106,29 @@ jobs:
# > The local config flags make this work in GitHub's environment.
- run: git add website/.www
- run: git add website/.tools
# Remove the website/assets folder
- run: git rm -rf --cached website/assets
- run: git add -f website/views/partials/built-from-markdown > /dev/null 2>&1 || echo '* * * WARNING - Silently ignoring the fact that there are no HTML partials generated from markdown to include in automated commit...'
- run: git -c "user.name=Fleetwood" -c "user.email=github@example.com" commit -am 'AUTOMATED COMMIT - Deployed the latest, including generated collateral such as compiled documentation, modified HTML layouts, and a .sailsrc file that references minified client-side code assets.'

# Configure the Heroku app we'll be deploying to
- run: heroku git:remote -a production-fleetdm-website
- run: git remote -v

# Deploy to Heroku (by pushing)
# > Since a shallow clone was grabbed, we have to "unshallow" it before forcepushing.
- run: echo "Unshallowing local repository…"
- run: git fetch --prune --unshallow
# Deploy to Heroku
- run: echo "Deploying branch '${GITHUB_REF##*/}' to Heroku…"
- run: git push heroku +${GITHUB_REF##*/}:master # note that Heroku, at least as of Jun 10 2021, still uses "master" on their end
- name: Deploy to Heroku
run: |
set -euo pipefail
git add -A
# Create a git tree object that contains only the changes in the /website folder.
TREE=$(git write-tree)
# Create a parentless commit from the tree object.
COMMIT=$(git -c "user.name=Fleetwood" -c "user.email=github@example.com" \
commit-tree "$TREE" \
-m 'AUTOMATED COMMIT - Deployed the latest, including generated collateral such as compiled documentation, modified HTML layouts, and a .sailsrc file that references minified client-side code assets.')
# Push the parentless commit to Heroku
# Note: The commit pushed to Heroku will not contain the full git history.
# This lets up deploy the website from the Fleet monorepo while working around Heroku's pack size limits.
git push heroku "$COMMIT":refs/heads/master --force
- name: 🌐 https://fleetdm.com
run: echo '' && echo '--' && echo 'OK, done. It should be live momentarily.' && echo '(if you get impatient, check the Heroku dashboard for status)' && echo && echo ' 🌐–• https://fleetdm.com'
Loading
Loading