Skip to content

Commit 9686f6c

Browse files
committed
ci: update workflows
1 parent 0c6265a commit 9686f6c

12 files changed

Lines changed: 377 additions & 387 deletions

.github/workflows/pragma-linux-ci.yml renamed to .github/workflows/build-and-release-linux-clang.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build Linux
1+
name: Build and Release Linux (Clang)
22
on:
33
push:
44
branches: [ main ]
@@ -7,7 +7,7 @@ on:
77
workflow_dispatch:
88

99
concurrency:
10-
group: environment-lin-${{ github.ref }}
10+
group: build-and-release-lin-clang-${{ github.ref }}
1111
cancel-in-progress: true
1212

1313
permissions:
@@ -25,14 +25,14 @@ jobs:
2525
issues: read
2626
pull-requests: read
2727

28-
name: Build - ${{ matrix.config.os }}
28+
name: Build and Release - ${{ matrix.config.name }}
2929
runs-on: ${{ matrix.config.os }}
3030
strategy:
3131
fail-fast: false
3232
matrix:
3333
config:
34-
- os: ubuntu-24.04
35-
name: "Ubuntu 24.04"
34+
- os: ubuntu-latest
35+
name: "Linux (Clang)"
3636
steps:
3737
- name: Setup Pragma
3838
uses: Silverlan/pragma/github_actions/setup@main
@@ -43,7 +43,7 @@ jobs:
4343
uses: ./pragma/github_actions/build
4444
id: build-pragma
4545
with:
46-
build-args: "--with-pfm --with-all-pfm-modules --with-vr --with-networking --with-lua-debugger=0 --with-swiftshader"
46+
build-args: "--with-pfm --with-all-pfm-modules --with-vr --with-networking --with-lua-debugger=0 --with-swiftshader --toolset=clang"
4747

4848
- name: Create Release Archive
4949
shell: bash
@@ -62,8 +62,8 @@ jobs:
6262
echo "pfm_enable_experimental_updates \"1\"" >> client.cfg
6363
cd ..
6464
65-
tar -czvf pragma-lin64.tar.gz *
66-
mv "${{ steps.build-pragma.outputs.install-dir }}/pragma-lin64.tar.gz" "$curDir/"
65+
tar -czvf pragma-linux-x64-clang.tar.gz *
66+
mv "${{ steps.build-pragma.outputs.install-dir }}/pragma-linux-x64-clang.tar.gz" "$curDir/"
6767
6868
- name: Generate nightly tag description
6969
shell: bash
@@ -83,12 +83,12 @@ jobs:
8383
with:
8484
tag: nightly
8585
token: ${{ secrets.GITHUB_TOKEN }}
86-
files: "pragma-lin64.tar.gz"
86+
files: "pragma-linux-x64-clang.tar.gz"
8787

8888
- name: Run Tests
8989
uses: benc-uk/workflow-dispatch@v1
9090
with:
91-
workflow: pragma-tests-ci.yml
91+
workflow: run-tests.yml
9292
inputs: '{ "os": "ubuntu" }'
9393

9494
- name: Generate File Lists

.github/workflows/pragma-windows-ci.yml renamed to .github/workflows/build-and-release-windows-clang.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build Windows
1+
name: Build and Release Windows (Clang)
22
on:
33
push:
44
branches: [ main ]
@@ -7,7 +7,7 @@ on:
77
workflow_dispatch:
88

99
concurrency:
10-
group: environment-win-${{ github.ref }}
10+
group: build-and-release-win-clang-${{ github.ref }}
1111
cancel-in-progress: true
1212

1313
permissions:
@@ -25,14 +25,14 @@ jobs:
2525
issues: read
2626
pull-requests: read
2727

