Skip to content

Commit

Permalink
Merge pull request #337 from Voltstro-Studios/master
Browse files Browse the repository at this point in the history
Release 2.2.0
  • Loading branch information
Voltstro authored Sep 19, 2024
2 parents b5ddf3e + 8b5cc2e commit 0bb316f
Show file tree
Hide file tree
Showing 198 changed files with 3,415 additions and 2,743 deletions.
37 changes: 12 additions & 25 deletions .github/ISSUE_TEMPLATE/issue_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,38 +8,26 @@ body:
value: |
Hello, and thank you for reporting an issue with Unity Web Browser (UWB)!
When filling out the information below, please try to provide as much details as you can, the more you provide, the more likely we can help and fix something.
**Questions and features should be asked via [Discussions](https://github.com/Voltstro-Studios/UnityWebBrowser/discussions)**
- type: dropdown
id: platform
attributes:
label: What platform are you experiencing this issue on?
options:
- Windows
- Linux
- MacOS
- Other
validations:
required: true

- type: dropdown
id: architecture
attributes:
label: What architecture is your platform?
options:
- 64-Bit
- 32-Bit
- Other
- Windows x64
- Linux x64
- MacOS x64
- MacOS arm64
validations:
required: true

- type: dropdown
- type: input
id: version
attributes:
label: What version of UWB are you using?
options:
- Latest VoltstroUPM Release
- Github Master Branch
- Other (Please provide)
placeholder: '2.2.0'
validations:
required: true

Expand All @@ -66,11 +54,10 @@ body:
label: Provide reproducible steps for this issue.
description: Providing reproducible steps always helps. You could also provide a project with the issue here. If its a Unity project please delete the cache folder (`/Library`) and other unnecessary files from it (Such as `/Temp`, `/obj`, `*.csproj` files and builds).
placeholder: Please provide reproducible steps
value: "1. I did this.
2. I then did that.
3. Boom! Issue."
value: |
1. I did this.
2. I then did that.
3. Boom! Issue.
validations:
required: true

Expand Down
245 changes: 129 additions & 116 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,121 +1,134 @@
name: Build

on:
push
push:
branches:
- master
- release

jobs:
#This job builds the Unity project
build-core:
name: 'Build-UWB-Core'
runs-on: ubuntu-22.04
steps:

#Restore
- uses: actions/checkout@v3
with:
path: 'UnityWebBrowserSource/'

#Setup the Environment
- uses: actions/setup-dotnet@v2
name: Setup .NET
with:
dotnet-version: '8.0.x'

#Build shared
- name: Build Shared
shell: pwsh
run: '& ./publish-shared.ps1'
working-directory: UnityWebBrowserSource/src/DevScripts/

#Restore Unity's cache
- name: Unity Cache
uses: actions/cache@v3
with:
path: UnityWebBrowserSource/src/UnityWebBrowser.UnityProject/Library
key: Cache-Unity

#Build the Unity project
- name: Build Unity Project
uses: game-ci/unity-builder@v4
env:
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }}
with:
projectPath: 'UnityWebBrowserSource/src/UnityWebBrowser.UnityProject/'
targetPlatform: StandaloneLinux64
buildsPath: 'UnityWebBrowserSource/src/UnityWebBrowser.UnityProject/Builds'
versioning: Tag

#Create an output directory for artifacts
- name: Create Artifacts Staging Directory
shell: pwsh
run: mkdir ~/UWBStaging/

#Pack UWB Core
- name: Pack Core Package
shell: pwsh
run: npm pack --pack-destination ~/UWBStaging/
working-directory: UnityWebBrowserSource/src/Packages/UnityWebBrowser

#Pack UWB Communication Pipes
- name: Pack Communication Pipes Package
shell: pwsh
run: npm pack --pack-destination ~/UWBStaging/
working-directory: UnityWebBrowserSource/src/Packages/UnityWebBrowser.Communication.Pipes

#Pack UWB UNIX Support
- name: Pack Unix Support Package
shell: pwsh
run: npm pack --pack-destination ~/UWBStaging/
working-directory: UnityWebBrowserSource/src/Packages/UnityWebBrowser.Unix-Support

