Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into feature/extra-media-d…
Browse files Browse the repository at this point in the history
…irectories
  • Loading branch information
andybak committed Sep 15, 2024
2 parents b615072 + e14f94c commit d6da455
Show file tree
Hide file tree
Showing 31 changed files with 1,827 additions and 1,025 deletions.
77 changes: 53 additions & 24 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,16 @@ on: # yamllint disable-line rule:truthy
- "**"
tags:
- "v*"
schedule:
- cron: "34 19 * * sat" # Weekly, Saturday at 19:34 UTC

env:
UNITY_VERSION: "2021.3.30f1"
UNITY_VERSION: "2022.3.34f1"
PHOTON_PAT: ${{ secrets.PHOTON_PAT }} # This needs to be here, since you can't use a ${{ secrets }} within an if: condition
jobs:
configuration:
if: |
(github.event_name == 'schedule') ||
(github.event_name == 'pull_request') ||
(
github.event_name == 'push' &&
Expand Down Expand Up @@ -205,6 +208,7 @@ jobs:
targetPlatform: StandaloneOSX
vrsdk: Monoscopic
cache: MacOS
packages_to_remove: com.meta.xr.sdk.core

- name: Android OpenXR
targetPlatform: Android
Expand Down Expand Up @@ -259,28 +263,27 @@ jobs:
- name: Set masking
run: echo "::add-mask::DoNotStealThis1"
- name: Free extra space
# This takes several minutes, so we only do it where required. As of 12/10/2023, this increases free space from 18GB to 41GB
if: matrix.targetPlatform == 'Android' || matrix.targetPlatform == 'StandaloneWindows64'
# As of 02/08/2024, this increases free space from 21GB to 47GB
run: |
echo "Initial free space"
df -h /
echo "Removing all pre-loaded docker images"
docker rmi $(docker image ls -aq) # Removes ~6GB
docker rmi $(docker image ls -aq) # Removes ~3GB
df -h /
echo "Listing 100 largest packages"
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -rn | head -n 100
echo "Removing unneeded large packages"
sudo apt update
sudo apt remove -y '^ghc-.*' '^dotnet-.*' azure-cli powershell google-chrome-stable firefox microsoft-edge-stable 'mongodb-*' 'mysql-*' 'mariadb-*' 'temurin-*' 'openjdk-*' default-jre-headless # Removes ~7GB # Adding 'google-cloud-*' removes another 750MB but takes about a minute; not worth it
sudo apt remove -y '^ghc-.*' '^dotnet-.*' azure-cli powershell google-chrome-stable firefox microsoft-edge-stable 'mongodb-*' 'mysql-*' 'mariadb-*' 'temurin-*' 'openjdk-*' default-jre-headless mono-devel libgl1-mesa-dri # Removes ~6GB
sudo apt autoremove -y
sudo apt clean
df -h /
echo "Listing 100 largest remaining packages"
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -rn | head -n 100
echo "Removing remaining large directories"
echo "Removing Android"
sudo rm -rf /usr/local/lib/android # Removes ~9GB
df -h /
echo "Removing remaining large directories"
rm -rf /usr/share/dotnet/ # Removes ~1GB
rm -rf "$AGENT_TOOLSDIRECTORY" # Removes ~6GB
rm -rf "$AGENT_TOOLSDIRECTORY" # Removes ~7GB
echo "Disk space after cleanup"
df -h /
Expand Down Expand Up @@ -550,7 +553,7 @@ jobs:

signmacos:
name: Sign the MacOS .app
needs: [build]
needs: [configuration, build]
if: |
github.event_name == 'push' &&
github.repository == 'icosa-foundation/open-brush' &&
Expand Down Expand Up @@ -628,7 +631,7 @@ jobs:
createdmg:
name: Create and Notarize DMG
needs: [signmacos]
needs: [configuration, signmacos]
if: |
github.event_name == 'push' &&
github.repository == 'icosa-foundation/open-brush' &&
Expand Down Expand Up @@ -695,7 +698,7 @@ jobs:
steps:
- name: "Build Changelog"
id: changelog
uses: mikepenz/release-changelog-builder-action@v4
uses: mikepenz/release-changelog-builder-action@v5
with:
fromTag: "${{ needs.configuration.outputs.previousrelease }}"
toTag: "${{ needs.configuration.outputs.currentrelease }}"
Expand Down Expand Up @@ -818,7 +821,7 @@ jobs:
steps:
- name: "Build Changelog"
id: changelog
uses: mikepenz/release-changelog-builder-action@v4
uses: mikepenz/release-changelog-builder-action@v5
with:
fromTag: "${{ needs.configuration.outputs.previousfullrelease }}"
toTag: "${{ needs.configuration.outputs.currentrelease }}"
Expand Down Expand Up @@ -885,7 +888,7 @@ jobs:

publish_steam:
name: Publish Steam Release
needs: [build, signmacos]
needs: [configuration, build, signmacos]
if: |
github.event_name == 'push' &&
github.repository == 'icosa-foundation/open-brush' &&
Expand Down Expand Up @@ -945,7 +948,7 @@ jobs:
CHANNEL: beta
- name: Update steam login secret
run: |
base64 -i /home/runner/Steam/config/config.vdf | gh secret set -R icosa-foundation/open-brush STEAM_CONFIG_VDF
base64 -i /home/runner/Steam/config/config.vdf | gh secret set --visibility all --org icosa-foundation STEAM_CONFIG_VDF
md5sum /home/runner/Steam/config/config.vdf
env:
GITHUB_TOKEN: ${{ secrets.SECRET_UPDATER_PAT }}
Expand Down Expand Up @@ -1065,7 +1068,7 @@ jobs:
publish_oculus_quest:
name: Publish Oculus Quest 2+ Release
needs: [configuration, build]
runs-on: ubuntu-latest
runs-on: macos-latest # the ovr-platform-util tool is only available for Mac and Windows
if: |
github.event_name == 'push' &&
github.repository == 'icosa-foundation/open-brush' &&
Expand All @@ -1091,7 +1094,7 @@ jobs:
cd releases
unzip symbols.zip
curl -L 'https://www.oculus.com/download_app/?id=5159709737372459' -o ovr-platform-util
curl -L 'https://www.oculus.com/download_app/?id=1462426033810370' -o ovr-platform-util
chmod 755 ovr-platform-util
if [ "$PRERELEASE" == "false" ]
Expand All @@ -1105,7 +1108,7 @@ jobs:
publish_oculus_quest1:
name: Publish Oculus Quest 1 Release
needs: [configuration, build]
runs-on: ubuntu-latest
runs-on: macos-latest # the ovr-platform-util tool is only available for Mac and Windows
if: |
github.event_name == 'push' &&
github.repository == 'icosa-foundation/open-brush' &&
Expand All @@ -1131,7 +1134,7 @@ jobs:
cd releases1
unzip symbols.zip
curl -L 'https://www.oculus.com/download_app/?id=5159709737372459' -o ovr-platform-util
curl -L 'https://www.oculus.com/download_app/?id=1462426033810370' -o ovr-platform-util
chmod 755 ovr-platform-util
if [ "$PRERELEASE" == "false" ]
Expand All @@ -1145,7 +1148,7 @@ jobs:
publish_oculus_rift:
name: Publish Oculus Rift Release
needs: [configuration, build]
runs-on: ubuntu-latest
runs-on: macos-latest # the ovr-platform-util tool is only available for Mac and Windows
if: |
github.event_name == 'push' &&
github.repository == 'icosa-foundation/open-brush' &&
Expand All @@ -1169,7 +1172,7 @@ jobs:
mv build_windows_rift/StandaloneWindows64/ releases/OpenBrush_Rift_$VERSION/
cd releases
zip -r OpenBrush_Rift_$VERSION.zip OpenBrush_Rift_$VERSION/
curl -L 'https://www.oculus.com/download_app/?id=5159709737372459' -o ovr-platform-util
curl -L 'https://www.oculus.com/download_app/?id=1462426033810370' -o ovr-platform-util
chmod 755 ovr-platform-util
if [ "$PRERELEASE" == "false" ]
Expand Down Expand Up @@ -1230,7 +1233,7 @@ jobs:
publish_ios_zapbox:
name: Publish Zapbox iOS
needs: [configuration, build]
runs-on: macos-13 # As of 2024-03-01, macos-latest still points to Mac OS 12, which has an older XCode and gives ITMS-90725: SDK version issue when we submit.
runs-on: macos-latest
if: |
github.event_name == 'push' &&
github.repository == 'icosa-foundation/open-brush' &&
Expand All @@ -1245,13 +1248,33 @@ jobs:
Gemfile.lock
fastlane
- name: Free extra space
# As of 02/08/2024, this increases free space from 21GB to 47GB
run: |
echo "Initial free space"
df -h
rm -rf "$AGENT_TOOLSDIRECTORY"
echo "Disk space after cleanup of \$AGENT_TOOLSDIRECTORY"
df -h
echo "Deleting all Xcode versions except 15.4"
find /Applications/Xcode_* -maxdepth 0 -type d ! -name 'Xcode_15.4.app' -exec rm -rf {} \;
df -h
find /Applications/Xcode* -name "*.app" -exec du -mcsh {} \; # Shows Xcode app sizes
- name: Download iOS Artifact
uses: actions/download-artifact@v4
with:
name: iOS Zapbox
path: build

- name: Fix File Permissions and Run fastlane
- name: Fix File Permissions
run: |
export FILENAME=$(basename $(readlink -f build/iOS/OpenBrush*))
export IOS_BUILD_PATH=$(pwd)/build/iOS/${FILENAME}
find $IOS_BUILD_PATH -type f -name "*.sh" -exec chmod +x {} \;
- name: Run fastlane
env:
APPLE_CONNECT_EMAIL: ${{ secrets.APPLE_CONNECT_EMAIL }}
APPLE_DEVELOPER_EMAIL: ${{ secrets.APPLE_DEVELOPER_EMAIL }}
Expand All @@ -1274,6 +1297,12 @@ jobs:
export FILENAME=$(basename $(readlink -f build/iOS/OpenBrush*))
export IOS_BUILD_PATH=$(pwd)/build/iOS/${FILENAME}
find $IOS_BUILD_PATH -type f -name "**.sh" -exec chmod +x {} \;
bundle install
bundle exec fastlane ios ${FASTLANE_LANE}
- name: Save logs
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: fastlane logs
path: /Users/runner/Library/Logs/gym/
4 changes: 2 additions & 2 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5.1.0
- uses: actions/setup-python@v5.2.0
with:
python-version: '3.12'
- uses: actions/setup-dotnet@v4.0.0
- uses: actions/setup-dotnet@v4.0.1
with:
dotnet-version: '8.0.x'
- name: Install pre-commit
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/third_party_notices.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5.1.0
- uses: actions/setup-python@v5.2.0
with:
python-version: '3.12'
- name: Run the generator
Expand Down
13 changes: 13 additions & 0 deletions Assets/Editor/BuildTiltBrushPostProcess.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,19 @@ public void OnPostGenerateGradleAndroidProject(string path)
);
#endif

