forked from ValveSoftware/Proton
-
Notifications
You must be signed in to change notification settings - Fork 34
110 lines (99 loc) · 3.89 KB
/
Copy pathsnapshot.yml
File metadata and controls
110 lines (99 loc) · 3.89 KB
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
name: Snapshot
on:
workflow_dispatch:
push:
branches:
- 'cachyos_*_*/main'
- 'cachyos_*_*/dev'
concurrency:
group: ${{ github.ref_name }}
cancel-in-progress: true
jobs:
version:
name: Version
runs-on: ubuntu-slim
outputs:
tag_abbrev: ${{ steps.version.outputs.tag_abbrev }}
tag_offset: ${{ steps.version.outputs.tag_offset }}
sha_short: ${{ steps.version.outputs.sha_short }}
full_desc: ${{ steps.version.outputs.full_desc }}
branch: ${{ steps.version.outputs.branch }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
fetch-tags: true
- name: Version
id: version
shell: bash
run: |
tag_abbrev=$(git describe --tags --abbrev=0)
echo "tag_abbrev=$tag_abbrev" >> $GITHUB_OUTPUT
echo "tag_offset=$(git rev-list $tag_abbrev..HEAD --count)" >> $GITHUB_OUTPUT
echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
echo "full_desc=$(git describe --long --tags)" >> $GITHUB_OUTPUT
echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
build:
name: Build
needs: version
strategy:
matrix:
include:
- name: proton-${{ needs.version.outputs.full_desc }}-x86_64
cflags: -O2 -march=nocona -mtune=core-avx2
rustflags: -Copt-level=3 -Ctarget-cpu=nocona
- name: proton-${{ needs.version.outputs.full_desc }}-x86_64_v3
cflags: -O2 -march=x86-64-v3 -mtune=core-avx2
rustflags: -Copt-level=3 -Ctarget-cpu=nocona
- name: proton-${{ needs.version.outputs.full_desc }}-x86_64-wow64
cflags: -O2 -march=nocona -mtune=core-avx2
rustflags: -Copt-level=3 -Ctarget-cpu=nocona
configure: >-
--enable-wow64
- name: proton-${{ needs.version.outputs.full_desc }}-x86_64-llvm
cflags: -O3 -march=nocona -mtune=core-avx2
rustflags: -Copt-level=3 -Ctarget-cpu=nocona
configure: >-
--without-nvidia-libs
--without-tts
--proton-sdk-image=registry.gitlab.steamos.cloud/proton/steamrt4/sdk/x86_64-llvm:4.0.20260331.220802-0
- name: proton-${{ needs.version.outputs.full_desc }}-x86_64-llvm-wow64
cflags: -O3 -march=nocona -mtune=core-avx2
rustflags: -Copt-level=3 -Ctarget-cpu=nocona
configure: >-
--enable-wow64
--without-nvidia-libs
--without-tts
--proton-sdk-image=registry.gitlab.steamos.cloud/proton/steamrt4/sdk/x86_64-llvm:4.0.20260331.220802-0
- name: proton-${{ needs.version.outputs.full_desc }}-arm64
configure: >-
--without-nvidia-libs
--target-arch=arm64
runner: 'ubuntu-24.04-arm'
uses: ./.github/workflows/_job_build.yml
with:
name: ${{ matrix.name }}
cflags: ${{ matrix.cflags }}
rustflags: ${{ matrix.rustflags }}
configure: --enable-ccache ${{ matrix.configure }}
runner: ${{ matrix.runner != '' && matrix.runner || 'ubuntu-24.04' }}
continue: true
test:
name: Test
needs: [version, build]
strategy:
matrix:
include:
- name: proton-${{ needs.version.outputs.full_desc }}-x86_64
- name: proton-${{ needs.version.outputs.full_desc }}-x86_64_v3
- name: proton-${{ needs.version.outputs.full_desc }}-x86_64-wow64
- name: proton-${{ needs.version.outputs.full_desc }}-x86_64-llvm
- name: proton-${{ needs.version.outputs.full_desc }}-x86_64-llvm-wow64
- name: proton-${{ needs.version.outputs.full_desc }}-arm64
runner: 'ubuntu-24.04-arm'
uses: ./.github/workflows/_job_test.yml
with:
name: ${{ matrix.name }}
runner: ${{ matrix.runner != '' && matrix.runner || 'ubuntu-24.04' }}
continue: true