# Upload Packed Packages
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: UWB-Core
path: ~/UWBStaging/*.tgz

#Builds the CEF Engine
build-engine-cef:
name: 'Build-Engine-Cef'
runs-on: ubuntu-22.04
steps:

#Checkout
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
path: 'UnityWebBrowserSource/'

#Setup the Environment
- uses: actions/setup-dotnet@v2
name: Setup .NET
with:
dotnet-version: '8.0.x'

#Download CEF (Linux)
- name: Download CEF (Linux)
shell: pwsh
run: '& ./download-cef-linux.ps1'
working-directory: UnityWebBrowserSource/src/DevScripts/

#Download CEF (Windows)
- name: Download CEF (Windows)
shell: pwsh
run: '& ./download-cef-windows.ps1'
working-directory: UnityWebBrowserSource/src/DevScripts/

#Build CEF Engine (Linux)
- name: Build CEF Engine (Linux)
shell: pwsh
run: '& ./publish-cef-engine-linux.ps1'
working-directory: UnityWebBrowserSource/src/DevScripts/

#Build CEF Engine (Linux)
- name: Build CEF Engine (Windows)
shell: pwsh
run: '& ./publish-cef-engine-windows.ps1'
working-directory: UnityWebBrowserSource/src/DevScripts/
#This job builds the main non-platform depent packages
build-core:
name: "Build-UWB-Main"
runs-on: ubuntu-22.04
steps:
# Checkout Repo
- uses: actions/checkout@v4
with:
fetch-depth: 0

#Setup the Environment
- uses: actions/setup-dotnet@v4
name: Setup .NET
with:
dotnet-version: "8.0.x"

# Build shared
- name: Build Shared
run: python build_shared.py
working-directory: src/DevScripts/

# Restore Unity's cache
- name: Unity Cache
uses: actions/cache@v4
with:
path: src/UnityWebBrowser.UnityProject/Library
key: Cache-Unity

# Build the Unity project
- name: Build Unity Project
uses: game-ci/unity-builder@v4
env:
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
with:
projectPath: src/UnityWebBrowser.UnityProject/
targetPlatform: StandaloneLinux64
buildsPath: src/UnityWebBrowser.UnityProject/Builds
versioning: Tag

# Create an output directory for artifacts
- name: Create Artifacts Staging Directory
shell: pwsh
run: mkdir ${{ github.workspace }}/UWBStaging/

# Pack UWB Core
- name: Pack Core Package
shell: pwsh
run: npm pack --pack-destination ${{ github.workspace }}/UWBStaging/
working-directory: src/Packages/UnityWebBrowser

# Pack UWB Pipes Communication
- name: Pack Pipes Communication Package
shell: pwsh
run: npm pack --pack-destination ${{ github.workspace }}/UWBStaging/
working-directory: src/Packages/UnityWebBrowser.Communication.Pipes

# Upload Packed Packages
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: UWB-Core
path: ${{ github.workspace }}/UWBStaging/*.tgz

build-engine-cef:
strategy:
matrix:
os: [windows-2022, ubuntu-22.04]
include:
- os: windows-2022
build: windows64
package: Win-x64
- os: ubuntu-22.04
build: linux64
package: Linux-x64
- os: macos-14
build: macosx64
package: MacOS-x64
- os: macos-14
build: macosarm64
package: MacOS-arm64

runs-on: ${{ matrix.os }}
name: Build-UWB-Engine-CEF-${{ matrix.package }}
steps:
# Checkout Repo
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0

# Setup the Environment
- uses: actions/setup-dotnet@v4
name: Setup .NET
with:
dotnet-version: "8.0.x"

# Download CEF
- name: Download CEF ${{ matrix.build }}
run: python download_cef_${{ matrix.build }}.py
working-directory: src/DevScripts/

# Build CEF Engine
- name: Build CEF Engine ${{ matrix.build }}
run: python build_cef_${{ matrix.build }}.py
working-directory: src/DevScripts/

# Create an output directory for artifacts
- name: Create Artifacts Staging Directory
shell: pwsh
run: mkdir ${{ github.workspace }}/UWBStaging/

# Pack UWB Core
- name: Pack CEF Engine ${{ matrix.package }} Package
shell: pwsh
run: npm pack --pack-destination ${{ github.workspace }}/UWBStaging/
working-directory: src/Packages/UnityWebBrowser.Engine.Cef.${{ matrix.package }}

# Upload Packed Packages
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: UWB-Engine-CEF-${{ matrix.package }}
path: ${{ github.workspace }}/UWBStaging/*.tgz
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -385,4 +385,5 @@ FodyWeavers.xsd
*.sln.iml

# MacOS
*.DS_Store
*.DS_Store

2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "ThirdParty/CefGlue"]
path = src/ThirdParty/CefGlue
url = https://gitlab.com/Voltstro-Studios/WebBrowser/cefglue.git
url = https://github.com/Voltstro-Studios/CefGlue.git
43 changes: 43 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,49 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.2.0] - 2024-09-20

### Added

- Added MacOS support (x64, arm64)
- Added CEF engine sandboxing (Windows, MacOS)
- Added remote debugging allowed origins
- Added CEF Event flags support (allows dragging)
- Added `UWB_DISABLE_POSTPROCESSOR` define to UWB's postprocessor

### Changed

- Bump deps
- Updated CEF to 128.4.9
- CEF engine gets compiled using .NET Native AOT
- Updated logging tags
- Communication layers are loaded by name instead of assemblies
- Update pipes package to use VoltRpc.Communication.Pipes package, instead of embedding
- Mouse click events will always send `clickCount` with at least a value of 1
- Changed control of engine pathing from being fixed (hardcoded) to being controlled by the `Engine` scriptable object
- Improve copying in engine build post-processor
- Change TCP timeouts to max allowed (#300)
- (Dev) Build all projects in CI
- (Dev) Change builds scripts to Python

### Deprecated

- Unix Support Package (`dev.voltstro.unitywebbrowser.unix-support`) - Packages should include the right execute permission from the get-go
- `CommunicationLayer.connectionTimeout` - Timeouts are now set to max
- `Engine.engineFileLocation` - Replaced with `Engine.engineEditorLocation`
- `Engine.EngineFilesNotFoundError` - No longer needed
- `EngineManager.GetEngineDirectory` - Fetching of engine paths is now handled by the engine class
- `EngineManager.GetEngineDirectory` - Fetching of engine paths is now handled by the engine class
- `EngineManager.GetEngineProcessFullPath` - Fetching of engine paths is now handled by the engine class
- `EngineManager.GetEngineProcessFullPath` - Fetching of engine paths is now handled by the engine class
- `WebBrowserUtils.GetBrowserEnginePath` - Fetching of engine paths is now handled by the engine class
- `WebBrowserUtils.GetBrowserEngineProcessPath` - Fetching of engine paths is now handled by the engine class

### Fixed

- Fixed select popups not working (#314)
- Fixed keyboard events not firing (#335)

## [2.1.1] - 2024-03-22

### Added
Expand Down
Loading

0 comments on commit 0bb316f

Please sign in to comment.