Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional Windows Image Updates #589

Merged
merged 5 commits into from
Oct 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,21 @@

- ...

#### Related Issues

- ...

#### Related PRs

- ...

#### Checklist

<!-- please check all items and add your own -->

- [x] Read the contribution [guide](https://github.com/game-ci/unity-builder/blob/main/CONTRIBUTING.md) and accept the
[code](https://github.com/game-ci/unity-builder/blob/main/CODE_OF_CONDUCT.md) of conduct
- [ ] Docs (If new inputs or outputs have been added or changes to behavior that should be documented. Please make
a PR in the [documentation repo](https://github.com/game-ci/documentation))
- [ ] Docs (If new inputs or outputs have been added or changes to behavior that should be documented. Please make a PR
in the [documentation repo](https://github.com/game-ci/documentation))
- [ ] Readme (updated or not needed)
- [ ] Tests (added, updated or not needed)
2 changes: 1 addition & 1 deletion .github/workflows/activation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
id: requestActivationFile
uses: game-ci/[email protected]
- name: Upload activation file
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: ${{ steps.requestActivationFile.outputs.filePath }}
path: ${{ steps.requestActivationFile.outputs.filePath }}
Expand Down
12 changes: 5 additions & 7 deletions .github/workflows/build-tests-mac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ concurrency:
cancel-in-progress: true

jobs:
buildForAllPlatformsWindows:
buildForAllPlatformsMacOS:
name: ${{ matrix.targetPlatform }} on ${{ matrix.unityVersion }}
runs-on: macos-latest
strategy:
Expand All @@ -20,19 +20,17 @@ jobs:
projectPath:
- test-project
unityVersion:
- 2021.3.29f1
- 2022.1.24f1
- 2022.2.21f1
- 2022.3.7f1
- 2023.1.8f1
- 2021.3.31f1
- 2022.3.11f1
- 2023.1.17f1
targetPlatform:
- StandaloneOSX # Build a MacOS executable

steps:
###########################
# Checkout #
###########################
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
lfs: true

Expand Down
16 changes: 4 additions & 12 deletions .github/workflows/build-tests-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,29 +52,21 @@ jobs:
projectPath:
- test-project
unityVersion:
- 2021.3.29f1
- 2022.1.24f1
- 2022.2.21f1
- 2022.3.7f1
- 2023.1.8f1
- 2021.3.31f1
- 2022.3.11f1
- 2023.1.17f1
targetPlatform:
- StandaloneOSX # Build a macOS standalone (Intel 64-bit) with mono backend.
- StandaloneWindows64 # Build a Windows 64-bit standalone with mono backend.
- StandaloneLinux64 # Build a Linux 64-bit standalone with mono backend.
- iOS # Build an iOS player.
- Android # Build an Android .apk.
- WebGL # WebGL.
# - StandaloneWindows # Build a Windows standalone.
# - WSAPlayer # Build an Windows Store Apps player.
# - PS4 # Build a PS4 Standalone.
# - XboxOne # Build a Xbox One Standalone.
# - tvOS # Build to Apple's tvOS platform.
# - Switch # Build a Nintendo Switch player
steps:
###########################
# Checkout #
###########################
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
lfs: true

Expand Down
13 changes: 6 additions & 7 deletions .github/workflows/build-tests-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,18 @@ concurrency:
jobs:
buildForAllPlatformsWindows:
name: ${{ matrix.targetPlatform }} on ${{ matrix.unityVersion }}
runs-on: windows-2019
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
projectPath:
- test-project
unityVersion:
- 2021.3.29f1
- 2022.1.24f1
- 2022.2.21f1
- 2022.3.7f1
- 2023.1.8f1
- 2021.3.31f1
- 2022.3.11f1
- 2023.1.17f1
targetPlatform:
- Android # Build an Android apk.
- StandaloneWindows64 # Build a Windows 64-bit standalone.
- StandaloneWindows # Build a Windows 32-bit standalone.
- WSAPlayer # Build a UWP App
Expand All @@ -35,7 +34,7 @@ jobs:
###########################
# Checkout #
###########################
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
lfs: true

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ jobs:
cleanupCloudRunner:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
if: github.event.event_type != 'pull_request_target'
with:
lfs: true
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: '18'
- run: yarn
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/cloud-runner-ci-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
#- k8s
steps:
- name: Checkout (default)
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
lfs: false
- name: Configure AWS Credentials
Expand Down Expand Up @@ -116,7 +116,7 @@ jobs:
#- 'cloud-runner-locking-get-locked'
steps:
- name: Checkout (default)
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
lfs: false
- name: Configure AWS Credentials
Expand Down Expand Up @@ -167,7 +167,7 @@ jobs:
- Android # Build an Android .apk.
steps:
- name: Checkout (default)
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
lfs: false
- run: yarn
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/integrity-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ jobs:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '18'
- run: yarn
Expand Down
2 changes: 1 addition & 1 deletion dist/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/index.js.map

Large diffs are not rendered by default.

19 changes: 13 additions & 6 deletions dist/platforms/windows/activate.ps1
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
# Activates Unity
& "C:\Program Files\Unity\Hub\Editor\$Env:UNITY_VERSION\Editor\Unity.exe" -batchmode -quit -nographics `
-username $Env:UNITY_EMAIL `
-password $Env:UNITY_PASSWORD `
-serial $Env:UNITY_SERIAL `
-projectPath "c:/BlankProject" `
-logfile | Out-Host

Write-Output ""
Write-Output "###########################"
Write-Output "# Activating #"
Write-Output "###########################"
Write-Output ""

& "$Env:UNITY_PATH/Editor/Unity.exe" -batchmode -quit -nographics `
-username $Env:UNITY_EMAIL `
-password $Env:UNITY_PASSWORD `
-serial $Env:UNITY_SERIAL `
-projectPath "c:/BlankProject" `
-logfile - | Out-Host
4 changes: 2 additions & 2 deletions dist/platforms/windows/build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -156,17 +156,17 @@ $unityArgs = @(
# Remove null items as that will fail the Start-Process call
$unityArgs = $unityArgs | Where-Object { $_ -ne $null }

$process = Start-Process -FilePath "C:\Program Files\Unity\Hub\Editor\$Env:UNITY_VERSION\Editor\Unity.exe" `
$process = Start-Process -FilePath "$Env:UNITY_PATH\Editor\Unity.exe" `
-ArgumentList $unityArgs `
-PassThru `
-NoNewWindow

while (!$process.HasExited) {
if ($process.HasExited) {
Start-Sleep -Seconds 5
Get-Process

Start-Sleep -Seconds 10

Get-Process

# Display results
Expand Down
3 changes: 2 additions & 1 deletion dist/platforms/windows/entrypoint.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Get-Process
Start-Sleep -Seconds 3

# Import any necessary registry keys, ie: location of windows 10 sdk
# No guarantee that there will be any necessary registry keys, ie: tvOS
Expand All @@ -22,5 +23,5 @@ Get-Process -Name regsvr32 | ForEach-Object { Stop-Process -Id $_.Id -Force }
# Free the seat for the activated license
& "c:\steps\return_license.ps1"

Start-Sleep 3
Start-Sleep -Seconds 3
Get-Process
19 changes: 13 additions & 6 deletions dist/platforms/windows/return_license.ps1
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
# Return the active Unity license
& "C:\Program Files\Unity\Hub\Editor\$Env:UNITY_VERSION\Editor\Unity.exe" -batchmode -quit -nographics `
-username $Env:UNITY_EMAIL `
-password $Env:UNITY_PASSWORD `
-returnlicense `
-projectPath "c:/BlankProject" `
-logfile | Out-Host

Write-Output ""
Write-Output "###########################"
Write-Output "# Return License #"
Write-Output "###########################"
Write-Output ""

& "$Env:UNITY_PATH\Editor\Unity.exe" -batchmode -quit -nographics `
-username $Env:UNITY_EMAIL `
-password $Env:UNITY_PASSWORD `
-returnlicense `
-projectPath "c:/BlankProject" `
-logfile - | Out-Host
33 changes: 23 additions & 10 deletions src/model/image-tag.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,11 @@ describe('ImageTag', () => {

test.each(['2000.0.0f0', '2011.1.11f1'])('accepts %p version format', (version) => {
expect(
() => new ImageTag({ editorVersion: version, targetPlatform: testImageParameters.targetPlatform }),
() =>
new ImageTag({
editorVersion: version,
targetPlatform: testImageParameters.targetPlatform,
}),
).not.toThrow();
});

Expand All @@ -46,13 +50,16 @@ describe('ImageTag', () => {

describe('toString', () => {
it('returns the correct version', () => {
const image = new ImageTag({ editorVersion: '2099.1.1111', targetPlatform: testImageParameters.targetPlatform });
const image = new ImageTag({
editorVersion: '2099.1.1111',
targetPlatform: testImageParameters.targetPlatform,
});
switch (process.platform) {
case 'win32':
expect(image.toString()).toStrictEqual(`${defaults.image}:windows-2099.1.1111-2`);
expect(image.toString()).toStrictEqual(`${defaults.image}:windows-2099.1.1111-3`);
break;
case 'linux':
expect(image.toString()).toStrictEqual(`${defaults.image}:ubuntu-2099.1.1111-2`);
expect(image.toString()).toStrictEqual(`${defaults.image}:ubuntu-2099.1.1111-3`);
break;
}
});
Expand All @@ -67,27 +74,33 @@ describe('ImageTag', () => {
});

it('returns the specific build platform', () => {
const image = new ImageTag({ editorVersion: '2019.2.11f1', targetPlatform: 'WebGL' });
const image = new ImageTag({
editorVersion: '2019.2.11f1',
targetPlatform: 'WebGL',
});

switch (process.platform) {
case 'win32':
expect(image.toString()).toStrictEqual(`${defaults.image}:windows-2019.2.11f1-webgl-2`);
expect(image.toString()).toStrictEqual(`${defaults.image}:windows-2019.2.11f1-webgl-3`);
break;
case 'linux':
expect(image.toString()).toStrictEqual(`${defaults.image}:ubuntu-2019.2.11f1-webgl-2`);
expect(image.toString()).toStrictEqual(`${defaults.image}:ubuntu-2019.2.11f1-webgl-3`);
break;
}
});

it('returns no specific build platform for generic targetPlatforms', () => {
const image = new ImageTag({ editorVersion: '2019.2.11f1', targetPlatform: 'NoTarget' });
const image = new ImageTag({
editorVersion: '2019.2.11f1',
targetPlatform: 'NoTarget',
});

switch (process.platform) {
case 'win32':
expect(image.toString()).toStrictEqual(`${defaults.image}:windows-2019.2.11f1-2`);
expect(image.toString()).toStrictEqual(`${defaults.image}:windows-2019.2.11f1-3`);
break;
case 'linux':
expect(image.toString()).toStrictEqual(`${defaults.image}:ubuntu-2019.2.11f1-2`);
expect(image.toString()).toStrictEqual(`${defaults.image}:ubuntu-2019.2.11f1-3`);
break;
}
});
Expand Down
8 changes: 5 additions & 3 deletions src/model/image-tag.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class ImageTag {
this.imagePlatformPrefix = ImageTag.getImagePlatformPrefixes(
isCloudRunnerLocal ? process.platform : cloudRunnerBuilderPlatform,
);
this.imageRollingVersion = 2; // Will automatically roll to the latest non-breaking version.
this.imageRollingVersion = 3; // Will automatically roll to the latest non-breaking version.
}

static get versionPattern(): RegExp {
Expand Down Expand Up @@ -86,8 +86,10 @@ class ImageTag {
if (major >= 2020 || (major === 2019 && minor >= 3)) {
return windowsIl2cpp;
} else {
throw new Error(`Windows-based builds are only supported on 2019.3.X+ versions of Unity.
If you are trying to build for windows-mono, please use a Linux based OS.`);
throw new Error(
`Windows-based builds are only supported on 2019.3.X+ versions of Unity.
If you are trying to build for windows-mono, please use a Linux based OS.`,
);
}
}

Expand Down
Loading