28-
name: Build - ${{ matrix.config.os }}
28+
name: Build and Release - ${{ matrix.config.name }}
2929
runs-on: ${{ matrix.config.os }}
3030
strategy:
3131
fail-fast: false
3232
matrix:
3333
config:
3434
- os: windows-latest
35-
name: "Windows x64 MSVC"
35+
name: "Windows (Clang)"
3636
steps:
3737
- name: Setup Pragma
3838
uses: Silverlan/pragma/github_actions/setup@main
@@ -48,7 +48,7 @@ jobs:
4848
uses: ./pragma/github_actions/build
4949
id: build-pragma
5050
with:
51-
build-args: "--with-pfm --with-all-pfm-modules --with-vr --with-networking --with-lua-debugger=0 --with-swiftshader"
51+
build-args: "--with-pfm --with-all-pfm-modules --with-vr --with-networking --with-lua-debugger=0 --with-swiftshader --toolset=clang"
5252

5353
- name: Create Release Archive
5454
shell: bash
@@ -68,13 +68,13 @@ jobs:
6868
6969
cd "$curDir"
7070
71-
7z a pragma-win64.zip "${{ steps.build-pragma.outputs.install-dir }}/**"
71+
7z a pragma-windows-x64-clang.zip "${{ steps.build-pragma.outputs.install-dir }}/**"
7272
7373
- name: Generate nightly tag description
7474
shell: bash
7575
run: |
7676
curDate=$(date -u '+%Y-%m-%d %H:%M:%S %Z')
77-
printf "This is an auto-generated pre-release, built from the latest version of the source code.\nIt includes all files necessary to run Pragma, as well as the latest version of the Pragma Filmmaker, however functionality and stability are **not** guaranteed.\n\nFor Windows, you can either download `pragma_setup.exe` to install Pragma on your system, or `pragma-win64.zip` if you prefer a portable version.\n\nLatest release date: $curDate" > tag_text.txt
77+
printf "This is an auto-generated pre-release, built from the latest version of the source code.\nIt includes all files necessary to run Pragma, as well as the latest version of the Pragma Filmmaker, however functionality and stability are **not** guaranteed.\n\nFor Windows, you can either download `pragma_setup.exe` to install Pragma on your system, or `pragma-windows-x64-clang.zip` if you prefer a portable version.\n\nLatest release date: $curDate" > tag_text.txt
7878
7979
- name: Update nightly tag description
8080
uses: softprops/action-gh-release@v0.1.15
@@ -88,7 +88,7 @@ jobs:
8888
with:
8989
tag: nightly
9090
token: ${{ secrets.GITHUB_TOKEN }}
91-
files: "pragma-win64.zip"
91+
files: "pragma-windows-x64-clang.zip"
9292

9393
- name: Collect PDB files
9494
uses: ./pragma/github_actions/collect_pdb_files
@@ -102,14 +102,14 @@ jobs:
102102
curDir="$PWD"
103103
# 7z expects a standard windows path
104104
winPath=$(echo "$curDir" | sed -e 's/^\///' -e 's/\//\\/g' -e 's/^./\0:/')
105-
7z a debug_pdb.zip "$winPath/pdb/**"
105+
7z a debug-pdb-windows-x64-clang.zip "$winPath/pdb/**"
106106
107107
- name: Update PDB release
108108
uses: pyTooling/Actions/releaser/composite@v4.2.2
109109
with:
110110
tag: nightly
111111
token: ${{ secrets.GITHUB_TOKEN }}
112-
files: "debug_pdb.zip"
112+
files: "debug-pdb-windows-x64-clang.zip"
113113

114114
- name: Generate Installer
115115
uses: ./pragma/github_actions/generate_installer
@@ -128,7 +128,7 @@ jobs:
128128
- name: Run Tests
129129
uses: benc-uk/workflow-dispatch@v1
130130
with:
131-
workflow: pragma-tests-ci.yml
131+
workflow: run-tests.yml
132132
inputs: '{ "os": "windows" }'
133133

134134
- name: Generate File Lists

.github/workflows/build-module.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,21 @@ permissions:
3434
contents: write
3535

