For applications to be added to the allow-list, they must meet a few requirements. This page explains the steps to verify an application can be added to the allow-list.

Isolate your application

Applications on the allow-list must be isolated in the repository, meaning no code from other applications is imported in it, or importing from it. You can check whether your application is isolated by running the cross-app import checker with your application’s folder name:

yarn check-app-imports --app-folders APP_FOLDER_NAME
BASH

This script will output all cross app imports relating to the specified folder name, if any exist.

For more information on using the script above, read the documentation on cross app imports.

If there are other applications importing from your app, you’ll need to have the imports removed. You can do so by reaching out to the team, or refactoring them yourself and having them review the changes. If there are any imports that you’re unsure on how to remove, please reach out to the Release Tools Team.

Pass the header test

Since the site header test is executed in isolated application builds, you must ensure that the test passes with your app. You can verify this by running:

yarn cy:run --spec src/platform/site-wide/mega-menu/tests/megaMenu.cypress.spec.js --env app_url=YOUR_APP_URL
BASH

This will run the test using the root application URL rather than the homepage.

Add a Slack group for your app

Allowed applications must have a Slack user group for the owners. This group will be notified when isolated application workflow runs fail in the main branch. Notifications are sent to the #status-vets-website Slack channel. If your team doesn't have a user group, you can request one in the #slack-workspace-admin channel.

The Slack user group can be added to your application’s entry in the config file.

{
  "rootFolder": "vaos",
  "slackGroup": "@vaos-fe-dev"
}
JSON

The configuration above will notify the @vaos-fe-dev user group in the #status-vets-website channel whenever a workflow run for the vaos application fails in main. Multiple groups can also be added to the slackGroup property. Groups should be delimited by a space, e.g.

{
  "rootFolder": "vaos",
  "slackGroup": "@vaos-fe-all @vaos-fe-dev"
}
JSON


Once your application is isolated, passes the header test, and a Slack group exists for your team, you can create a PR for adding it to the allow-list, and the Release Tools Team will review it. You can also submit a support request in the #vfs-platform-support channel to get help with adding an application to the allow-list.

FAQs

Common questions:

I'm working on isolating my app, how do I handle importing the root URL of another app?

You can use the getAppURL function from the registry helpers.