File: pre-release-artifacts.yml

package info (click to toggle)
ispc 1.28.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 97,620 kB
  • sloc: cpp: 77,067; python: 8,303; yacc: 3,337; lex: 1,126; ansic: 631; sh: 475; makefile: 17
file content (122 lines) | stat: -rw-r--r-- 3,825 bytes parent folder | download
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