Store submission on release #60
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Store submission on release | |
on: | |
workflow_dispatch: | |
release: | |
types: [published] | |
permissions: | |
id-token: write | |
jobs: | |
microsoft_store: | |
name: Publish Microsoft Store | |
environment: store | |
runs-on: ubuntu-latest | |
steps: | |
- name: BODGY - Set up Gnome Keyring for future Cert Auth | |
run: |- | |
sudo apt-get install -y gnome-keyring | |
export $(dbus-launch --sh-syntax) | |
export $(echo 'anypass_just_to_unlock' | gnome-keyring-daemon --unlock) | |
export $(echo 'anypass_just_to_unlock' | gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh) | |
- name: Log in to Azure | |
uses: azure/login@v2 | |
with: | |
client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
enable-AzPSSession: true | |
- name: Get latest URL from public releases | |
id: releaseVars | |
run: | | |
release=$(curl https://api.github.com/repos/Microsoft/PowerToys/releases | jq '[.[]|select(.name | contains("Release"))][0]') | |
assets=$(jq -n "$release" | jq '.assets') | |
powerToysSetup=$(jq -n "$assets" | jq '[.[]|select(.name | contains("PowerToysUserSetup"))]') | |
echo powerToysInstallerX64Url=$(jq -n "$powerToysSetup" | jq -r '[.[]|select(.name | contains("x64"))][0].browser_download_url') >> $GITHUB_OUTPUT | |
echo powerToysInstallerArm64Url=$(jq -n "$powerToysSetup" | jq -r '[.[]|select(.name | contains("arm64"))][0].browser_download_url') >> $GITHUB_OUTPUT | |
- uses: microsoft/setup-msstore-cli@v1 | |
- name: Fetch Store Credential | |
uses: azure/cli@v2 | |
with: | |
azcliversion: latest | |
inlineScript: |- | |
az keyvault secret download --vault-name ${{ secrets.AZURE_KEYVAULT_NAME }} -n ${{ secrets.AZURE_AUTH_CERT_NAME }} -f cert.pfx.b64 | |
base64 -d < cert.pfx.b64 > cert.pfx | |
- name: Configure Store Credentials | |
run: |- | |
msstore reconfigure -cfp cert.pfx -c ${{ secrets.AZURE_CLIENT_ID }} -t ${{ secrets.AZURE_TENANT_ID }} -s ${{ secrets.SELLER_ID }} | |
- name: Update draft submission | |
run: |- | |
msstore submission update ${{ secrets.PRODUCT_ID }} '{ | |
"packages":[ | |
{ | |
"packageUrl":"${{ steps.releaseVars.outputs.powerToysInstallerX64Url }}", | |
"languages":["zh-hans", "zh-hant", "en", "cs", "nl", "fr", "pt", "pt-br", "de", "hu", "it", "ja", "ko", "pl", "ru", "es", "tr"], | |
"architectures":["X64"], | |
"installerParameters":"/quiet /norestart", | |
"isSilentInstall":true | |
}, | |
{ | |
"packageUrl":"${{ steps.releaseVars.outputs.powerToysInstallerArm64Url }}", | |
"languages":["zh-hans", "zh-hant", "en", "cs", "nl", "fr", "pt", "pt-br", "de", "hu", "it", "ja", "ko", "pl", "ru", "es", "tr"], | |
"architectures":["Arm64"], | |
"installerParameters":"/quiet /norestart", | |
"isSilentInstall":true | |
} | |
] | |
}' | |
- name: Publish Submission | |
run: |- | |
msstore submission publish ${{ secrets.PRODUCT_ID }} | |
- name: Clean up auth certificate | |
if: always() | |
run: |- | |
rm -f cert.pfx cert.pfx.b64 |