MegaBites-AI/Windows-powershell
0372
1name: linux_packaging2description: 'Linux packaging for PowerShell'3 4runs:5 using: composite6 steps:7 - name: Capture Environment8 if: success() || failure()9 run: |-10 Import-Module ./tools/ci.psm111 Show-Environment12 shell: pwsh13 14 - uses: actions/setup-dotnet@c2fa09f4bde5ebb9d1777cf28262a3eb3db3ced7 # v5.2.015 with:16 global-json-file: ./global.json17 18 - name: Bootstrap19 run: |-20 Import-Module ./build.psm121 Start-PSBootstrap -Scenario Package22 Import-Module ./tools/ci.psm123 Invoke-CIInstall -SkipUser24 shell: pwsh25 26 - name: Build and Package27 run: |-28 Import-Module ./tools/ci.psm129 $releaseTag = Get-ReleaseTag30 Start-PSBuild -Configuration 'Release' -ReleaseTag $releaseTag31 Invoke-CIFinish32 shell: pwsh33 34 - name: Install Pester35 run: |-36 Import-Module ./tools/ci.psm137 Install-CIPester38 shell: pwsh39 40 - name: Validate Package Names41 run: |-42 # Run Pester tests to validate package names43 Import-Module Pester -Force44 $testResults = Invoke-Pester -Path ./test/packaging/linux/package-validation.tests.ps1 -PassThru45 if ($testResults.FailedCount -gt 0) {46 throw "Package validation tests failed"47 }48 shell: pwsh49 50 - name: Upload deb packages51 uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.252 with:53 name: packages-deb54 path: ${{ runner.workspace }}/packages/*.deb55 if-no-files-found: ignore56 57 - name: Upload rpm packages58 uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.259 with:60 name: packages-rpm61 path: ${{ runner.workspace }}/packages/*.rpm62 if-no-files-found: ignore63 64 - name: Upload tar.gz packages65 uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.266 with:67 name: packages-tar68 path: ${{ runner.workspace }}/packages/*.tar.gz69 if-no-files-found: ignore70 