Update binaries #148
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
# Updates binaries required for packaging the Microsoft 365 Apps | |
# setup.exe from the Office Deployment Tool | |
# PSAppDeployToolkit to manage the install | |
# Microsoft Win32 Content Prep Tool (IntuneWinAppUtil.exe) to package into intunewin format | |
name: Update binaries | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
paths: | |
- .github/workflows/update-binaries.yml | |
schedule: | |
- cron: '0 22 * * 3' | |
jobs: | |
update: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install and cache PowerShell modules | |
id: psmodulecache | |
uses: potatoqualitee/[email protected] | |
with: | |
modules-to-cache: "Evergreen::" | |
updatable: true | |
shell: pwsh | |
- name: New tmp dir | |
shell: pwsh | |
run: | | |
New-Item -Path "${{ github.workspace }}\tmp" -ItemType "Directory" -ErrorAction "SilentlyContinue" | |
- name: Update PSAppDeployToolkit | |
shell: pwsh | |
run: | | |
New-Item -Path "${{ github.workspace }}\PSAppDeployToolkit" -ItemType "Directory" -ErrorAction "SilentlyContinue" | |
$File = Get-EvergreenApp -Name "PSAppDeployToolkit" | Save-EvergreenApp -Path "${{ github.workspace }}\tmp" | |
Expand-Archive -LiteralPath $File.FullName -DestinationPath "${{ github.workspace }}\PSAppDeployToolkit" -Force | |
- name: Restore PSAppDeployToolkit scripts | |
shell: pwsh | |
run: | | |
Copy-Item -Path "${{ github.workspace }}\PSAppDeployToolkit\Deploy-Application.ps1" -Destination "${{ github.workspace }}\PSAppDeployToolkit\Toolkit\Deploy-Application.ps1" | |
Copy-Item -Path "${{ github.workspace }}\scrub\*.vbs" -Destination "${{ github.workspace }}\PSAppDeployToolkit\Toolkit\SupportFiles" | |
- name: Update setup.exe | |
shell: pwsh | |
run: | | |
New-Item -Path "${{ github.workspace }}\m365" -ItemType "Directory" -ErrorAction "SilentlyContinue" | |
$File = Get-EvergreenApp -Name "Microsoft365Apps" | Select-Object -First 1 | Save-EvergreenApp -Path "${{ github.workspace }}\tmp" | |
Move-Item -LiteralPath $File.FullName -Destination "${{ github.workspace }}\m365\$($File.Name)" -Force | |
- name: Update App.json | |
shell: pwsh | |
run: | | |
$File = Get-Item -Path "${{ github.workspace }}\m365\setup.exe" | |
$Json = Get-Content -Path "${{ github.workspace }}\scripts\App.json" | ConvertFrom-Json | |
$Json.PackageInformation.Version = $File.VersionInfo.ProductVersion | |
$Json | ConvertTo-Json | Out-File -Path "${{ github.workspace }}\scripts\App.json" -Encoding "Utf8" -NoNewLine -Force | |
- name: Update IntuneWinAppUtil.exe | |
shell: pwsh | |
run: | | |
New-Item -Path "${{ github.workspace }}\intunewin" -ItemType "Directory" -ErrorAction "SilentlyContinue" | |
$params = @{ | |
Uri = "https://raw.githubusercontent.com/microsoft/Microsoft-Win32-Content-Prep-Tool/master/IntuneWinAppUtil.exe" | |
OutFile = "${{ github.workspace }}\intunewin\IntuneWinAppUtil.exe" | |
UseBasicParsing = $True | |
} | |
Invoke-WebRequest @params | |
- name: Import GPG key | |
id: import_gpg | |
uses: crazy-max/ghaction-import-gpg@v6 | |
with: | |
gpg_private_key: ${{ secrets.GPGKEY }} | |
passphrase: ${{ secrets.GPGPASSPHRASE }} | |
git_user_signingkey: true | |
git_commit_gpgsign: true | |
git_config_global: true | |
git_tag_gpgsign: true | |
git_push_gpgsign: false | |
git_committer_name: ${{ secrets.COMMIT_NAME }} | |
git_committer_email: ${{ secrets.COMMIT_EMAIL }} | |
# Format the date number for the commit message | |
- name: Get date | |
id: get-date | |
shell: pwsh | |
run: | | |
$Date = Get-Date -Format yyyyMMdd | |
echo "date=$Date" | Out-File -FilePath $Env:GITHUB_OUTPUT -Encoding utf8 -Append | |
- name: Commit changes | |
id: commit | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: "Update binaries ${{ steps.get-date.outputs.date }}.${{ github.run_number }}" | |
commit_user_name: ${{ secrets.COMMIT_NAME }} | |
commit_user_email: ${{ secrets.COMMIT_EMAIL }} | |
- name: "Run if changes have been detected" | |
if: steps.commit.outputs.changes_detected == 'true' | |
run: echo "Changes committed." | |
- name: "Run if no changes have been detected" | |
if: steps.commit.outputs.changes_detected == 'false' | |
run: echo "No changes detected." |