Skip to content

Docker SQL Server Setup #237

Docker SQL Server Setup

Docker SQL Server Setup #237

name: Docker SQL Server Setup
env:
DEBUG_CLEAN_UP_MY_TEMP_FOLDERS_AND_FILES_ON_EXIT: '1'
THEIMAGE: 'devizervlad/iis-net4x-net35'
on:
workflow_dispatch:
push:
branches: [ "master" ]
schedule:
- cron: "15 4 * * *"
defaults:
run:
shell: powershell
jobs:
Setup:
timeout-minutes: 360
runs-on: ${{ matrix.OS }}
strategy:
fail-fast: false
matrix:
include:
- TAG: ltsc2025
ISOLATION: process
OS: windows-2025
- TAG: ltsc2025
ISOLATION: hyperv
OS: windows-2025
- TAG: ltsc2022
ISOLATION: process
OS: windows-2022
- TAG: ltsc2022
ISOLATION: hyperv
OS: windows-2022
- TAG: ltsc2019
ISOLATION: hyperv
OS: windows-2025
- TAG: ltsc2016
ISOLATION: hyperv
OS: windows-2025
env:
PS1_TROUBLE_SHOOT: On
SQLSERVERS_MEDIA_FOLDER: 'C:\Sql-Media'
SQLSERVERS_SETUP_FOLDER: 'C:\Sql-Setup'
DEBUG_LOG_FOLDER: 'C:\Artifacts'
steps:
- name: Total Modules
if: ${{ false }}
run: 'Write-Host "Total Modules: $((get-module -ListAvailable).Count)"'
- name: Bootstrap
uses: devizer/devops-library@main
- name: Bootstrap
shell: bash
run: |
set -eu;
nohup powershell -c "\$PSVersionTable" &
wait
# time powershell -c "Install-Module -Name SqlServer-Version-Management -Force"
nohup powershell -c "Install-Module -Name SqlServer-Version-Management -Force" &
# nohup cmd.exe /c "start https://devizer.github.io" &
ls -la "/c/Program Files/Google/Chrome/Application/chrome.exe"
nohup "/c/Program Files/Google/Chrome/Application/chrome.exe" --headless --disable-gpu https://devizer.github.io &
echo FIRST; jobs
sleep 3
echo SECOND; jobs
# find "/c/Program Files" -name chrome.exe
- name: Accelerate Docker
shell: bash
run: |
Run-Remote-Script https://raw.githubusercontent.com/devizer/glist/master/Move-Docker-to-SSD-for-Windows-On-Microsoft-Hosted-Build-Agent.ps1
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 888888
- name: "Pull ${{ matrix.TAG }}"
shell: bash
run: 'try-and-retry docker pull ${{ env.THEIMAGE }}:${{ matrix.TAG }}'
- name: Test ALL
shell: pwsh
run: |
$ENV:ISOLATION="${{ matrix.ISOLATION }}"
$env:TAG="${{ matrix.TAG }}"
. ".\SQL-Server-in-Windows-Container\Setup-SQL-Server-Array.ps1"
- name: Upload artifacts
uses: actions/upload-artifact@v4
if: always()
with:
name: 'Artifacts ${{ matrix.TAG }} ${{ matrix.ISOLATION }} ${{ matrix.OS }}'
path: "${{ env.SYSTEM_ARTIFACTSDIRECTORY }}"
overwrite: true
- name: Upload artifacts
uses: actions/upload-artifact@v4
if: always()
with:
name: 'Workplace ${{ matrix.TAG }} ${{ matrix.ISOLATION }} ${{ matrix.OS }}'
path: |
${{ github.workspace }}/**
!${{ github.workspace }}/**/*.exe
# path: "${{ github.workspace }}"
overwrite: true
Combine:
runs-on: windows-latest
needs: Setup
if: always()
timeout-minutes: 15
steps:
- name: Download all workflow run artifacts
uses: actions/download-artifact@v4
with:
path: 'C:\Artifacts'
- name: Upload artifacts
uses: actions/upload-artifact@v4
if: always()
with:
name: 'Combined SQL Server Setup Summary'
path: |
C:\Artifacts