diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3a88cd8d..c35054da 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,6 +6,16 @@ env: UBSAN_OPTIONS: print_stacktrace=1 jobs: + runner-selection: + # runs-on: ubuntu-latest + runs-on: ${{ github.repository_owner == 'boostorg' && fromJSON('[ "self-hosted", "linux", "x64", "ubuntu-latest-aws" ]') || 'ubuntu-latest' }} + outputs: + labelmatrix: ${{ steps.aws_hosted_runners.outputs.labelmatrix }} + steps: + - name: AWS Hosted Runners + id: aws_hosted_runners + uses: cppalliance/aws-hosted-runners@v1.0.0 + posix: if: true defaults: @@ -190,7 +200,8 @@ jobs: os: macos-11 supported: true - runs-on: ${{ matrix.os }} + needs: [runner-selection] + runs-on: ${{ fromJSON(needs.runner-selection.outputs.labelmatrix)[matrix.os] }} container: ${{ matrix.container }} steps: @@ -397,7 +408,8 @@ jobs: cxxflags: "cxxflags=-Wa,-mbig-obj" supported: "Too many unknowns to get this compiler working - gcc-8.1" - runs-on: ${{matrix.os}} + needs: [runner-selection] + runs-on: ${{ fromJSON(needs.runner-selection.outputs.labelmatrix)[matrix.os] }} steps: - uses: actions/checkout@v3 @@ -409,14 +421,24 @@ jobs: echo Install choco powershell -Command iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')) if "${{matrix.addrmd}}" == "64" ( - choco install --no-progress -y openssl --x64 - mklink /D %OPENSSL_ROOT% "C:\\Program Files\\OpenSSL" - refreshenv - ) else ( - choco install --no-progress -y openssl --x86 - mklink /D %OPENSSL_ROOT% "C:\\Program Files (x86)\\OpenSSL-Win32" - refreshenv + set openssl_install_flag=--x64 ) + if "${{matrix.addrmd}}" == "32" ( + set openssl_install_flag=--x86 + set openssl_install_dir="C:\\Program Files (x86)\\OpenSSL-Win32" + ) + + choco install --no-progress -y openssl %openssl_install_flag% + + if "${{matrix.addrmd}}" == "64" ( + if exist "C:\Program Files\OpenSSL\" ( + set openssl_install_dir="C:\\Program Files\\OpenSSL" + ) else ( + set openssl_install_dir="C:\\Program Files\\OpenSSL-Win64" + ) + ) + mklink /D %OPENSSL_ROOT% %openssl_install_dir% + refreshenv set - name: Setup Boost