diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 213c5082ab..5c11f91994 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -121,21 +121,12 @@ jobs:
build-only-ios:
name: Build only (iOS)
- # change to macos-latest once GitHub finishes migrating all repositories to macOS 12.
- runs-on: macos-12
+ runs-on: macos-latest
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v2
- # see https://github.com/actions/runner-images/issues/6771#issuecomment-1354713617
- # remove once all workflow VMs use Xcode 14.1
- - name: Set Xcode Version
- shell: bash
- run: |
- sudo xcode-select -s "/Applications/Xcode_14.1.app"
- echo "MD_APPLE_SDK_ROOT=/Applications/Xcode_14.1.app" >> $GITHUB_ENV
-
- name: Install .NET 6.0.x
uses: actions/setup-dotnet@v1
with:
diff --git a/Gemfile b/Gemfile
deleted file mode 100644
index cdd3a6b349..0000000000
--- a/Gemfile
+++ /dev/null
@@ -1,6 +0,0 @@
-source "https://rubygems.org"
-
-gem "fastlane"
-
-plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
-eval_gemfile(plugins_path) if File.exist?(plugins_path)
diff --git a/Gemfile.lock b/Gemfile.lock
deleted file mode 100644
index 07ca3542f9..0000000000
--- a/Gemfile.lock
+++ /dev/null
@@ -1,234 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- CFPropertyList (3.0.5)
- rexml
- addressable (2.8.1)
- public_suffix (>= 2.0.2, < 6.0)
- artifactory (3.0.15)
- atomos (0.1.3)
- aws-eventstream (1.2.0)
- aws-partitions (1.653.0)
- aws-sdk-core (3.166.0)
- aws-eventstream (~> 1, >= 1.0.2)
- aws-partitions (~> 1, >= 1.651.0)
- aws-sigv4 (~> 1.5)
- jmespath (~> 1, >= 1.6.1)
- aws-sdk-kms (1.59.0)
- aws-sdk-core (~> 3, >= 3.165.0)
- aws-sigv4 (~> 1.1)
- aws-sdk-s3 (1.117.1)
- aws-sdk-core (~> 3, >= 3.165.0)
- aws-sdk-kms (~> 1)
- aws-sigv4 (~> 1.4)
- aws-sigv4 (1.5.2)
- aws-eventstream (~> 1, >= 1.0.2)
- babosa (1.0.4)
- claide (1.1.0)
- colored (1.2)
- colored2 (3.1.2)
- commander (4.6.0)
- highline (~> 2.0.0)
- declarative (0.0.20)
- digest-crc (0.6.4)
- rake (>= 12.0.0, < 14.0.0)
- domain_name (0.5.20190701)
- unf (>= 0.0.5, < 1.0.0)
- dotenv (2.8.1)
- emoji_regex (3.2.3)
- excon (0.93.1)
- faraday (1.10.2)
- faraday-em_http (~> 1.0)
- faraday-em_synchrony (~> 1.0)
- faraday-excon (~> 1.1)
- faraday-httpclient (~> 1.0)
- faraday-multipart (~> 1.0)
- faraday-net_http (~> 1.0)
- faraday-net_http_persistent (~> 1.0)
- faraday-patron (~> 1.0)
- faraday-rack (~> 1.0)
- faraday-retry (~> 1.0)
- ruby2_keywords (>= 0.0.4)
- faraday-cookie_jar (0.0.7)
- faraday (>= 0.8.0)
- http-cookie (~> 1.0.0)
- faraday-em_http (1.0.0)
- faraday-em_synchrony (1.0.0)
- faraday-excon (1.1.0)
- faraday-httpclient (1.0.1)
- faraday-multipart (1.0.4)
- multipart-post (~> 2)
- faraday-net_http (1.0.1)
- faraday-net_http_persistent (1.2.0)
- faraday-patron (1.0.0)
- faraday-rack (1.0.0)
- faraday-retry (1.0.3)
- faraday_middleware (1.2.0)
- faraday (~> 1.0)
- fastimage (2.2.6)
- fastlane (2.210.1)
- CFPropertyList (>= 2.3, < 4.0.0)
- addressable (>= 2.8, < 3.0.0)
- artifactory (~> 3.0)
- aws-sdk-s3 (~> 1.0)
- babosa (>= 1.0.3, < 2.0.0)
- bundler (>= 1.12.0, < 3.0.0)
- colored
- commander (~> 4.6)
- dotenv (>= 2.1.1, < 3.0.0)
- emoji_regex (>= 0.1, < 4.0)
- excon (>= 0.71.0, < 1.0.0)
- faraday (~> 1.0)
- faraday-cookie_jar (~> 0.0.6)
- faraday_middleware (~> 1.0)
- fastimage (>= 2.1.0, < 3.0.0)
- gh_inspector (>= 1.1.2, < 2.0.0)
- google-apis-androidpublisher_v3 (~> 0.3)
- google-apis-playcustomapp_v1 (~> 0.1)
- google-cloud-storage (~> 1.31)
- highline (~> 2.0)
- json (< 3.0.0)
- jwt (>= 2.1.0, < 3)
- mini_magick (>= 4.9.4, < 5.0.0)
- multipart-post (~> 2.0.0)
- naturally (~> 2.2)
- optparse (~> 0.1.1)
- plist (>= 3.1.0, < 4.0.0)
- rubyzip (>= 2.0.0, < 3.0.0)
- security (= 0.1.3)
- simctl (~> 1.6.3)
- terminal-notifier (>= 2.0.0, < 3.0.0)
- terminal-table (>= 1.4.5, < 2.0.0)
- tty-screen (>= 0.6.3, < 1.0.0)
- tty-spinner (>= 0.8.0, < 1.0.0)
- word_wrap (~> 1.0.0)
- xcodeproj (>= 1.13.0, < 2.0.0)
- xcpretty (~> 0.3.0)
- xcpretty-travis-formatter (>= 0.0.3)
- fastlane-plugin-clean_testflight_testers (0.3.0)
- fastlane-plugin-souyuz (0.11.1)
- souyuz (= 0.11.1)
- fastlane-plugin-xamarin (0.6.3)
- gh_inspector (1.1.3)
- google-apis-androidpublisher_v3 (0.29.0)
- google-apis-core (>= 0.9.0, < 2.a)
- google-apis-core (0.9.1)
- addressable (~> 2.5, >= 2.5.1)
- googleauth (>= 0.16.2, < 2.a)
- httpclient (>= 2.8.1, < 3.a)
- mini_mime (~> 1.0)
- representable (~> 3.0)
- retriable (>= 2.0, < 4.a)
- rexml
- webrick
- google-apis-iamcredentials_v1 (0.15.0)
- google-apis-core (>= 0.9.0, < 2.a)
- google-apis-playcustomapp_v1 (0.12.0)
- google-apis-core (>= 0.9.1, < 2.a)
- google-apis-storage_v1 (0.19.0)
- google-apis-core (>= 0.9.0, < 2.a)
- google-cloud-core (1.6.0)
- google-cloud-env (~> 1.0)
- google-cloud-errors (~> 1.0)
- google-cloud-env (1.6.0)
- faraday (>= 0.17.3, < 3.0)
- google-cloud-errors (1.3.0)
- google-cloud-storage (1.43.0)
- addressable (~> 2.8)
- digest-crc (~> 0.4)
- google-apis-iamcredentials_v1 (~> 0.1)
- google-apis-storage_v1 (~> 0.19.0)
- google-cloud-core (~> 1.6)
- googleauth (>= 0.16.2, < 2.a)
- mini_mime (~> 1.0)
- googleauth (1.3.0)
- faraday (>= 0.17.3, < 3.a)
- jwt (>= 1.4, < 3.0)
- memoist (~> 0.16)
- multi_json (~> 1.11)
- os (>= 0.9, < 2.0)
- signet (>= 0.16, < 2.a)
- highline (2.0.3)
- http-cookie (1.0.5)
- domain_name (~> 0.5)
- httpclient (2.8.3)
- jmespath (1.6.1)
- json (2.6.2)
- jwt (2.5.0)
- memoist (0.16.2)
- mini_magick (4.11.0)
- mini_mime (1.1.2)
- mini_portile2 (2.8.0)
- multi_json (1.15.0)
- multipart-post (2.0.0)
- nanaimo (0.3.0)
- naturally (2.2.1)
- nokogiri (1.13.9)
- mini_portile2 (~> 2.8.0)
- racc (~> 1.4)
- optparse (0.1.1)
- os (1.1.4)
- plist (3.6.0)
- public_suffix (5.0.0)
- racc (1.6.0)
- rake (13.0.6)
- representable (3.2.0)
- declarative (< 0.1.0)
- trailblazer-option (>= 0.1.1, < 0.2.0)
- uber (< 0.2.0)
- retriable (3.1.2)
- rexml (3.2.5)
- rouge (2.0.7)
- ruby2_keywords (0.0.5)
- rubyzip (2.3.2)
- security (0.1.3)
- signet (0.17.0)
- addressable (~> 2.8)
- faraday (>= 0.17.5, < 3.a)
- jwt (>= 1.5, < 3.0)
- multi_json (~> 1.10)
- simctl (1.6.8)
- CFPropertyList
- naturally
- souyuz (0.11.1)
- fastlane (>= 2.182.0)
- highline (~> 2.0)
- nokogiri (~> 1.7)
- terminal-notifier (2.0.0)
- terminal-table (1.8.0)
- unicode-display_width (~> 1.1, >= 1.1.1)
- trailblazer-option (0.1.2)
- tty-cursor (0.7.1)
- tty-screen (0.8.1)
- tty-spinner (0.9.3)
- tty-cursor (~> 0.7)
- uber (0.1.0)
- unf (0.1.4)
- unf_ext
- unf_ext (0.0.8.2)
- unicode-display_width (1.8.0)
- webrick (1.7.0)
- word_wrap (1.0.0)
- xcodeproj (1.22.0)
- CFPropertyList (>= 2.3.3, < 4.0)
- atomos (~> 0.1.3)
- claide (>= 1.0.2, < 2.0)
- colored2 (~> 3.1)
- nanaimo (~> 0.3.0)
- rexml (~> 3.2.4)
- xcpretty (0.3.0)
- rouge (~> 2.0.7)
- xcpretty-travis-formatter (1.0.1)
- xcpretty (~> 0.2, >= 0.0.7)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- fastlane
- fastlane-plugin-clean_testflight_testers
- fastlane-plugin-souyuz
- fastlane-plugin-xamarin
-
-BUNDLED WITH
- 2.0.1
diff --git a/fastlane/Appfile b/fastlane/Appfile
deleted file mode 100644
index 083de66985..0000000000
--- a/fastlane/Appfile
+++ /dev/null
@@ -1,2 +0,0 @@
-app_identifier("sh.ppy.osulazer") # The bundle identifier of your app
-apple_id("apple-dev@ppy.sh") # Your Apple email address
diff --git a/fastlane/Fastfile b/fastlane/Fastfile
deleted file mode 100644
index 716115e5c6..0000000000
--- a/fastlane/Fastfile
+++ /dev/null
@@ -1,147 +0,0 @@
-update_fastlane
-
-platform :android do
-desc 'Deploy to play store'
- lane :beta do |options|
-
- update_version(
- version: options[:version],
- build: options[:build],
- )
-
- build(options)
-
- supply(
- apk: './osu.Android/bin/Release/sh.ppy.osulazer-Signed.apk',
- package_name: 'sh.ppy.osulazer',
- track: 'alpha', # upload to alpha, we can promote it later
- json_key: options[:json_key],
- )
- end
-
- desc 'Deploy to github release'
- lane :build_github do |options|
-
- update_version(
- version: options[:version],
- build: options[:build],
- )
-
- build(options)
-
- client = HTTPClient.new
- changelog = client.get_content 'https://gist.githubusercontent.com/peppy/aaa2ec1a323554b619671cac6dbbb776/raw'
- changelog.gsub!('$BUILD_ID', options[:build])
-
- set_github_release(
- repository_name: "ppy/osu",
- api_token: ENV["GITHUB_TOKEN"],
- name: options[:build],
- tag_name: options[:build],
- is_draft: true,
- description: changelog,
- commitish: "master",
- upload_assets: ["osu.Android/bin/Release/sh.ppy.osulazer.apk"]
- )
-
- end
-
- desc 'Compile the project'
- lane :build do |options|
- nuget_restore(project_path: 'osu.Android/osu.Android.csproj')
- nuget_restore(project_path: 'osu.Game/osu.Game.csproj')
- nuget_restore(project_path: 'osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj')
- nuget_restore(project_path: 'osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj')
- nuget_restore(project_path: 'osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj')
- nuget_restore(project_path: 'osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj')
-
- souyuz(
- build_configuration: 'Release',
- solution_path: 'osu.sln',
- platform: "android",
- output_path: "osu.Android/bin/Release/",
- keystore_path: options[:keystore_path],
- keystore_alias: options[:keystore_alias],
- keystore_password: ENV["KEYSTORE_PASSWORD"]
- )
- end
-
- lane :update_version do |options|
-
- split = options[:build].split('.')
- split[1] = split[1].to_s.rjust(4, '0')
- android_build = split.join('')
-
- app_version(
- solution_path: 'osu.sln',
- version: options[:version],
- build: android_build,
- )
- end
-
-end
-
-platform :ios do
- desc 'Deploy to testflight'
- lane :beta do |options|
- update_version(options)
-
- provision(
- type: 'appstore'
- )
-
- build(
- build_configuration: 'Release',
- build_platform: 'iPhone'
- )
-
- client = HTTPClient.new
- changelog = client.get_content 'https://gist.githubusercontent.com/peppy/ab89c29dcc0dce95f39eb218e8fad197/raw'
- changelog.gsub!('$BUILD_ID', options[:build])
-
- pilot(
- wait_processing_interval: 900,
- changelog: changelog,
- groups: ['osu! supporters', 'public'],
- distribute_external: true,
- ipa: './osu.iOS/bin/iPhone/Release/osu.iOS.ipa'
- )
- end
-
- desc 'Compile the project'
- lane :build do
- nuget_restore(project_path: 'osu.iOS/osu.iOS.csproj')
- nuget_restore(project_path: 'osu.Game/osu.Game.csproj')
- nuget_restore(project_path: 'osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj')
- nuget_restore(project_path: 'osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj')
- nuget_restore(project_path: 'osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj')
- nuget_restore(project_path: 'osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj')
-
- souyuz(
- platform: "ios",
- plist_path: "osu.iOS/Info.plist"
- )
- end
-
- desc 'Install provisioning profiles using match'
- lane :provision do |options|
- if Helper.is_ci?
- options[:readonly] = true
- end
-
- match(options)
- end
-
- lane :update_version do |options|
- options[:plist_path] = 'osu.iOS/Info.plist'
- app_version(options)
- end
-
- lane :testflight_prune_dry do
- clean_testflight_testers(days_of_inactivity:30, dry_run: true)
- end
-
- lane :testflight_prune do
- clean_testflight_testers(days_of_inactivity: 30)
- end
-end
diff --git a/fastlane/Matchfile b/fastlane/Matchfile
deleted file mode 100644
index 40c974b09e..0000000000
--- a/fastlane/Matchfile
+++ /dev/null
@@ -1 +0,0 @@
-git_url('https://github.com/peppy/apple-certificates')
diff --git a/fastlane/Pluginfile b/fastlane/Pluginfile
deleted file mode 100644
index 9f4f47f213..0000000000
--- a/fastlane/Pluginfile
+++ /dev/null
@@ -1,7 +0,0 @@
-# Autogenerated by fastlane
-#
-# Ensure this file is checked in to source control!
-
-gem 'fastlane-plugin-clean_testflight_testers'
-gem 'fastlane-plugin-souyuz'
-gem 'fastlane-plugin-xamarin'
diff --git a/fastlane/README.md b/fastlane/README.md
deleted file mode 100644
index 9d5e11f7cb..0000000000
--- a/fastlane/README.md
+++ /dev/null
@@ -1,109 +0,0 @@
-fastlane documentation
-----
-
-# Installation
-
-Make sure you have the latest version of the Xcode command line tools installed:
-
-```sh
-xcode-select --install
-```
-
-For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)
-
-# Available Actions
-
-## Android
-
-### android beta
-
-```sh
-[bundle exec] fastlane android beta
-```
-
-Deploy to play store
-
-### android build_github
-
-```sh
-[bundle exec] fastlane android build_github
-```
-
-Deploy to github release
-
-### android build
-
-```sh
-[bundle exec] fastlane android build
-```
-
-Compile the project
-
-### android update_version
-
-```sh
-[bundle exec] fastlane android update_version
-```
-
-
-
-----
-
-
-## iOS
-
-### ios beta
-
-```sh
-[bundle exec] fastlane ios beta
-```
-
-Deploy to testflight
-
-### ios build
-
-```sh
-[bundle exec] fastlane ios build
-```
-
-Compile the project
-
-### ios provision
-
-```sh
-[bundle exec] fastlane ios provision
-```
-
-Install provisioning profiles using match
-
-### ios update_version
-
-```sh
-[bundle exec] fastlane ios update_version
-```
-
-
-
-### ios testflight_prune_dry
-
-```sh
-[bundle exec] fastlane ios testflight_prune_dry
-```
-
-
-
-### ios testflight_prune
-
-```sh
-[bundle exec] fastlane ios testflight_prune
-```
-
-
-
-----
-
-This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
-
-More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).
-
-The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
diff --git a/osu.Android.props b/osu.Android.props
index 71944065bf..4bdf5d68c5 100644
--- a/osu.Android.props
+++ b/osu.Android.props
@@ -10,7 +10,7 @@
true
-
+