1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
# 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:
ISPC_HOME: ${{ github.workspace }}
LLVM_HOME: ${{ github.workspace }}
LLVM_VERSION: "20.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-20.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@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # 2.3.2
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-2022
# 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-20.1.8-win.vs2022-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\Microsoft Visual Studio\2022\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@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # 2.3.2
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
|