From 6bf75cd46efddba583ff3cb247b7692df93b4006 Mon Sep 17 00:00:00 2001 From: Liam Cannon <54691085+liamcannon@users.noreply.github.com> Date: Wed, 16 Jul 2025 00:45:36 -0400 Subject: [PATCH 1/7] forked bytex and updated to use steamkit 3.3, updated faster to dotnet 9 =) --- .gitmodules | 3 +++ BytexDigital.Steam | 1 + FASTER.sln | 8 ++++++-- FASTER/FASTER.csproj | 6 ++++-- FASTER/ViewModel/ModsViewModel.cs | 4 +++- FASTERTests/FASTERTests.csproj | 2 +- 6 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 .gitmodules create mode 160000 BytexDigital.Steam diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..2f25e9a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "BytexDigital.Steam"] + path = BytexDigital.Steam + url = https://github.com/BytexDigital/BytexDigital.Steam.git diff --git a/BytexDigital.Steam b/BytexDigital.Steam new file mode 160000 index 0000000..f7189ce --- /dev/null +++ b/BytexDigital.Steam @@ -0,0 +1 @@ +Subproject commit f7189ce7c2dc4dff0b7c0dd6181f9057c43c859f diff --git a/FASTER.sln b/FASTER.sln index 3b729fd..f1d21f6 100644 --- a/FASTER.sln +++ b/FASTER.sln @@ -13,15 +13,15 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .github\workflows\codeql-analysis.yml = .github\workflows\codeql-analysis.yml FASTER_Version.xml = FASTER_Version.xml NuGet.Config = NuGet.Config - .github\workflows\publish.yml = .github\workflows\publish.yml README.md = README.md - .github\workflows\release.yml = .github\workflows\release.yml EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FASTERTests", "FASTERTests\FASTERTests.csproj", "{65FDF864-BF9B-414A-A6E6-3473BCFB62BE}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FASTER Maintenance", "FASTER Maintenance\FASTER Maintenance.csproj", "{465FB100-A08C-4E4F-A321-EC85C5C177B3}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BytexDigital.Steam", "BytexDigital.Steam\BytexDigital.Steam\BytexDigital.Steam.csproj", "{22F5B346-B3B2-302D-9D68-35A2DFCE2081}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -38,6 +38,10 @@ Global {65FDF864-BF9B-414A-A6E6-3473BCFB62BE}.Release|Any CPU.Build.0 = Release|Any CPU {465FB100-A08C-4E4F-A321-EC85C5C177B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {465FB100-A08C-4E4F-A321-EC85C5C177B3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {22F5B346-B3B2-302D-9D68-35A2DFCE2081}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {22F5B346-B3B2-302D-9D68-35A2DFCE2081}.Debug|Any CPU.Build.0 = Debug|Any CPU + {22F5B346-B3B2-302D-9D68-35A2DFCE2081}.Release|Any CPU.ActiveCfg = Release|Any CPU + {22F5B346-B3B2-302D-9D68-35A2DFCE2081}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/FASTER/FASTER.csproj b/FASTER/FASTER.csproj index 1bda8f1..7207590 100644 --- a/FASTER/FASTER.csproj +++ b/FASTER/FASTER.csproj @@ -1,7 +1,7 @@ WinExe - net8.0-windows + net9.0-windows enable enable true @@ -63,7 +63,6 @@ - @@ -75,4 +74,7 @@ + + + diff --git a/FASTER/ViewModel/ModsViewModel.cs b/FASTER/ViewModel/ModsViewModel.cs index 4070d03..f560b6e 100644 --- a/FASTER/ViewModel/ModsViewModel.cs +++ b/FASTER/ViewModel/ModsViewModel.cs @@ -17,7 +17,9 @@ namespace FASTER.ViewModel public class ModsViewModel { public ModsViewModel() - { ModsCollection = Properties.Settings.Default.armaMods ?? new ArmaModCollection(); } + { + ModsCollection = Properties.Settings.Default.armaMods ?? new ArmaModCollection(); + } public ArmaModCollection ModsCollection { get; set; } diff --git a/FASTERTests/FASTERTests.csproj b/FASTERTests/FASTERTests.csproj index e56945d..d5436c0 100644 --- a/FASTERTests/FASTERTests.csproj +++ b/FASTERTests/FASTERTests.csproj @@ -1,6 +1,6 @@  - net8.0-windows + net9.0-windows false From 7ffc48704c2750511f51f69959f3409f0c179962 Mon Sep 17 00:00:00 2001 From: Liam Cannon <54691085+liamcannon@users.noreply.github.com> Date: Wed, 16 Jul 2025 00:47:50 -0400 Subject: [PATCH 2/7] pointed submodule to correct repo --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 2f25e9a..2ec42d8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "BytexDigital.Steam"] path = BytexDigital.Steam - url = https://github.com/BytexDigital/BytexDigital.Steam.git + url = https://github.com/liamcannon/BytexDigital.Steam.git From 5a82516f9803c6f687d975f8dff8ff311d03e552 Mon Sep 17 00:00:00 2001 From: Keelah Atom Date: Wed, 16 Jul 2025 13:57:53 +0200 Subject: [PATCH 3/7] Configures CI and build settings - Reverts CodeQL analysis to use ubuntu-latest runner due to memory issues. - Enables fetching submodules in CodeQL analysis workflow to ensure proper analysis. - Disables fetching submodules in release workflow and sets fetch-depth to 0 for tag history processing. - Enables Windows targeting and sets publish ready to run options. --- .github/workflows/codeql-analysis.yml | 17 ++++++++++++----- .github/workflows/release.yml | 3 +++ FASTER.sln | 2 ++ FASTER/FASTER.csproj | 3 ++- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index c2b1d31..15f8dae 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -13,8 +13,8 @@ on: jobs: analyzeQL: name: Analyze with CodeQL - # runs-on: [windows-latest] # may cause Out of Memory errors - runs-on: [self-hosted] + runs-on: [ubuntu-latest] # may cause Out of Memory errors + # runs-on: [self-hosted] permissions: # required for all workflows @@ -31,17 +31,18 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v4 + with: + submodules: true - name: Initialize CodeQL uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} - - name: Setup .NET Core SDK uses: actions/setup-dotnet@v4.0.0 with: - dotnet-version: ${{vars.DOTNET_VERSION}} + dotnet-version: ${{env.DOTNET_VERSION}} - name: Restore Solution run: dotnet restore ./FASTER.sln @@ -85,8 +86,14 @@ jobs: - uses: actions/checkout@v4 with: + submodules: true fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis - + + - name: Setup .NET Core SDK + uses: actions/setup-dotnet@v4.0.0 + with: + dotnet-version: ${{env.DOTNET_VERSION}} + - name: Cache SonarCloud packages uses: actions/cache@v4 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7fad935..3e40642 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -43,6 +43,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + with: + submodules: false # Install the .NET Core workload - name: Install .NET Core @@ -91,6 +93,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 with: + submodules: false fetch-depth: 0 # required for tags history processing - name: Download x64 artifact diff --git a/FASTER.sln b/FASTER.sln index f1d21f6..4709255 100644 --- a/FASTER.sln +++ b/FASTER.sln @@ -13,7 +13,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .github\workflows\codeql-analysis.yml = .github\workflows\codeql-analysis.yml FASTER_Version.xml = FASTER_Version.xml NuGet.Config = NuGet.Config + .github\workflows\publish.yml = .github\workflows\publish.yml README.md = README.md + .github\workflows\release.yml = .github\workflows\release.yml EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FASTERTests", "FASTERTests\FASTERTests.csproj", "{65FDF864-BF9B-414A-A6E6-3473BCFB62BE}" diff --git a/FASTER/FASTER.csproj b/FASTER/FASTER.csproj index 7207590..56724af 100644 --- a/FASTER/FASTER.csproj +++ b/FASTER/FASTER.csproj @@ -2,6 +2,7 @@ WinExe net9.0-windows + true enable enable true @@ -18,7 +19,7 @@ README.md https://github.com/Foxlider/FASTER LICENSE - + true true true From ca91f42b7a4d8b49e05ba76ed0289568ca496284 Mon Sep 17 00:00:00 2001 From: Keelah Atom Date: Wed, 16 Jul 2025 14:55:02 +0200 Subject: [PATCH 4/7] Adds global.json file for .NET SDK configuration Adds a global.json file to specify the .NET SDK version and rollForward policy. This ensures consistent builds and development environments by pinning the SDK version. --- FASTER.sln | 1 + global.json | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 global.json diff --git a/FASTER.sln b/FASTER.sln index 4709255..c858ee9 100644 --- a/FASTER.sln +++ b/FASTER.sln @@ -12,6 +12,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution azure-pipelines.yml = azure-pipelines.yml .github\workflows\codeql-analysis.yml = .github\workflows\codeql-analysis.yml FASTER_Version.xml = FASTER_Version.xml + global.json = global.json NuGet.Config = NuGet.Config .github\workflows\publish.yml = .github\workflows\publish.yml README.md = README.md diff --git a/global.json b/global.json new file mode 100644 index 0000000..20c2667 --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "rollForward": "latestFeature", + "version": "9.0.0" + } +} \ No newline at end of file From 6cbd8af42d0b4033ba918984ae13e887728d0911 Mon Sep 17 00:00:00 2001 From: Keelah Atom Date: Wed, 16 Jul 2025 15:27:09 +0200 Subject: [PATCH 5/7] Configures CodeQL analysis workflow Sets up a CodeQL analysis workflow to automatically analyze the codebase for potential security vulnerabilities and code quality issues. The workflow is triggered on push to master, pull requests against master, and manual workflow dispatch. It performs analysis using the 'csharp' language. SonarCloud analysis is temporarily disabled and will be auto-analysing the project and the PRs. --- .github/workflows/codeql-analysis.yml | 132 +++++++++++++------------- 1 file changed, 67 insertions(+), 65 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 15f8dae..612e270 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -13,7 +13,8 @@ on: jobs: analyzeQL: name: Analyze with CodeQL - runs-on: [ubuntu-latest] # may cause Out of Memory errors + environment: Dev + runs-on: [windows-latest] # runs-on: [self-hosted] permissions: @@ -56,73 +57,74 @@ jobs: - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3 - AnalysisSonar: - name: Analyze with SonarCloud - runs-on: windows-latest - permissions: - pull-requests: write # allows SonarCloud to decorate PRs with analysis results - - # steps: # DOES NOT SCAN FOR SOME REASON ? - # - name: Analyze with SonarCloud - - # # You can pin the exact commit or the version. - # uses: SonarSource/sonarcloud-github-action@v3 - # env: - # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - # with: - # # Additional arguments for the SonarScanner CLI - # args: - # -Dsonar.projectKey=Foxlider_FASTER - # -Dsonar.organization=foxlicorp - # projectBaseDir: . - - - steps: - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: 17 - distribution: 'zulu' # Alternative distribution options are available. + ## SONAR is now auto-analysing the project and the PRs + # AnalysisSonar: + # name: Analyze with SonarCloud + # runs-on: windows-latest + # permissions: + # pull-requests: write # allows SonarCloud to decorate PRs with analysis results + + # # steps: # DOES NOT SCAN FOR SOME REASON ? + # # - name: Analyze with SonarCloud + + # # # You can pin the exact commit or the version. + # # uses: SonarSource/sonarcloud-github-action@v3 + # # env: + # # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + # # with: + # # # Additional arguments for the SonarScanner CLI + # # args: + # # -Dsonar.projectKey=Foxlider_FASTER + # # -Dsonar.organization=foxlicorp + # # projectBaseDir: . + + + # steps: + # - name: Set up JDK 17 + # uses: actions/setup-java@v4 + # with: + # java-version: 17 + # distribution: 'zulu' # Alternative distribution options are available. - - uses: actions/checkout@v4 - with: - submodules: true - fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + # - uses: actions/checkout@v4 + # with: + # submodules: true + # fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis - - name: Setup .NET Core SDK - uses: actions/setup-dotnet@v4.0.0 - with: - dotnet-version: ${{env.DOTNET_VERSION}} - - - name: Cache SonarCloud packages - uses: actions/cache@v4 - with: - path: ~\sonar\cache - key: ${{ runner.os }}-sonar - restore-keys: ${{ runner.os }}-sonar + # - name: Setup .NET Core SDK + # uses: actions/setup-dotnet@v4.0.0 + # with: + # dotnet-version: ${{env.DOTNET_VERSION}} + + # - name: Cache SonarCloud packages + # uses: actions/cache@v4 + # with: + # path: ~\sonar\cache + # key: ${{ runner.os }}-sonar + # restore-keys: ${{ runner.os }}-sonar - - name: Cache SonarCloud scanner - id: cache-sonar-scanner - uses: actions/cache@v4 - with: - path: .\.sonar\scanner - key: ${{ runner.os }}-sonar-scanner - restore-keys: ${{ runner.os }}-sonar-scanner + # - name: Cache SonarCloud scanner + # id: cache-sonar-scanner + # uses: actions/cache@v4 + # with: + # path: .\.sonar\scanner + # key: ${{ runner.os }}-sonar-scanner + # restore-keys: ${{ runner.os }}-sonar-scanner - - name: Install SonarCloud scanner - if: steps.cache-sonar-scanner.outputs.cache-hit != 'true' - shell: pwsh - run: | - New-Item -Path .\.sonar\scanner -ItemType Directory - dotnet tool update dotnet-sonarscanner --tool-path .\.sonar\scanner + # - name: Install SonarCloud scanner + # if: steps.cache-sonar-scanner.outputs.cache-hit != 'true' + # shell: pwsh + # run: | + # New-Item -Path .\.sonar\scanner -ItemType Directory + # dotnet tool update dotnet-sonarscanner --tool-path .\.sonar\scanner - - name: Build and analyze - env: - GITHUB_TOKEN: ${{ secrets.PR_DECORATION }} # Needed to get PR information, if any - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - shell: pwsh - run: | - .\.sonar\scanner\dotnet-sonarscanner begin /k:"Foxlider_FASTER" /o:"foxlicorp" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" - dotnet build - .\.sonar\scanner\dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}" + # - name: Build and analyze + # env: + # GITHUB_TOKEN: ${{ secrets.PR_DECORATION }} # Needed to get PR information, if any + # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + # shell: pwsh + # run: | + # .\.sonar\scanner\dotnet-sonarscanner begin /k:"Foxlider_FASTER" /o:"foxlicorp" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" + # dotnet build + # .\.sonar\scanner\dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}" \ No newline at end of file From 46441b43b7d1a852c8fb76424894b27fc4492963 Mon Sep 17 00:00:00 2001 From: Keelah Atom Date: Wed, 16 Jul 2025 15:39:41 +0200 Subject: [PATCH 6/7] Classic Imafuckingidiot commit I messed up but is ok --- .github/workflows/release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3e40642..3c7fa9f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -44,13 +44,13 @@ jobs: - name: Checkout uses: actions/checkout@v4 with: - submodules: false + submodules: true # Install the .NET Core workload - name: Install .NET Core uses: actions/setup-dotnet@v4 with: - dotnet-version: ${{vars.DOTNET_VERSION}} + dotnet-version: ${{env.DOTNET_VERSION}} # Execute all unit tests in the solution - name: Execute unit tests @@ -93,7 +93,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 with: - submodules: false + submodules: true fetch-depth: 0 # required for tags history processing - name: Download x64 artifact From 7bb70a2dae5955f8a395d37dd1febf41fddeca1a Mon Sep 17 00:00:00 2001 From: Keelah Atom Date: Wed, 16 Jul 2025 16:34:11 +0200 Subject: [PATCH 7/7] Version Bump to 1.9g --- FASTER/FASTER.csproj | 2 +- FASTER_Version.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/FASTER/FASTER.csproj b/FASTER/FASTER.csproj index 56724af..c79a75a 100644 --- a/FASTER/FASTER.csproj +++ b/FASTER/FASTER.csproj @@ -11,7 +11,7 @@ True FASTERKey.snk Keelah Fox, Jupster, Canno.n - 1.9.6.2 + 1.9.7.1 FoxliCorp. Fox's Arma Server Tool Extended Rewrite Copyright © 2019 diff --git a/FASTER_Version.xml b/FASTER_Version.xml index 32b755b..7fd63a9 100644 --- a/FASTER_Version.xml +++ b/FASTER_Version.xml @@ -1,6 +1,6 @@  - 1.9.6.2 + 1.9.7.1 https://github.com/Foxlider/FASTER/releases/latest/download/Release_x64.zip https://github.com/Foxlider/FASTER/releases true