Testing updates to Fleet-maintained apps (#28441)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Fleet-maintained apps
|
||||
# Fleet-maintained apps (FMA)
|
||||
|
||||
## Adding a new FMA
|
||||
## Adding a new app
|
||||
|
||||
1. Decide on a source for the app's metadata. We currently support homebrew as a source for macOS apps.
|
||||
2. Find that app's metadata. For homebrew, you can visit https://formulae.brew.sh/ and find the app there.
|
||||
@@ -66,3 +66,21 @@ These are command lines that will be run _before_ the generated uninstall script
|
||||
|
||||
#### `post_uninstall_scripts`
|
||||
These are command lines that will be run _after_ the generated uninstall script is executed.
|
||||
|
||||
### Testing
|
||||
|
||||
Fleet tests every Fleet-maintained app. For new apps, start at step 1. For updates to existing apps, skip to step 4.
|
||||
|
||||
1. When a pull request is opened in `inputs/`, the [#g-software Engineering Manager (EM)](https://fleetdm.com/handbook/company/product-groups#software-group) is automatically added as reviewer.
|
||||
2. The EM is responsible for making sure that the `name` for the new app matches the name that shows up in Fleet's software inventory. If the name doesn't match or if the name is not user-friendly, the EM will bring it to #g-software design review. This way, when the app is added to Fleet, the app will be matched with the app that comes back in software inventory.
|
||||
3. Then, the EM builds the app's `outputs/` on the same PR. At this time, @eashaw and a Product Designer are added to the PR. Eric adds the icon for [fleetdm.com/app-library](https://fleetdm.com/app-library).
|
||||
4. The Product Designer is responsible for testing the app:
|
||||
- If the app is a new app, add an icon for the app to the PR. App icons are located [here in the repository](https://github.com/fleetdm/fleet/tree/main/frontend/pages/SoftwarePage/components/icons). Run the [Docker publish GitHub action]() to add the tag to [Docker Hub](https://hub.docker.com/r/fleetdm/fleet/tags).
|
||||
- Run the following `fleetctl preview` command and test the app: Does the icon look right? Does the app install? Does the app uninstall? Can you open the app once it's installed?
|
||||
|
||||
```
|
||||
fleetctl preview --tag=<Docker-tag> --license-key=eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJGbGVldCBEZXZpY2UgTWFuYWdlbWVudCBJbmMuIiwiZXhwIjoxNjQwOTk1MjAwLCJzdWIiOiJkZXZlbG9wbWVudCIsImRldmljZXMiOjEwMCwibm90ZSI6ImZvciBkZXZlbG9wbWVudCBvbmx5IiwidGllciI6ImJhc2ljIiwiaWF0IjoxNjIyNDI2NTg2fQ.WmZ0kG4seW3IrNvULCHUPBSfFdqj38A_eiXdV_DFunMHechjHbkwtfkf1J6JQJoDyqn8raXpgbdhafDwv3rmDw
|
||||
```
|
||||
|
||||
5. If the tests fail, the PD sets the PR to draft and files a bug that links to the PR.
|
||||
6. If the test is successful, the PD approves and merges the PR. For new apps, the PD opens a user story to test the new icon, adds it to the #g-software board (`:release` and `#g-software` labels), and assigns the EM.
|
||||
|
||||
Vendored
+4
@@ -183,6 +183,10 @@ module.exports.custom = {
|
||||
// 🌐 GitHub issue templates
|
||||
'.github/ISSUE_TEMPLATE': 'sampfluger88',
|
||||
|
||||
// 💝 Fleet-maintained apps
|
||||
'ee/maintained-apps/inputs': 'mostlikelee',
|
||||
'ee/maintained-apps/outputs': 'eugkuo',
|
||||
|
||||
},
|
||||
|
||||
// FUTURE: Support DRIs for confidential and other repos (except see other note above about a consolidated way to do it, to reduce these 4-6 config keys into one)
|
||||
|
||||
Reference in New Issue
Block a user