3636
concurrency:
37-
group: environment-${{ inputs.os }}-${{ github.ref }}
37+
group: environment-${{ inputs.os }}-${{ matrix.toolset }}-${{ github.ref }}
3838
cancel-in-progress: true
3939

4040
jobs:
4141
build:
42-
name: Build - ${{ matrix.config.os }}
42+
name: Build - ${{ matrix.config.os }} (${{ matrix.toolset }})
4343
if: github.repository != 'Silverlan/pr_module_template'
4444
runs-on: ${{ matrix.config.os }}
4545
strategy:
4646
fail-fast: false
47-
matrix:
48-
config:
49-
- os: ${{ inputs.os == 'windows' && 'windows-latest' || 'ubuntu-24.04' }}
47+
matrix: ${{ fromJson(
48+
inputs.os == 'windows'
49+
? '[{"os":"windows-latest","toolset":"clang"},{"os":"windows-latest","toolset":"msvc"}]'
50+
: '[{"os":"ubuntu-latest","toolset":"clang"}]'
51+
) }}
5052
steps:
5153
- name: Build Tag Name
5254
id: build_tag_name
@@ -87,6 +89,7 @@ jobs:
8789
branch: '${{ inputs.pragma-branch }}'
8890
debug-artifact-token: '${{ secrets.GITHUB_TOKEN }}'
8991
build-args: '${{ steps.parse-args.outputs.build-args }}'
92+
toolset: '${{ matrix.toolset }}'
9093

9194
- name: Create Release Files
9295
shell: bash
@@ -110,6 +113,7 @@ jobs:
110113
token: ${{ secrets.GITHUB_TOKEN }}
111114
commit: ${{ github.ref_name }}
112115
tag: '${{ steps.build_tag_name.outputs.tag_name }}'
116+
release_suffix: '-${{ matrix.toolset }}'
113117

114118
- name: Check for PDB File
115119
id: check-pdb
@@ -127,19 +131,19 @@ jobs:
127131
echo "::set-output name=exists::false"
128132
fi
129133
130-
- name: Generate debug_pdb.zip
134+
- name: Generate debug PDB archive
131135
if: runner.os == 'Windows' && steps.check-pdb.outputs.exists == 'true'
132136
shell: bash
133137
run: |
134138
moduleName="${{ steps.module-info.outputs.module_name }}"
135139
pdbFilePath="${{ steps.build-module.outputs.build-dir }}/modules/$moduleName/RelWithDebInfo/$moduleName.pdb"
136-
7z a debug_pdb.zip "$pdbFilePath"
140+
7z a debug-pdb-windows-x64-${{ matrix.toolset }}.zip "$pdbFilePath"
137141
138142
- name: Update PDB release
139143
if: runner.os == 'Windows' && steps.check-pdb.outputs.exists == 'true'
140144
uses: Silverlan/Releaser/releaser/composite@main
141145
with:
142146
tag: '${{ steps.build_tag_name.outputs.tag_name }}'
143147
token: ${{ secrets.GITHUB_TOKEN }}
144-
files: "debug_pdb.zip"
148+
files: "debug-pdb-windows-x64-${{ matrix.toolset }}.zip"
145149

.github/workflows/check-linux-build.yml renamed to .github/workflows/check-linux-build-clang.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
- main
66

77
concurrency:
8-
group: check-build-lin-${{ github.ref }}
8+
group: check-build-lin-clang-${{ github.ref }}
99
cancel-in-progress: true
1010

1111
env:
@@ -14,14 +14,14 @@ env:
1414

1515
jobs:
1616
build:
17-
name: Build - ${{ matrix.config.os }}
17+
name: Build - ${{ matrix.config.name }}
1818
runs-on: ${{ matrix.config.os }}
1919
strategy:
2020
fail-fast: false
2121
matrix:
2222
config:
2323
- os: ubuntu-latest
24-
name: "Ubuntu Latest"
24+
name: "Linux (Clang)"
2525
steps:
2626
- name: Setup Pragma
2727
uses: Silverlan/pragma/github_actions/setup@develop

