Skip to content

Update binaries

Update binaries #136

# 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."