[cloud] Check AWS instance type coverage on a weekly schedule

Allow for proactive detection of new instance types that are not
covered by the existing automated tests, by splitting the type
coverage check into a separate workflow that runs on a weekly basis.

A weekly schedule is arguably overkill given the frequency at which
new instance types are introduced, but the instance type check takes
only a few seconds to run and so the minimal cost is justified for the
sake of getting relatively rapid notification of new instance types.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
diff --git a/.github/workflows/aws-import.yml b/.github/workflows/aws-import.yml
index af4998d..0e935a7 100644
--- a/.github/workflows/aws-import.yml
+++ b/.github/workflows/aws-import.yml
@@ -110,30 +110,10 @@
 
   types:
     name: Type coverage
-    runs-on: ubuntu-latest
-    container:
-      image: ghcr.io/ipxe/ipxe-builder-cloud
-    env:
-      types: ${{ join ( fromJson ( vars.AWS_TEST ).*.type, ' ' ) }}
-    environment: aws-import
+    uses: ./.github/workflows/aws-types.yml
     permissions:
       id-token: write
       contents: read
-    steps:
-
-      - name: Check out code
-        uses: actions/checkout@v6
-
-      - name: Log in
-        uses: aws-actions/configure-aws-credentials@v6
-        with:
-          role-to-assume: ${{ vars.AWS_ROLE }}
-          aws-region: ${{ vars.AWS_REGION }}
-
-      - name: Check type coverage
-        working-directory: src
-        run: |
-          ../contrib/cloud/aws-types ${{ env.types }}
 
   test:
     name: >-
diff --git a/.github/workflows/aws-types.yml b/.github/workflows/aws-types.yml
new file mode 100644
index 0000000..5803a9d
--- /dev/null
+++ b/.github/workflows/aws-types.yml
@@ -0,0 +1,36 @@
+name: AWS Types
+
+on:
+  workflow_dispatch:
+  workflow_call:
+  schedule:
+    - cron: '27 4 * * 1'
+
+jobs:
+
+  types:
+    name: Type coverage
+    runs-on: ubuntu-latest
+    container:
+      image: ghcr.io/ipxe/ipxe-builder-cloud
+    env:
+      types: ${{ join ( fromJson ( vars.AWS_TEST ).*.type, ' ' ) }}
+    environment: aws-import
+    permissions:
+      id-token: write
+      contents: read
+    steps:
+
+      - name: Check out code
+        uses: actions/checkout@v6
+
+      - name: Log in
+        uses: aws-actions/configure-aws-credentials@v6
+        with:
+          role-to-assume: ${{ vars.AWS_ROLE }}
+          aws-region: ${{ vars.AWS_REGION }}
+
+      - name: Check type coverage
+        working-directory: src
+        run: |
+          ../contrib/cloud/aws-types ${{ env.types }}