diff --git a/ee/maintained-apps/README.md b/ee/maintained-apps/README.md index d69ab39d11..54e9047f65 100644 --- a/ee/maintained-apps/README.md +++ b/ee/maintained-apps/README.md @@ -80,17 +80,18 @@ These are command lines that will be run _after_ the generated uninstall script Fleet tests every Fleet-maintained app. For new apps, start at step 1. For updates to existing apps, skip to step 5. -1. When a pull request (PR) 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 by running the following command: +1. When a pull request (PR) is opened in `inputs/`, the [#g-software Product Designer (PD)](https://fleetdm.com/handbook/company/product-groups#software-group) is automatically added as reviewer. +2. The PD 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 PD 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 PD builds the app's `outputs/` on the same PR by running the following command: ``` go run cmd/maintained-apps/main.go ``` 4. 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). -5. 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. To add the icon, add the SVG as a comment to the PR and then ask the contributor to add the SVG to their PR [like this](https://github.com/fleetdm/fleet/pull/28332/files#diff-3728cfaafa50a41f6b017a4ef6ab64f7ce99034a9e90ed46421670f76a2db17f). Also, ask them to update the `index.ts` file [like this](https://github.com/fleetdm/fleet/pull/28332/files#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907b). -6. Head to [Render](https://dashboard.render.com/) and sign-in using the credentials in shared 1Password under "Render for testing software". In Render, select **fleet** and, in the left-side bar, select **Environment**. In the **Environment Variables** section, select **Edit**, and udpate the `FLEET_DEV_MAINTAINED_APPS_BASE_URL` environment variable with the following value: +5. If the app is a new app, add an icon for the app to the PR. To add the icon, add the SVG as a comment to the PR and then ask the contributor to add the SVG to their PR [like this](https://github.com/fleetdm/fleet/pull/28332/files#diff-3728cfaafa50a41f6b017a4ef6ab64f7ce99034a9e90ed46421670f76a2db17f). Also, ask them to update the `index.ts` file [like this](https://github.com/fleetdm/fleet/pull/28332/files#diff-628095892e1d16090be1db6cc1a5c9cebc65248c32a8b1312385394818f2907b). +6. [Quality Assurance (QA)](https://fleetdm.com/handbook/company/product-groups#software-group) is responsible for testing the app. +7. When testing, update the `FLEET_DEV_MAINTAINED_APPS_BASE_URL` environment variable with the following value: ``` https://raw.githubusercontent.com/fleetdm/fleet/refs/heads//ee/maintained-apps/outputs @@ -98,22 +99,8 @@ https://raw.githubusercontent.com/fleetdm/fleet/refs/heads//ee/m Make sure you replace the ``. -7. Select **Save and deploy**. For updates to existing apps, skip to step 9. +8. Add 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? -8. If the app is a new app, we want to use the PR's [Docker tag](https://hub.docker.com/r/fleetdm/fleet/tags) as the **Image URL** in Render. First, find PR's tag in the ["Docker publish" action](https://github.com/fleetdm/fleet/actions/workflows/goreleaser-snapshot-fleet.yaml) for the PR and select "Publish Docker images." The tag is the last 6-character hash in the output (ex. `f4cd9f7`). Then, in the left-side bar in Render, select **Settings**. In the **Deploy** section, select **Edit** next to **Image**, paste in the Docker tag, and select **Save changes**. - -After testing make sure to change the Image URL back to `docker.io/fleetdm/fleet:main` to clean up for next time. - -> Currently, if the contributor opened a PR from their fork of the fleetdm/fleet repo, Fleet won't publish a Docker tag. To create a Docker tag, create a copy of the contributor's PR in the fleetdm/fleet repo. To do this, create a new branch (ex. `COPY-contributor-PR-name`) and open a PR from the contributors branch to the copy branch. Merge in those changes and open a PR from your copy branch to `main` in fleetdm/fleet. - -9. Head to the [Fleet server for testing software](https://fleet-iibe.onrender.com/). - -10. If your laptop is already enrolled to a different Fleet (e.g. dogfood), we want to [unenroll it](https://fleetdm.com/guides/how-to-uninstall-fleetd) before enrolling it to the Fleet server for testing software. - -11. Enroll your laptop to the Fleet server for testing software by selecting **Add** hosts on the **Hosts** page and following the steps to generate Fleet's agent (fleetd) and install it on your laptop. - -12. Add 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? - -13. If the tests fail, the PD sets the PR to draft, files a bug that links to the PR, and updates the [testing spreadsheet](https://docs.google.com/spreadsheets/d/1H-At5fczHwV2Shm_vZMh0zuWowV7AD7yzHgA0RVN7nQ/edit?gid=0#gid=0). +9. If the tests fail, the PD sets the PR to draft, files a bug that links to the PR, and updates the [testing spreadsheet](https://docs.google.com/spreadsheets/d/1H-At5fczHwV2Shm_vZMh0zuWowV7AD7yzHgA0RVN7nQ/edit?gid=0#gid=0). -14. If the test is successful, the PD approves and merges the PR. +10. If the test is successful, the PD approves and merges the PR.