Skip to content

Commit 625f1dd

Browse files
unity-setup@v1.2.0 (#35)
- support installing older unity versions (4.x) - refactor internals to use Unity Services API to get most up to date information --------- Co-authored-by: js6pak <me@6pak.dev>
1 parent bc63961 commit 625f1dd

21 files changed

+2642
-508
lines changed

.github/workflows/build-options.json

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
{
2+
"os": [
3+
"ubuntu-latest",
4+
"windows-latest",
5+
"macos-latest"
6+
],
7+
"unity-version": [
8+
"None",
9+
"4.7.2",
10+
"5.6.7f1 (e80cc3114ac1)",
11+
"2020.3",
12+
"2021.3.x",
13+
"2022.x",
14+
"6000.0.x",
15+
"6000"
16+
],
17+
"include": [
18+
{
19+
"os": "ubuntu-latest",
20+
"build-targets": "StandaloneLinux64, Android, iOS",
21+
"modules": "linux-server"
22+
},
23+
{
24+
"os": "windows-latest",
25+
"build-targets": "StandaloneWindows64, Android, WSAPlayer",
26+
"modules": "windows-server"
27+
},
28+
{
29+
"os": "macos-latest",
30+
"build-targets": "StandaloneOSX Android iOS VisionOS",
31+
"modules": "mac-server"
32+
},
33+
{
34+
"os": "ubuntu-latest",
35+
"unity-version": "2019.4.40f1",
36+
"modules": "None"
37+
},
38+
{
39+
"os": "ubuntu-latest",
40+
"unity-version": "2018.4.36f1 (6cd387d23174)",
41+
"modules": "None"
42+
},
43+
{
44+
"os": "ubuntu-latest",
45+
"unity-version": "2017.4.40f1 (6e14067f8a9a)",
46+
"modules": "None"
47+
}
48+
],
49+
"exclude": [
50+
{
51+
"os": "ubuntu-latest",
52+
"unity-version": "5.6.7f1 (e80cc3114ac1)"
53+
},
54+
{
55+
"os": "ubuntu-latest",
56+
"unity-version": "4.7.2"
57+
}
58+
]
59+
}

.github/workflows/build.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: build
2+
permissions:
3+
contents: read
4+
on:
5+
workflow_call:
6+
inputs:
7+
matrix:
8+
required: true
9+
type: string
10+
jobs:
11+
build:
12+
name: ${{ matrix.name }}
13+
strategy:
14+
matrix: ${{ fromJSON(inputs.matrix) }}
15+
fail-fast: false
16+
runs-on: ${{ matrix.os }}
17+
permissions:
18+
contents: read
19+
env:
20+
UNITY_EDITORS: '' # set by the unity-setup action
21+
UNITY_HUB_PATH: '' # set by the unity-setup action
22+
UNITY_EDITOR_PATH: '' # set by the unity-setup action
23+
UNITY_PROJECT_PATH: '' # set by the unity-setup action
24+
BUILD_OUTPUT_PATH: ${{ github.workspace }}/Builds/${{ matrix.build-target }}
25+
steps:
26+
- uses: actions/checkout@v4
27+
- uses: ./ # RageAgainstThePixel/unity-setup
28+
with:
29+
version-file: 'None'
30+
unity-version: ${{ matrix.unity-version }}
31+
build-targets: ${{ matrix.build-targets }}
32+
modules: ${{ matrix.modules }}
33+
- run: |
34+
echo "UNITY_HUB_PATH: '${{ env.UNITY_HUB_PATH }}'"
35+
echo "UNITY_EDITORS: '${{ env.UNITY_EDITORS }}'"
36+
echo "UNITY_EDITOR_PATH: '${{ env.UNITY_EDITOR_PATH }}'"
37+
echo "UNITY_PROJECT_PATH: '${{ env.UNITY_PROJECT_PATH }}'"

.github/workflows/validate.yml

Lines changed: 22 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -12,62 +12,30 @@ concurrency:
1212
group: ${{ github.workflow }}-${{ github.ref }}
1313
cancel-in-progress: true
1414
jobs:
15-
validate:
15+
setup:
16+
runs-on: ubuntu-latest
1617
permissions:
1718
contents: read
18-
env:
19-
UNITY_EDITORS: '' # set by the unity-setup action
20-
UNITY_HUB_PATH: '' # set by the unity-setup action
21-
UNITY_EDITOR_PATH: '' # set by the unity-setup action
22-
UNITY_PROJECT_PATH: '' # set by the unity-setup action
23-
runs-on: ${{ matrix.os }}
24-
strategy:
25-
fail-fast: false
26-
matrix:
27-
os: [ubuntu-latest, windows-latest, macos-latest]
28-
unity-version:
29-
- None
30-
- 5.6.7f1 (e80cc3114ac1)
31-
- 2020.3
32-
- 2021.3.x
33-
- 2022.x
34-
- 6000.0.x
35-
- 6000
36-
include:
37-
- os: ubuntu-latest
38-
build-targets: StandaloneLinux64, Android, iOS
39-
modules: linux-server
40-
- os: windows-latest
41-
build-targets: StandaloneWindows64, Android, WSAPlayer
42-
modules: windows-server
43-
- os: macos-latest
44-
build-targets: StandaloneOSX Android iOS VisionOS
45-
modules: mac-server
46-
- os: ubuntu-latest
47-
unity-version: 2019.4.40f1
48-
modules: None
49-
- os: ubuntu-latest
50-
unity-version: 2018.4.36f1 (6cd387d23174)
51-
modules: None
52-
- os: ubuntu-latest
53-
unity-version: 2017.4.40f1 (6e14067f8a9a)
54-
modules: None
55-
exclude:
56-
# Exclude Unity 5.x for linux as it is not supported
57-
- os: ubuntu-latest
58-
unity-version: '5.6.7f1 (e80cc3114ac1)'
5919
steps:
6020
- uses: actions/checkout@v4
61-
62-
- uses: ./ # RageAgainstThePixel/unity-setup
6321
with:
64-
version-file: 'None'
65-
unity-version: ${{ matrix.unity-version }}
66-
build-targets: ${{ matrix.build-targets }}
67-
modules: ${{ matrix.modules }}
68-
69-
- run: |
70-
echo "UNITY_HUB_PATH: '${{ env.UNITY_HUB_PATH }}'"
71-
echo "UNITY_EDITORS: '${{ env.UNITY_EDITORS }}'"
72-
echo "UNITY_EDITOR_PATH: '${{ env.UNITY_EDITOR_PATH }}'"
73-
echo "UNITY_PROJECT_PATH: '${{ env.UNITY_PROJECT_PATH }}'"
22+
sparse-checkout: .github/
23+
- uses: RageAgainstThePixel/job-builder@v1
24+
id: setup-jobs
25+
with:
26+
build-options: ./.github/workflows/build-options.json
27+
group-by: 'os'
28+
outputs:
29+
jobs: ${{ steps.setup-jobs.outputs.jobs }}
30+
validate:
31+
if: ${{ needs.setup.outputs.jobs }}
32+
needs: setup
33+
name: ${{ matrix.jobs.name }}
34+
permissions:
35+
contents: read
36+
strategy:
37+
matrix: ${{ fromJSON(needs.setup.outputs.jobs) }}
38+
secrets: inherit
39+
uses: ./.github/workflows/build.yml
40+
with:
41+
matrix: ${{ toJSON(matrix.jobs.matrix) }}

0 commit comments

Comments
 (0)