Skip to content

Commit b84c4d4

Browse files
Merge branch 'main' into rebeccaui-patch-1
2 parents 8227ae1 + 42d7227 commit b84c4d4

File tree

701 files changed

+22136
-11198
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

701 files changed

+22136
-11198
lines changed

.eslintrc.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@ module.exports = {
8181
"jsx-a11y/heading-has-content": "off",
8282
"jsx-a11y/anchor-has-content": "off",
8383
},
84-
overrides: [
85-
],
84+
overrides: [],
8685
settings: {
8786
"import/resolver": {
8887
webpack: {

.github/ISSUE_TEMPLATE/bug-report.md

+1
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,4 @@ N/A
3131

3232
<!-- ### 🛠️ To fix -->
3333
<!-- If this bug requires additional product design work, uncomment the heading above and add instructions to fix, Figma link, etc. here once design changes are settled. -->
34+
<!-- Product designer: _________________________ --> <!-- Who is the product designer to contact if folks have questions about this fix? -->

.github/ISSUE_TEMPLATE/release-qa.md

+75-57
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Release QA
33
about: Checklist of required tests prior to release
44
title: 'Release QA:'
5-
labels: '#g-mdm,#g-endpoint-ops,:release'
5+
labels: '#g-mdm,#g-orchestration,#g-software:release'
66
assignees: 'xpkoala,pezhub,jmwatts'
77

88
---
@@ -27,11 +27,12 @@ Smoke tests are limited to core functionality and serve as a pre-release final r
2727

2828
### Prerequisites
2929

30-
1. `fleetctl preview` is set up and running the desired test version using [`--tag` parameters.](https://github.com/fleetdm/fleet/blob/main/handbook/product.md#manual-qa )
30+
1. `fleetctl preview` is set up and running the desired test version using [`--tag` parameters.](https://fleetdm.com/handbook/engineering#run-fleet-locally-for-qa-purposes)
3131
2. Unless you are explicitly testing older browser versions, browser is up to date.
3232
3. Certificate & flagfile are in place to create new host.
3333
4. In your browser, clear local storage using devtools.
3434

35+
### Orchestration
3536
<table>
3637
<tr><th>Test name</th><th>Step instructions</th><th>Expected result</th><th>pass/fail</td></tr>
3738
<tr><td>$Name</td><td>{what a tester should do}</td><td>{what a tester should see when they do that}</td><td>pass/fail</td></tr>
@@ -53,20 +54,6 @@ Smoke tests are limited to core functionality and serve as a pre-release final r
5354
3. forget password link prompts for email
5455
4. valid credentials result in a successful login.
5556
5. valid sso credentials result in a successful login</td><td>pass/fail</td></tr>
56-
<tr><td>Query flow</td><td>Create, edit, run, and delete queries. </td><td>
57-
58-
1. permissions regarding creating/editing/deleting queries are up to date with documentation
59-
2. syntax errors result in error messaging
60-
3. queries can be run manually
61-
</td><td>pass/fail</td></tr>
62-
<tr><td>Host Flow</td><td>Verify a new host can be added and removed following modal instructions using your own device.</td><td>
63-
64-
1. Host is added via command line
65-
2. Host serial number and date added are accurate
66-
3. Host is not visible after it is deleted
67-
4. Warning and informational modals show when expected and make sense
68-
</td><td>pass/fail</td></tr>
69-
7057
<tr><td>Packs flow</td><td>Verify management, operation, and logging of ["2017 packs"](https://fleetdm.com/handbook/company/why-this-way#why-does-fleet-support-query-packs).</td><td>
7158

7259
1. Packs successfully run on host machines after migrations
@@ -82,16 +69,17 @@ Smoke tests are limited to core functionality and serve as a pre-release final r
8269
2. Software, query, policy, and packs logs are successfully sent to Filesystem log destinations
8370

8471
</td><td>pass/fail</td></tr>
72+
<tr><td>OS settings</td><td>Verify OS settings functionality</td><td>
8573

86-
87-
<tr><td>My device page</td><td>Verify the end user's my device page loads successfully.</td><td>
88-
89-
1. Clicking the Fleet desktop item, then "My device" successfully loads the my device page.
90-
2. The "My device" page is populated correctly and as expected.
91-
3. Styling and padding appears correct.
92-
74+
1. Verify able to configure Disk encryption (macOS, Windows, & Linux).
75+
2. Verify host enrolled with Disk encryption enforced successfully encrypts.
9376
</td><td>pass/fail</td></tr>
77+
</table>
9478

79+
### MDM
80+
<table>
81+
<tr><th>Test name</th><th>Step instructions</th><th>Expected result</th><th>pass/fail</td></tr>
82+
<tr><td>$Name</td><td>{what a tester should do}</td><td>{what a tester should see when they do that}</td><td>pass/fail</td></tr>
9583
<tr><td>MDM enrollment flow</td><td>Verify MDM enrollments, run MDM commands</td><td>
9684

9785
1. Erase an ADE-eligible macOS host and verify able to complete automated enrollment flow.
@@ -106,45 +94,22 @@ Smoke tests are limited to core functionality and serve as a pre-release final r
10694
3. Turn off MDM on a non ADE-eligible macOS host.
10795
4. On the My device page, follow the "Turn on MDM" instructions and verify that MDM is turned on.
10896
</td><td>pass/fail</td></tr>
109-
110-
<tr><td>Scripts</td><td>Verify script library and execution</td><td>
111-
112-
1. Verify able to run a script on all host types from CLI.
113-
2. Verify scripts library upload/download/delete.
114-
3. From Host details (macOS, Windows, & Linux) run a script that should PASS, verify.
115-
4. From Host details (macOS, Windows, & Linux) run a script that should FAIL, verify.
116-
5. Verify UI loading state and statuses for scripts.
117-
6. Disable scripts globally and verify unable to run.
118-
7. Verify scripts display correctly in Activity feed.
119-
</td><td>pass/fail</td></tr>
120-
121-
<tr><td>Software</td><td>Verify software library and install / download</td><td>
122-
123-
1. Verify software library upload/download/delete.
124-
2. From Host details (macOS, Windows, & Linux) run an install that should PASS, verify.
125-
3. From My Device (macOS, Windows, & Linux) software tab should have self-service items available, verify.
126-
4. Verify UI loading state and statuses for installing software.
127-
6. Verify software installs display correctly in Activity feed.
128-
</td><td>pass/fail</td></tr>
129-
13097
<tr><td>OS settings</td><td>Verify OS settings functionality</td><td>
13198

132-
1. Verify able to configure Disk encryption (macOS, Windows, & Linux).
133-
2. Verify host enrolled with Disk encryption enforced successfully encrypts.
134-
3. Verify Profiles upload/download/delete (macOS & Windows).
135-
4. Verify Profiles are delivered to host and applied.
99+
1. Verify Profiles upload/download/delete (macOS & Windows).
100+
2. Verify Profiles are delivered to host and applied.
136101
</td><td>pass/fail</td></tr>
137102

138103
<tr><td>Setup experience</td><td>Verify macOS Setup experience</td><td>
139104

140105
1. Configure End user authentication.
141-
2. Upload a Bootstrap package.
142-
3. Add software (FMA, VPP, & Custom pkg)
143-
4. Add a script
144-
5. Enroll an ADE-eligible macOS host and verify successful authentication.
145-
6. Verify Bootstrap package is delivered.
146-
7. Verify SwiftDialogue window displays.
147-
8. Verify software installs and script runs.
106+
3. Upload a Bootstrap package.
107+
4. Add software (FMA, VPP, & Custom pkg)
108+
5. Add a script
109+
6. Enroll an ADE-eligible macOS host and verify successful authentication.
110+
7. Verify Bootstrap package is delivered.
111+
8. Verify SwiftDialogue window displays.
112+
9. Verify software installs and script runs.
148113
</td><td>pass/fail</td></tr>
149114

150115
<tr><td>OS updates</td><td>Verify OS updates flow</td><td>
@@ -161,25 +126,78 @@ Smoke tests are limited to core functionality and serve as a pre-release final r
161126
3. Verify Profiles are delivered to host and applied.
162127
4. Verify VPP apps install & display correctly in Activity feed.
163128

129+
</td><td>pass/fail</td></tr>
164130
<tr><td>Certificates Upload</td><td>APNs cert and ABM token renewal workflow</td><td>
165131

166132
1. Renew APNs Certificate.
167133
2. Renew ABM Token.
168134
3. Ensure ADE hosts can enroll.
169135
</td><td>pass/fail</td></tr>
170136

137+
</table>
138+
139+
### Software
140+
<table>
141+
<tr><th>Test name</th><th>Step instructions</th><th>Expected result</th><th>pass/fail</td></tr>
142+
<tr><td>$Name</td><td>{what a tester should do}</td><td>{what a tester should see when they do that}</td><td>pass/fail</td></tr>
143+
<tr><td>Query flow</td><td>Create, edit, run, and delete queries. </td><td>
144+
145+
1. permissions regarding creating/editing/deleting queries are up to date with documentation
146+
2. syntax errors result in error messaging
147+
3. queries can be run manually
148+
</td><td>pass/fail</td></tr>
149+
<tr><td>Host Flow</td><td>Verify a new host can be added and removed following modal instructions using your own device.</td><td>
150+
151+
1. Host is added via command line
152+
2. Host serial number and date added are accurate
153+
3. Host is not visible after it is deleted
154+
4. Warning and informational modals show when expected and make sense
155+
</td><td>pass/fail</td></tr>
156+
<tr><td>My device page</td><td>Verify the end user's my device page loads successfully.</td><td>
157+
158+
1. Clicking the Fleet desktop item, then "My device" successfully loads the my device page.
159+
2. The "My device" page is populated correctly and as expected.
160+
3. Styling and padding appears correct.
161+
162+
</td><td>pass/fail</td></tr>
163+
<tr><td>Scripts</td><td>Verify script library and execution</td><td>
164+
165+
1. Verify able to run a script on all host types from CLI.
166+
2. Verify scripts library upload/download/delete.
167+
3. From Host details (macOS, Windows, & Linux) run a script that should PASS, verify.
168+
4. From Host details (macOS, Windows, & Linux) run a script that should FAIL, verify.
169+
5. Verify UI loading state and statuses for scripts.
170+
8. Disable scripts globally and verify unable to run.
171+
9. Verify scripts display correctly in Activity feed.
172+
</td><td>pass/fail</td></tr>
173+
174+
<tr><td>Software</td><td>Verify software library and install / download</td><td>
175+
176+
1. Verify software library upload/download/delete.
177+
2. From Host details (macOS, Windows, & Linux) run an install that should PASS, verify.
178+
3. From My Device (macOS, Windows, & Linux) software tab should have self-service items available, verify.
179+
4. Verify UI loading state and statuses for installing software.
180+
7. Verify software installs display correctly in Activity feed.
181+
</td><td>pass/fail</td></tr>
182+
183+
171184
<tr><td>Migration Test</td><td>Verify Fleet can migrate to the next version with no issues.</td><td>
172185

173186
Using the migration scripts located in fleet/test/upgrade/
174187
1. Run the upgrade_test.go script using the most recent stable version of Fleet and `main`.
175188
2. Upgrade test returns an 'OK' response.
176189
</td><td>pass/fail</td></tr>
177-
190+
</table>
191+
192+
### All Product Groups
193+
<table>
194+
<tr><th>Test name</th><th>Step instructions</th><th>Expected result</th><th>pass/fail</td></tr>
195+
<tr><td>$Name</td><td>{what a tester should do}</td><td>{what a tester should see when they do that}</td><td>pass/fail</td></tr>
178196
<tr><td>Release blockers</td><td>Verify there are no outstanding release blocking tickets.</td><td>
179197

180198
1. Check [this](https://github.com/fleetdm/fleet/labels/~release%20blocker) filter to view all open `~release blocker` tickets.
181199
2. If any are found raise an alarm in the `#help-engineering` and `#g-mdm` (or `#g-endpoint-ops`) channels.
182-
</td><td>pass/fail</td></tr>
200+
</td><td>pass/fail</td></tr>
183201
</table>
184202

185203
### Notes

.github/ISSUE_TEMPLATE/story.md

+7-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: 🎟  Story
33
about: Specify an iterative change to the Fleet product. (e.g. "As a user, I want to sign in with SSO.")
44
title: ''
5-
labels: 'story,:product'
5+
labels: 'story'
66
assignees: ''
77

88
---
@@ -48,11 +48,13 @@ What else should contributors [keep in mind](https://fleetdm.com/handbook/compan
4848
- [ ] Permissions changes: TODO <!-- Specify changes in the Manage access doc page as a PR to the reference docs release branch. If doc changes aren't necessary, explicitly mention no changes to the doc page. Put "No changes" if there are no permissions changes. -->
4949
- [ ] Changes to paid features or tiers: TODO <!-- Specify changes in pricing-features-table.yml as a PR to reference docs release branch. Specify "Fleet Free" and/or "Fleet Premium" if there are no changes to the pricing page necessary. -->
5050
- [ ] Transparency changes: TODO <!-- If there are changes to the personal information Fleet can see on end user workstations, make sure wireframes include changes to the My device page. Also, specify changes as a PR to the fleetdm.com/better (aka Transparency page). Put "No changes" if there are no changes necessary. -->
51+
- [ ] First draft of test plan added
5152
- [ ] Other reference documentation changes: TODO <!-- Any other reference doc changes? Specify changes as a PR to reference docs release branch. Put "No changes" if there are no changes necessary. -->
5253
- [ ] Once shipped, requester has been notified
5354
- [ ] Once shipped, dogfooding issue has been filed
5455

5556
### Engineering
57+
- [ ] Test plan is finalized
5658
- [ ] 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. -->
5759
- [ ] 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. -->
5860
- [ ] Load testing: TODO <!-- List any required scalability testing to be conducted. Remove this checkbox if there is no scalability testing required. -->
@@ -67,9 +69,9 @@ What else should contributors [keep in mind](https://fleetdm.com/handbook/compan
6769
- Risk level: Low / High TODO <!-- Choose one. Consider: Does this change come with performance risks? Any risk of accidental log spew? Any particular regressions to watch out for? Any potential compatibility issues, even if it's not technically a breaking change? -->
6870
- Risk description: TODO <!-- If the risk level is high, explain why. If low, remove. -->
6971

70-
### Manual testing steps
72+
### Test plan
7173
<!--
72-
Add detailed manual testing steps for all affected user roles.
74+
Add detailed manual testing steps for all affected user roles.
7375
-->
7476

7577
1. Step 1
@@ -85,5 +87,5 @@ Add detailed manual testing steps for all affected user roles.
8587
### Confirmation
8688
<!-- The engineer responsible for implementing this user story completes the test plan before moving to the "Ready for QA" column. -->
8789

88-
1. [ ] Engineer (@____): Added comment to user story confirming successful completion of QA.
89-
2. [ ] QA (@____): Added comment to user story confirming successful completion of QA.
90+
1. [ ] Engineer: Added comment to user story confirming successful completion of test plan.
91+
2. [ ] QA: Added comment to user story confirming successful completion of test plan.

.github/workflows/build-binaries.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444

4545
- name: JS Dependency Cache
4646
id: js-cache
47-
uses: actions/cache@69d9d449aced6a2ede0bc19182fadc3a0a42d2b0 # v2
47+
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
4848
with:
4949
path: |
5050
**/node_modules
@@ -56,7 +56,7 @@ jobs:
5656
5757
- name: Go Cache
5858
id: go-cache
59-
uses: actions/cache@69d9d449aced6a2ede0bc19182fadc3a0a42d2b0 # v2
59+
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
6060
with:
6161
# In order:
6262
# * Module download cache
@@ -88,7 +88,7 @@ jobs:
8888
- name: Build binaries
8989
run: make
9090

91-
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v2
91+
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
9292
with:
9393
name: build
9494
path: build/

.github/workflows/build-fleetd-base-pkg.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -107,14 +107,14 @@ jobs:
107107
</plist>' > fleetd-base-manifest.plist
108108
109109
- name: Upload fleetd-base.pkg
110-
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v2
110+
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
111111
with:
112112
name: fleetd-base.pkg
113113
path: |
114114
fleetd-base.pkg
115115
116116
- name: Upload fleetd-base-manifest.plist
117-
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v2
117+
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
118118
with:
119119
name: fleetd-base-manifest.plist
120120
path: |

.github/workflows/build-fleetd_tables.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
- name: Build binaries
3535
run: make fleetd-tables-all
3636

37-
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v2
37+
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
3838
with:
3939
name: fleetd_tables
4040
path: fleetd_tables_*

.github/workflows/build-orbit.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ jobs:
7373
ORBIT_COMMIT: ${{ github.sha }}
7474

7575
- name: Upload orbit
76-
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v2
76+
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
7777
with:
7878
name: orbit
7979
path: |

.github/workflows/check-automated-doc.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,6 @@ jobs:
3838

3939
- name: Checkout Code
4040
uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2
41-
with:
42-
fetch-depth: 0
4341

4442
- name: Install Go
4543
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
@@ -51,7 +49,8 @@ jobs:
5149
make generate-doc
5250
if [[ $(git diff) ]]; then
5351
echo "❌ fail: uncommited changes"
54-
echo "please run `make generate-doc` and commit the changes"
52+
echo "please run 'make generate-doc' and commit the changes"
53+
git --no-pager diff
5554
exit 1
5655
fi
5756
@@ -62,6 +61,7 @@ jobs:
6261
./node_modules/sails/bin/sails.js run generate-merged-schema
6362
if [[ $(git diff) ]]; then
6463
echo "❌ fail: uncommited changes"
65-
echo "please run `cd website && npm install && ./node_modules/sails/bin/sails.js run generate-merged-schema` and commit the changes"
64+
echo "please run 'cd website && npm install && ./node_modules/sails/bin/sails.js run generate-merged-schema' and commit the changes"
65+
git --no-pager diff
6666
exit 1
6767
fi

.github/workflows/config/randokiller.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
"pkg_to_test": "server/service",
66
"tests_to_run": "^TestIntegrationsMDM\\$$",
77
"num_tries": 20
8-
}
8+
}

.github/workflows/deploy-fleet-website.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131

3232
strategy:
3333
matrix:
34-
node-version: [16.x]
34+
node-version: [20.x]
3535

3636
steps:
3737
- name: Harden Runner

.github/workflows/dogfood-gitops.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,9 @@ jobs:
7575
DOGFOOD_COMPLIANCE_EXCLUSIONS_ENROLL_SECRET: ${{ secrets.DOGFOOD_COMPLIANCE_EXCLUSIONS_ENROLL_SECRET }}
7676
DOGFOOD_COMPANY_OWNED_IPHONES_ENROLL_SECRET: ${{ secrets.DOGFOOD_COMPANY_OWNED_IPHONES_ENROLL_SECRET }}
7777
DOGFOOD_COMPANY_OWNED_IPADS_ENROLL_SECRET: ${{ secrets.DOGFOOD_COMPANY_OWNED_IPADS_ENROLL_SECRET }}
78-
MANAGED_CHROME_ENROLLMENT_TOKEN: ${{ secrets.CLOUD_MANAGEMENT_ENROLLMENT_TOKEN }}
78+
FLEET_SECRET_MANAGED_CHROME_ENROLLMENT_TOKEN: ${{ secrets.CLOUD_MANAGEMENT_ENROLLMENT_TOKEN }}
7979
DOGFOOD_PERSONALLY_OWNED_IPHONES_ENROLL_SECRET: ${{ secrets.DOGFOOD_PERSONALLY_OWNED_IPHONES_ENROLL_SECRET }}
80+
DOGFOOD_ACTIVITIES_WEBHOOK_URL: ${{ secrets.DOGFOOD_ACTIVITIES_WEBHOOK_URL }}
8081

8182
- name: Notify on Gitops failure
8283
if: failure() && github.ref_name == 'main'

0 commit comments

Comments
 (0)