(MODULES-11615) Add support for SQL Server 2025 #234
Workflow file for this run
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: "ci" | |
| on: | |
| pull_request: | |
| branches: | |
| - "main" | |
| workflow_dispatch: | |
| env: | |
| SERVICE_URL: https://facade-release-6f3kfepqcq-ew.a.run.app/v1/provision | |
| PUPPET_FORGE_TOKEN: ${{ secrets.PUPPET_FORGE_TOKEN || secrets.PUPPET_FORGE_TOKEN_PUBLIC }} | |
| BUNDLE_RUBYGEMS___PUPPETCORE__PUPPET__COM: "forge-key:${{ secrets.PUPPET_FORGE_TOKEN || secrets.PUPPET_FORGE_TOKEN_PUBLIC }}" | |
| jobs: | |
| Spec: | |
| uses: "puppetlabs/cat-github-actions/.github/workflows/module_ci.yml@main" | |
| secrets: "inherit" | |
| setup_matrix: | |
| name: "Setup Test Matrix" | |
| needs: "Spec" | |
| runs-on: ubuntu-latest | |
| outputs: | |
| matrix: ${{ steps.get-matrix.outputs.matrix }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| if: ${{ github.repository_owner == 'puppetlabs' }} | |
| - name: Activate Ruby 3.1 | |
| uses: ruby/setup-ruby@v1 | |
| if: ${{ github.repository_owner == 'puppetlabs' }} | |
| with: | |
| ruby-version: "3.1" | |
| bundler-cache: true | |
| - name: Print bundle environment | |
| if: ${{ github.repository_owner == 'puppetlabs' }} | |
| run: | | |
| echo ::group::bundler environment | |
| bundle env | |
| echo ::endgroup:: | |
| - name: Setup Acceptance Test Matrix | |
| id: get-matrix | |
| run: | | |
| bundle exec matrix_from_metadata_v3 --nightly | |
| Acceptance: | |
| name: "${{ matrix.platforms.label }}, ${{ matrix.collection.collection || matrix.collection }}" | |
| needs: | |
| - setup_matrix | |
| if: ${{ needs.setup_matrix.outputs.matrix != '{}' }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: ${{fromJson(needs.setup_matrix.outputs.matrix)}} | |
| env: | |
| PUPPET_GEM_VERSION: '~> 8.9' | |
| FACTER_GEM_VERSION: 'https://github.com/puppetlabs/facter#main' | |
| steps: | |
| - name: "Install Twingate" | |
| uses: "twingate/github-action@v1" | |
| with: | |
| service-key: ${{ secrets.TWINGATE_PUBLIC_REPO_KEY }} | |
| - name: Fix DNS | |
| run: | | |
| echo "=== Remove Azure DNS from eth0 interface ===" | |
| sudo resolvectl dns eth0 "" | |
| echo "=== Configure Twingate DNS properly ===" | |
| sudo resolvectl dns sdwan0 100.95.0.251 100.95.0.252 | |
| sudo resolvectl domain sdwan0 delivery.puppetlabs.net | |
| echo "=== Flush DNS cache ===" | |
| sudo resolvectl flush-caches | |
| echo "=== Check new configuration ===" | |
| resolvectl status | |
| echo "=== Test DNS resolution ===" | |
| nslookup artifactory.delivery.puppetlabs.net | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Activate Ruby 3.1 | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "3.1" | |
| bundler-cache: true | |
| - name: Print bundle environment | |
| run: | | |
| echo ::group::bundler environment | |
| bundle env | |
| echo ::endgroup:: | |
| - name: Provision test environment | |
| run: | | |
| bundle exec rake "litmus:provision[${{matrix.platforms.provider}},${{ matrix.platforms.image }}]" | |
| - name: Install agent | |
| run: | | |
| if [[ "${{ matrix.collection.version }}" ]] ; then | |
| export PUPPET_VERSION=${{ matrix.collection.version }} | |
| bundle exec rake 'litmus:install_agent[${{ matrix.collection.collection }}]' | |
| else | |
| bundle exec rake 'litmus:install_agent[${{ matrix.collection }}]' | |
| fi | |
| - name: Install module | |
| run: | | |
| bundle exec rake 'litmus:install_module' | |
| - name: Install Chocolatey and MSOLEDBSQL driver | |
| run: | | |
| bundle exec bolt command run "Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" --targets all --inventoryfile spec/fixtures/litmus_inventory.yaml | |
| bundle exec bolt command run "choco install msoledbsql -y --force" --targets all --inventoryfile spec/fixtures/litmus_inventory.yaml | |
| - name: Authenticate with GCP | |
| run: | | |
| echo '${{ secrets.GCP_CONNECTION }}' >> creds.json | |
| bundle exec bolt file upload creds.json C:\\creds.json --targets all --inventoryfile spec/fixtures/litmus_inventory.yaml | |
| bundle exec bolt command run "gcloud auth activate-service-account --key-file C:\\creds.json" --targets all --inventoryfile spec/fixtures/litmus_inventory.yaml | |
| - name: Download OS ISO | |
| run: | | |
| bundle exec bolt command run 'gsutil -q cp gs://artifactory-modules/windows/en_windows_server_2019_updated_july_2020_x64_dvd_94453821.iso C:\\' --targets all --inventoryfile spec/fixtures/litmus_inventory.yaml | |
| - name: Download SQLServer ISO | |
| run: | | |
| bundle exec bolt command run 'gsutil -q cp gs://artifactory-modules/puppetlabs-sqlserver/SQLServer2019CTP2.4-x64-ENU.iso C:\\' --targets all --inventoryfile spec/fixtures/litmus_inventory.yaml | |
| - name: Set Environment Variable | |
| run: | | |
| pass=`grep -oP '(?<=password: ).*' spec/fixtures/litmus_inventory.yaml` | |
| bundle exec bolt command run "[Environment]::SetEnvironmentVariable('pass', '$pass', 'Machine')" --targets all --inventoryfile spec/fixtures/litmus_inventory.yaml | |
| - name: Run acceptance tests | |
| run: | | |
| bundle exec rake 'litmus:acceptance:parallel' | |
| - name: Remove test environment | |
| if: ${{ always() }} | |
| continue-on-error: true | |
| run: | | |
| bundle exec rake 'litmus:tear_down' |