name: LLVM-win on: workflow_dispatch: jobs: build: strategy: fail-fast: false matrix: os: [windows-2022] platform: [x64] build-cfg: [Debug, DebugOpt, Release] runs-on: ${{ matrix.os }} env: VS_VERSION: "Program Files/Microsoft Visual Studio/2022" PLATFORM: ${{ matrix.platform }} BUILD_CONFIGURATION: ${{ matrix.build-cfg }} ACTIONS_ALLOW_UNSECURE_COMMANDS: true steps: - name: Check out uses: actions/checkout@v4 - uses: lukka/get-cmake@latest - name: Environment shell: cmd run: | call "C:\%VS_VERSION%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" %PLATFORM% :: Loop over all environment variables and make them global using set-env. :: See: https://stackoverflow.com/a/39184941 setlocal for /f "delims== tokens=1,2" %%a in ('set') do ( echo ::set-env name=%%a::%%b ) endlocal - name: Clone LLVM shell: bash run: build/build.sh clone_llvm - name: Build LLVM shell: bash run: build/build.sh build_llvm -platform $PLATFORM -configuration $BUILD_CONFIGURATION - name: Package LLVM shell: bash run: build/build.sh package_llvm -platform $PLATFORM -configuration $BUILD_CONFIGURATION - name: 'Upload Artifact' uses: actions/upload-artifact@v4 with: name: llvm-${{ matrix.os }}-${{ matrix.platform }}-${{ matrix.build-cfg }} path: build/llvm/llvm-*-*.*