Testing Find-DbaCommand - Restore the index file the Rebuild test ove… #2806
This file contains hidden or 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: Test version in Gallery | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches-ignore: | |
| - master | |
| tags-ignore: | |
| - '**' | |
| paths-ignore: | |
| - '**/*.md' | |
| - '**/*.json' | |
| - '!.github/dbatools-library-version.json' | |
| - 'docs/**' | |
| - '.github/FUNDING.yml' | |
| - '.github/ISSUE_TEMPLATE/**' | |
| - '.github/PULL_REQUEST_TEMPLATE.md' | |
| - '.aider/**' | |
| - '.devcontainer/**' | |
| - '.vscode/**' | |
| - 'bin/**' | |
| - 'en-us/**' | |
| defaults: | |
| run: | |
| shell: pwsh | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: gallery-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| linux-tests: | |
| env: | |
| SMODefaultModuleName: dbatools | |
| GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 60 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest] | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Read dbatools.library version | |
| id: get-version | |
| shell: pwsh | |
| run: | | |
| $versionConfig = Get-Content '.github/dbatools-library-version.json' | ConvertFrom-Json | |
| $version = $versionConfig.version | |
| $isPreview = $version -like "*preview*" | |
| Write-Output "version=$version" >> $env:GITHUB_OUTPUT | |
| Write-Output "is_preview=$isPreview" >> $env:GITHUB_OUTPUT | |
| Write-Output "Using dbatools.library version: $version" | |
| Write-Output "Is preview version: $isPreview" | |
| - name: Install dbatools.library (stable versions) | |
| if: steps.get-version.outputs.is_preview == 'False' | |
| shell: pwsh | |
| run: | | |
| Write-Output "Stable version detected, bypassing PSModuleCache in this secret-bearing job" | |
| Set-PSRepository -Name PSGallery -InstallationPolicy Trusted | |
| ./.github/scripts/install-dbatools-library.ps1 | |
| - name: Install dbatools.library (preview versions) | |
| if: steps.get-version.outputs.is_preview == 'True' | |
| shell: pwsh | |
| run: | | |
| Write-Output "Preview version detected, bypassing PSModuleCache and using install script" | |
| Set-PSRepository -Name PSGallery -InstallationPolicy Trusted | |
| ./.github/scripts/install-dbatools-library.ps1 | |
| - name: Download dbatools from Gallery | |
| run: | | |
| Set-PSRepository -Name PSGallery -InstallationPolicy Trusted | |
| Install-Module dbatools -AllowPrerelease | |
| - name: Set encryption values | |
| run: | | |
| Import-Module dbatools | |
| Set-DbatoolsInsecureConnection | |
| Install-DbaSqlPackage | |
| - name: Setup docker images | |
| run: | | |
| # create a shared network | |
| docker network create localnet | |
| # Expose engine and endpoint then setup a shared path for migrations | |
| docker run -p 1433:1433 --volume shared:/shared:z --name mssql1 --hostname mssql1 --network localnet -e MSSQL_MEMORY_LIMIT_MB=1536 -d dbatools/sqlinstance | |
| # Expose second engine and endpoint on different port | |
| docker run -p 14333:1433 --volume shared:/shared:z --name mssql2 --hostname mssql2 --network localnet -e MSSQL_MEMORY_LIMIT_MB=1536 -d dbatools/sqlinstance2 | |
| # Keep the runner topology in parity with integration-tests.yml | |
| docker run -p 14334:1433 --volume shared:/shared:z --name mssql3 --hostname mssql3 --network localnet -e MSSQL_MEMORY_LIMIT_MB=1024 -d dbatools/sqlinstance2 | |
| - name: 👥 Clone appveyor repo | |
| working-directory: /tmp | |
| run: | | |
| gh repo clone dataplat/appveyor-lab | |
| - name: Run tests | |
| env: | |
| TENANTID: ${{secrets.TENANTID}} | |
| CLIENTID: ${{secrets.CLIENTID}} | |
| CLIENTSECRET: ${{secrets.CLIENTSECRET}} | |
| CLIENT_GUID: ${{secrets.CLIENT_GUID}} | |
| CLIENT_GUID_SECRET: ${{secrets.CLIENT_GUID_SECRET}} | |
| DBATOOLS_GALLERY_TEST: "true" | |
| run: | | |
| Import-Module dbatools -Force | |
| $result = Invoke-Pester .github/scripts/gh-actions.ps1 -Output Detailed -PassThru | |
| if ($result.Result -ne "Passed" -or $result.FailedCount -gt 0) { | |
| throw "Gallery integration tests failed with result $($result.Result) and $($result.FailedCount) failed test(s)." | |
| } |