#if ENABLE_CONTEXTUAL_BOUNDARYLESS_APP
UnityEngine.Debug.Log("Add com.oculus.feature.CONTEXTUAL_BOUNDARYLESS_APP");
AddOrRemoveTag(doc,
androidNamespaceURI,
"/manifest",
"uses-feature",
"com.oculus.feature.CONTEXTUAL_BOUNDARYLESS_APP",
true,
true,
"required", "true"
);
#endif

#if FORCE_HEADTRACKING
UnityEngine.Debug.Log("Add android.hardware.vr.headtracking");
AddOrRemoveTag(doc,
Expand Down
3 changes: 2 additions & 1 deletion Assets/InputSystem.inputsettings.asset
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@ MonoBehaviour:
m_CompensateForScreenOrientation: 1
m_BackgroundBehavior: 0
m_EditorInputBehaviorInPlayMode: 0
m_InputActionPropertyDrawerMode: 0
m_DefaultDeadzoneMin: 0.125
m_DefaultDeadzoneMax: 0.925
m_DefaultButtonPressPoint: 0.125
m_DefaultButtonPressPoint: 0.05
m_ButtonReleaseThreshold: 1
m_DefaultTapTime: 0.2
m_DefaultSlowTapTime: 0.5
Expand Down
11 changes: 7 additions & 4 deletions Assets/Oculus/OculusProjectConfig.asset
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,11 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 05d394ae2a81edd4cbc3c51917e766e3, type: 3}
m_Name: OculusProjectConfig
m_EditorClassIdentifier:
targetDeviceTypes: 0100000002000000
targetDeviceTypes: 01000000020000000300000004000000
allowOptional3DofHeadTracking: 0
handTrackingSupport: 0
handTrackingFrequency: 0
handTrackingVersion: 0
multimodalHandsControllersSupport: 0
anchorSupport: 1
sharedAnchorSupport: 1
renderModelSupport: 0
Expand All @@ -27,16 +26,20 @@ MonoBehaviour:
eyeTrackingSupport: 0
virtualKeyboardSupport: 0
sceneSupport: 1
boundaryVisibilitySupport: 0
disableBackups: 0
enableNSCConfig: 0
securityXmlPath:
skipUnneededShaders: 0
enableIL2CPPLTO: 0
focusAware: 1
requiresSystemKeyboard: 0
experimentalFeaturesEnabled: 0
insightPassthroughEnabled: 0
_insightPassthroughSupport: 1
_processorFavor: 0
systemSplashScreen: {fileID: 0}
systemSplashScreenType: 0
ovrPluginMd5Win64: 67e58deb5b905ae742512bbee3e06a70
ovrPluginMd5Android: 017d859ada160e45b27588f910d5d8d8
_systemLoadingScreenBackground: 0
ovrPluginMd5Win64: 33685b25e1b4f2b6c1632069bc88783632496c19eda9b55641c321c119bdf68c
ovrPluginMd5Android: b9e59102e373e2d7a97cd1dbe38cac15e89ec54c0a32b98491b3d09d93ccda7d
1 change: 1 addition & 0 deletions Assets/Plugins/Android/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
<meta-data android:name="pvr.app.type" android:value="vr" />
</application>
<uses-permission android:name="android.permission.RECORD_AUDIO" tools:node="remove"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.oculus.permission.USE_SCENE" />
</manifest>
Loading

0 comments on commit d6da455

Please sign in to comment.