Add tests with template function initialized as incomplete types #4
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
| # Copyright 2025, Intel Corporation | |
| # SPDX-License-Identifier: BSD-3-Clause | |
| # These jobs build ISPC for every push to main pushing artifacts to Github | |
| # pre-release. | |
| name: Pre-release Artifacts | |
| on: | |
| push: | |
| branches: [ main ] | |
| workflow_dispatch: | |
| concurrency: | |
| group: pre-release | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| LLVM_REPO: https://github.com/ispc/ispc.dependencies | |
| ISPC_HOME: ${{ github.workspace }} | |
| LLVM_HOME: ${{ github.workspace }} | |
| LLVM_VERSION: "18.1" | |
| jobs: | |
| ubuntu: | |
| runs-on: ubuntu-22.04 | |
| # Disabling this rebuild for non ispc/ispc repo | |
| if: github.repository == 'ispc/ispc' | |
| permissions: | |
| contents: write # Needed for release creation/update | |
| env: | |
| LLVM_TAR: llvm-18.1.8-ubuntu22.04-Release+Asserts-lto-x86.arm.wasm.tar.xz | |
| steps: | |
| - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
| with: | |
| submodules: false | |
| - name: Install Dependencies | |
| run: | | |
| .github/workflows/scripts/install-build-deps.sh | |
| - name: Configure | |
| run: | | |
| cmake superbuild \ | |
| -B build \ | |
| --preset os \ | |
| -DLTO=ON \ | |
| -DINSTALL_WITH_XE_DEPS=ON \ | |
| -DCMAKE_INSTALL_PREFIX="${GITHUB_WORKSPACE}/install" \ | |
| -DPREBUILT_STAGE2_PATH="${GITHUB_WORKSPACE}/bin-$LLVM_VERSION" | |
| - name: Build | |
| run: cmake --build build | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 | |
| with: | |
| name: ispc-linux | |
| path: build/build-ispc-stage2/src/ispc-stage2-build/ispc-trunk-linux.tar.gz | |
| - name: Release | |
| uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # 2.2.1 | |
| with: | |
| name: trunk-artifacts | |
| tag_name: trunk-artifacts | |
| files: build/build-ispc-stage2/src/ispc-stage2-build/ispc-trunk-linux.tar.gz | |
| draft: false | |
| prerelease: true | |
| body: "Automatically updated trunk artifacts" | |
| fail_on_unmatched_files: true | |
| generate_release_notes: false | |
| append_body: false | |
| windows: | |
| runs-on: windows-2019 | |
| # Disabling this rebuild for non ispc/ispc repo | |
| if: github.repository == 'ispc/ispc' | |
| permissions: | |
| contents: write # Needed for release creation/update | |
| env: | |
| CROSS_TOOLS_GNUWIN32: "C:\\projects\\cross\\gnuwin32" | |
| LLVM_TAR: llvm-18.1.8-win.vs2019-Release+Asserts-lto-x86.arm.wasm.tar.7z | |
| steps: | |
| - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
| with: | |
| submodules: false | |
| - name: Install dependencies | |
| run: | | |
| .github/workflows/scripts/install-build-deps.ps1 | |
| - name: Build | |
| shell: cmd | |
| run: | | |
| call scripts\install_emscripten.bat | |
| set VSVARS="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
| call %VSVARS% | |
| cmake -B build superbuild --preset os -G "NMake Makefiles" -DLTO=ON -DPREBUILT_STAGE2_PATH=%LLVM_HOME%\bin-%LLVM_VERSION% -DCMAKE_INSTALL_PREFIX=%GITHUB_WORKSPACE%\ispc-xe -DEXPLICIT_ENV_PATH=OFF -DINSTALL_WITH_XE_DEPS=ON -DGNUWIN32=%CROSS_TOOLS_GNUWIN32% | |
| cmake --build build | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 | |
| with: | |
| name: ispc-windows | |
| path: build/build-ispc-stage2/src/ispc-stage2-build/ispc-trunk-windows.zip | |
| - name: Release | |
| uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # 2.2.1 | |
| with: | |
| name: trunk-artifacts | |
| tag_name: trunk-artifacts | |
| files: build/build-ispc-stage2/src/ispc-stage2-build/ispc-trunk-windows.zip | |
| draft: false | |
| prerelease: true | |
| body: "Automatically updated trunk artifacts" | |
| fail_on_unmatched_files: true | |
| generate_release_notes: false | |
| append_body: false |