6.7.1 — 20.10.2024 #243
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: Build | |
on: | |
push: | |
tags: | |
- "*.*" | |
jobs: | |
patch: | |
runs-on: windows-latest | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@main | |
- name: Signing all .ps1, .psm1, .psd1 files | |
run: | | |
. Scripts\Sign.ps1 | |
- name: Dependencies | |
run: | | |
. "Scripts\Dependencies.ps1" | |
- name: Sophia Script for Windows 10 | |
run: | | |
. "Scripts\Windows_10.ps1" | |
- name: Sophia Script for Windows 10 PowerShell 7 | |
run: | | |
. "Scripts\Windows_10_PS_7.ps1" | |
- name: Sophia Script for Windows 10 LTSC 2019 | |
run: | | |
. "Scripts\Windows_10_LTSC_2019.ps1" | |
- name: Sophia Script for Windows 10 LTSC 2021 | |
run: | | |
. "Scripts\Windows_10_LTSC_2021.ps1" | |
- name: Sophia Script for Windows 11 | |
run: | | |
. "Scripts\Windows_11.ps1" | |
- name: Sophia Script for Windows 11 PowerShell 7 | |
run: | | |
. "Scripts\Windows_11_PS_7.ps1" | |
- name: Sophia Script for Windows 11 LTSC 2024 | |
run: | | |
. "Scripts\Windows_11_LTSC_2024.ps1" | |
- name: Sophia Script Wrapper | |
run: | | |
. "Scripts\Wrapper.ps1" | |
- name: ReleaseNotesTemplate | |
id: read_release | |
run: | | |
# Get a penultimate build tag | |
$Token = "${{ secrets.GITHUB_TOKEN }}" | |
$Headers = @{ | |
Accept = "application/json" | |
Authorization = "Bearer $Token" | |
} | |
$Parameters = @{ | |
Uri = "https://api.github.com/repos/farag2/Sophia-Script-for-Windows/releases" | |
Headers = $Headers | |
UseBasicParsing = $true | |
Verbose = $true | |
} | |
$Penultimate = (Invoke-RestMethod @Parameters).tag_name | Select-Object -Index 1 | |
# Parse json for the latest script versions | |
$Parameters = @{ | |
Uri = "https://raw.githubusercontent.com/farag2/Sophia-Script-for-Windows/master/sophia_script_versions.json" | |
UseBasicParsing = $true | |
Verbose = $true | |
} | |
$Sophia_Script_Windows_10_PowerShell_5_1 = (Invoke-RestMethod @Parameters).Sophia_Script_Windows_10_PowerShell_5_1 | |
$Sophia_Script_Windows_10_PowerShell_7 = (Invoke-RestMethod @Parameters).Sophia_Script_Windows_10_PowerShell_7 | |
$Sophia_Script_Windows_10_LTSC2019 = (Invoke-RestMethod @Parameters).Sophia_Script_Windows_10_LTSC2019 | |
$Sophia_Script_Windows_10_LTSC2021 = (Invoke-RestMethod @Parameters).Sophia_Script_Windows_10_LTSC2021 | |
$Sophia_Script_Windows_11_PowerShell_5_1 = (Invoke-RestMethod @Parameters).Sophia_Script_Windows_11_PowerShell_5_1 | |
$Sophia_Script_Windows_11_PowerShell_7 = (Invoke-RestMethod @Parameters).Sophia_Script_Windows_11_PowerShell_7 | |
$Sophia_Script_Windows_11_LTSC2024 = (Invoke-RestMethod @Parameters).Sophia_Script_Windows_11_LTSC2024 | |
$Sophia_Script_Wrapper = (Invoke-RestMethod @Parameters).Sophia_Script_Wrapper | |
# Replace variables with script latest versions | |
# No need to replace special characters with percent-encoding ones | |
(Get-Content -Path ReleaseNotesTemplate.md -Encoding utf8 -Raw) | Foreach-Object -Process { | |
$_ -replace "NewVersion", "${{ github.ref_name }}" ` | |
-replace "OldVersion", $Penultimate ` | |
-replace "Sophia_Script_Windows_10_PowerShell_5_1", $Sophia_Script_Windows_10_PowerShell_5_1 ` | |
-replace "Sophia_Script_Windows_10_PowerShell_7", $Sophia_Script_Windows_10_PowerShell_7 ` | |
-replace "Sophia_Script_Windows_10_LTSC2019", $Sophia_Script_Windows_10_LTSC2019 ` | |
-replace "Sophia_Script_Windows_10_LTSC2021", $Sophia_Script_Windows_10_LTSC2021 ` | |
-replace "Sophia_Script_Windows_11_PowerShell_5_1", $Sophia_Script_Windows_11_PowerShell_5_1 ` | |
-replace "Sophia_Script_Windows_11_PowerShell_7", $Sophia_Script_Windows_11_PowerShell_7 ` | |
-replace "Sophia_Script_Windows_11_LTSC2024", $Sophia_Script_Windows_11_LTSC2024 ` | |
-replace "Sophia_Script_Wrapper", $Sophia_Script_Wrapper | |
} | Set-Content -Path ReleaseNotesTemplate.md -Encoding utf8 -Force | |
# https://trstringer.com/github-actions-multiline-strings/ | |
Add-Content -Path $env:GITHUB_OUTPUT -Value "ReleaseBody=ReleaseNotesTemplate.md" | |
$ReleaseName = Get-Date -f "dd.MM.yyyy" | |
echo "RELEASE_NAME=$ReleaseName" >> $env:GITHUB_ENV | |
- name: Uploading | |
uses: softprops/action-gh-release@master | |
with: | |
name: ${{ env.RELEASE_NAME }} | |
token: ${{ github.token }} | |
files: | | |
Sophia*.zip | |
SHA256SUM | |
body_path: ${{ steps.read_release.outputs.ReleaseBody }} |