Skip to content

Commit fcc2239

Browse files
authored
Update github-actions.md
1 parent 9b93832 commit fcc2239

1 file changed

Lines changed: 25 additions & 36 deletions

File tree

hub/apps/publish/msstore-dev-cli/github-actions.md

Lines changed: 25 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,9 @@ To understand how to automate package and metadata updates using GitHub Actions,
5252

5353
>[!VIDEO https://learn-video.azurefd.net/vod/player?id=71516e30-3dd4-44f7-8428-c31211cb4be7]
5454
55-
### Step 1
55+
### For package updates
5656

57-
#### For package updates
58-
* Under .github/workflows/, create AppPackageAutoUpdate.yml using the provided workflow snippet:
57+
Under .github/workflows/, create AppPackageAutoUpdate.yml using the provided workflow snippet:
5958

6059
```console
6160
name: AppPackageAutoUpdate
@@ -87,12 +86,11 @@ jobs:
8786
run: msstore publish '${{ github.workspace }}/release/package.msix' -id <Store product Id>
8887
```
8988

90-
* When the package.msix is updated as part of the CI/CD flow in the release folder, the AppPackageAutoUpdate.yml workflow is triggered automatically.
89+
When the package.msix is updated as part of the CI/CD flow in the release folder, the AppPackageAutoUpdate.yml workflow is triggered automatically.
9190

92-
### Step 2
91+
### For metadata updates
9392

94-
#### For metadata updates
95-
* Before publishing metadata updates for the first time, obtain the base metadata JSON from Partner Center for your app submission. This ensures you start with the correct structure for your app. So, create a GitHub Actions workflow under .github/workflows/GetBaseMetadata.yml using the provided snippet:
93+
Before publishing metadata updates for the first time, obtain the base metadata JSON from Partner Center for your app submission. This ensures you start with the correct structure for your app. So, create a GitHub Actions workflow under .github/workflows/GetBaseMetadata.yml using the provided snippet:
9694

9795
```console
9896
name: GetBaseMetadata
@@ -123,14 +121,13 @@ jobs:
123121
msstore submission get <Store product Id>
124122
```
125123

126-
* Run this workflow from the Actions tab in your GitHub repository. Select the relevant workflow and click Run workflow.
124+
Run this workflow from the Actions tab in your GitHub repository. Select the relevant workflow and click Run workflow.
127125

128126
:::image type="content" source="../images/github-actions-get-base-metadata-workflow-msix.png" lightbox="../images/github-actions-get-base-metadata-workflow-msix.png" alt-text="A screenshot showing workflow run process for obtaining base metadata for MSIX app.":::
129127

130-
* Upon completion, the workflow will obtain the metadata for your app in the build logs.
131-
* Copy this and create a metadata.json file in the metadata folder.
128+
Upon completion, the workflow will obtain the metadata for your app in the build logs. Copy this and create a metadata.json file in the metadata folder.
132129

133-
* Now, under .github/workflows/, create AppMetadataAutoUpdate.yml using the provided workflow snippet:
130+
Now, under .github/workflows/, create AppMetadataAutoUpdate.yml using the provided workflow snippet:
134131

135132
```console
136133
name: AppMetadataAutoUpdate
@@ -159,12 +156,14 @@ jobs:
159156
--clientSecret ${{ secrets.AZURE_AD_APPLICATION_SECRET }}
160157
161158
- name: Update metadata
162-
run: msstore submission updateMetadata <Store product Id> '${{ github.workspace }}/metadata/metadata.json'
159+
run: |
160+
$metadata = Get-Content -Raw "${{ github.workspace }}/metadata/metadata.json"
161+
msstore submission updateMetadata <Store product Id> $metadata
163162
- name: Publish to Store
164163
run: msstore submission publish <Store product Id>
165164
```
166165

167-
* When metadata.json gets updated as part of the CI/CD flow in the metadata folder, it will automatically trigger the AppMetadataAutoUpdate.yml workflow.
166+
When metadata.json gets updated as part of the CI/CD flow in the metadata folder, it will automatically trigger the AppMetadataAutoUpdate.yml workflow.
168167

169168
The above workflows will do the following in the background:
170169
* Invoke the GitHub Action (microsoft-store-apppublisher)
@@ -173,18 +172,13 @@ The above workflows will do the following in the background:
173172

174173
For more information on commands, refer [Microsoft Store Developer CLI (MSIX)](https://learn.microsoft.com/windows/apps/publish/msstore-dev-cli/overview).
175174

176-
### Step 3
177-
178-
After your GitHub Actions workflow completes successfully, check the Microsoft Store to confirm that your changes are live. Updates will appear after the certification process in Partner Center is complete.
179-
180175
## [MSI/EXE](#tab/msiexe)
181176

182177
[Add the GitHub Action Workflow](https://docs.github.com/actions/tutorials/create-an-example-workflow) to invoke the Microsoft GitHub action (microsoft-store-apppublisher) for publishing package and app metadata updates to store.
183178

184-
### Step 1
179+
### For package updates
185180

186-
#### For package updates
187-
* Before publishing updates for the first time, obtain the base package JSON from Partner Center for your app submission. This ensures you start with the correct structure for your app. So, create a GitHub Actions workflow under .github/workflows/GetBasePackage.yml using the provided snippet:
181+
Before publishing updates for the first time, obtain the base package JSON from Partner Center for your app submission. This ensures you start with the correct structure for your app. So, create a GitHub Actions workflow under .github/workflows/GetBasePackage.yml using the provided snippet:
188182

189183
```console
190184
name: GetBasePackage
@@ -215,14 +209,13 @@ jobs:
215209
msstore submission get <Partner center Id>
216210
```
217211

218-
* Run this workflow from the Actions tab in your GitHub repository. Select the relevant workflow and click Run workflow.
212+
Run this workflow from the Actions tab in your GitHub repository. Select the relevant workflow and click Run workflow.
219213

220214
:::image type="content" source="../images/github-actions-get-base-package-workflow-exe.png" lightbox="../images/github-actions-get-base-package-workflow-exe.png" alt-text="A screenshot showing workflow run process for obtaining base package info for EXE app.":::
221215

222-
* Upon completion, the workflow will obtain the package info for your app in the build logs.
223-
* Copy this and create a package.json file in the release folder.
216+
Upon completion, the workflow will obtain the package info for your app in the build logs. Copy this and create a package.json file in the release folder.
224217

225-
* Now, under .github/workflows/, create AppPackageAutoUpdate.yml using the provided workflow snippet:
218+
Now, under .github/workflows/, create AppPackageAutoUpdate.yml using the provided workflow snippet:
226219

227220
```console
228221
name: AppPackageAutoUpdate
@@ -259,12 +252,11 @@ jobs:
259252
msstore submission publish <Partner center Id>
260253
```
261254

262-
* When the package.json is updated as part of the CI/CD flow in the release folder, the AppPackageAutoUpdate.yml workflow is triggered automatically.
255+
When the package.json is updated as part of the CI/CD flow in the release folder, the AppPackageAutoUpdate.yml workflow is triggered automatically.
263256

264-
### Step 2
257+
### For metadata updates
265258

266-
#### For metadata updates
267-
* Next, for metadata, obtain the base metadata JSON from Partner Center for your app submission by creating a GitHub Actions workflow under .github/workflows/GetBaseMetadata.yml using the provided snippet:
259+
Next, for metadata, obtain the base metadata JSON from Partner Center for your app submission by creating a GitHub Actions workflow under .github/workflows/GetBaseMetadata.yml using the provided snippet:
268260

269261
```console
270262
name: GetBaseMetadata
@@ -295,14 +287,13 @@ jobs:
295287
msstore submission get <Partner center Id> -m <module name>
296288
```
297289

298-
* Run this workflow from the Actions tab in your GitHub repository. Select the relevant workflow and click Run workflow.
290+
Run this workflow from the Actions tab in your GitHub repository. Select the relevant workflow and click Run workflow.
299291

300292
:::image type="content" source="../images/github-actions-get-base-metadata-workflow-exe.png" lightbox="../images/github-actions-get-base-metadata-workflow-exe.png" alt-text="A screenshot showing workflow run process for obtaining base metadata for EXE app.":::
301293

302-
* Upon completion, the workflow will obtain the metadata for the specified module for your app in the build logs.
303-
* Copy this and create a metadata.json file in the metadata folder.
294+
Upon completion, the workflow will obtain the metadata for the specified module for your app in the build logs. Copy this and create a metadata.json file in the metadata folder.
304295

305-
* Now, under .github/workflows/, create AppMetadataAutoUpdate.yml using the provided workflow snippet:
296+
Now, under .github/workflows/, create AppMetadataAutoUpdate.yml using the provided workflow snippet:
306297

307298
```console
308299
name: AppMetadataAutoUpdate
@@ -339,7 +330,7 @@ jobs:
339330
msstore submission publish <Partner center Id>
340331
```
341332

342-
* When metadata.json gets updated as part of the CI/CD flow in the metadata folder, it will automatically trigger the AppMetadataAutoUpdate.yml workflow.
333+
When metadata.json gets updated as part of the CI/CD flow in the metadata folder, it will automatically trigger the AppMetadataAutoUpdate.yml workflow.
343334

344335
The above workflows will do the following in the background:
345336
* Invoke the GitHub Action (microsoft-store-apppublisher)
@@ -348,10 +339,8 @@ The above workflows will do the following in the background:
348339

349340
For more information on commands, refer [Microsoft Store Developer CLI (MSI/EXE)](https://learn.microsoft.com/windows/apps/publish/msstore-dev-cli/overview-exe).
350341

351-
### Step 3
342+
---
352343

353344
After your GitHub Actions workflow completes successfully, check the Microsoft Store to confirm that your changes are live. Updates will appear after the certification process in Partner Center is complete.
354345

355-
---
356-
357346
We trust that this document will help significantly enhance the efficiency and reliability of your Microsoft Store update process. By following these best practices, you can streamline app publishing and ensure a consistent, high-quality release experience.

0 commit comments

Comments
 (0)