.github/workflows/check-linux-build-gcc.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
name: Check Linux Build (GCC)
2+
# Note: Due to ongoing GCC compiler errors with C++20 modules, this workflow will likely fail. Once the compiler errors have been resolved, this should be changed to on: push.
23
on:
34
workflow_dispatch:
45

@@ -12,14 +13,14 @@ env:
1213

1314
jobs:
1415
build:
15-
name: Build - ${{ matrix.config.os }}
16+
name: Build - ${{ matrix.config.name }}
1617
runs-on: ${{ matrix.config.os }}
1718
strategy:
1819
fail-fast: false
1920
matrix:
2021
config:
2122
- os: ubuntu-latest
22-
name: "Ubuntu Latest"
23+
name: "Linux (GCC)"
2324
steps:
2425
- name: Setup Pragma
2526
uses: Silverlan/pragma/github_actions/setup@develop

.github/workflows/check-windows-build-clang.yml

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
name: Check Windows Build (Clang)
2-
3-
#on:
4-
# push:
5-
# branches-ignore:
6-
# - main
72
on:
8-
workflow_dispatch:
3+
push:
4+
branches-ignore:
5+
- main
96

107
concurrency:
11-
group: check-build-win-clang-
8+
group: check-build-win-clang-${{ github.ref }}
129
cancel-in-progress: true
1310

1411
env:
@@ -17,22 +14,14 @@ env:
1714

1815
jobs:
1916
build:
20-
name: Build - ${{ matrix.config.os }}
17+
name: Build - ${{ matrix.config.name }}
2118
runs-on: ${{ matrix.config.os }}
2219
strategy:
2320
fail-fast: false
2421
matrix:
2522
config:
2623
- os: windows-latest
27-
name: "Windows x64 MSVC"
28-
artifact: "Windows-MSVC.tar.xz"
29-
build_type: "RelWithDebInfo"
30-
environment_script: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat"
31-
cc: "cl"
32-
cxx: "cl"
33-
archiver: "7z a"
34-
generators: "Visual Studio 17 2022"
35-
build_dir: 'build'
24+
name: "Windows (Clang)"
3625
steps:
3726
- name: Setup Pragma
3827
uses: Silverlan/pragma/github_actions/setup@main

.github/workflows/check-windows-build.yml renamed to .github/workflows/check-windows-build-msvc.yml

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
name: Check Windows Build
1+
name: Check Windows Build (MSVC)
2+
# Note: Building with MSVC will hit the GitHub runner time limit for workflow jobs, due to long build times. This is likely due to MSVC compiler bugs with C++20 modules.
3+
# Once these issues have been resolved, this should be changed to on: push.
24
on:
3-
push:
4-
branches-ignore:
5-
- main
5+
workflow_dispatch:
66

77
concurrency:
8-
group: check-build-win-${{ github.ref }}
8+
group: check-build-win-msvc-${{ github.ref }}
99
cancel-in-progress: true
1010

1111
env:
@@ -14,22 +14,14 @@ env:
1414

1515
jobs:
1616
build:
17-
name: Build - ${{ matrix.config.os }}
17+
name: Build - ${{ matrix.config.name }}
1818
runs-on: ${{ matrix.config.os }}
1919
strategy:
2020
fail-fast: false
2121
matrix:
2222
config:
2323
- os: windows-latest
24-
name: "Windows x64 MSVC"
25-
artifact: "Windows-MSVC.tar.xz"
26-
build_type: "RelWithDebInfo"
27-
environment_script: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat"
28-
cc: "cl"
29-
cxx: "cl"
30-
archiver: "7z a"
31-
generators: "Visual Studio 17 2022"
32-
build_dir: 'build'
24+
name: "Windows (MSVC)"
3325
steps:
3426
- name: Setup Pragma
3527
uses: Silverlan/pragma/github_actions/setup@develop

0 commit comments

Comments
 (0)