diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ae97f62b4..d20bb05a2 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -5,7 +5,7 @@ on: [push, pull_request]
env:
DOTNET_CLI_TELEMETRY_OPTOUT: true
DOTNET_NOLOGO: true
- DOTNET_SDK_VERSION: 6.0.x
+ DOTNET_SDK_VERSION: 7.0.x
jobs:
main:
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index d4bbbd8c2..bfba3c244 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -7,8 +7,8 @@ env:
CONFIGURATION: Release
DOTNET_CLI_TELEMETRY_OPTOUT: true
DOTNET_NOLOGO: true
- DOTNET_SDK_VERSION: 6.0.x
- NET_CORE_VERSION: net6.0
+ DOTNET_SDK_VERSION: 7.0.x
+ NET_CORE_VERSION: net7.0
NET_FRAMEWORK_VERSION: net481
NODE_JS_VERSION: 'lts/*'
STEAM_TOKEN_DUMPER_NAME: ArchiSteamFarm.OfficialPlugins.SteamTokenDumper
@@ -119,6 +119,7 @@ jobs:
- name: Publish ArchiSteamFarm on Unix
if: startsWith(matrix.os, 'macos-') || startsWith(matrix.os, 'ubuntu-')
env:
+ MAX_JOBS: 4
VARIANTS: generic linux-arm linux-arm64 linux-x64 osx-arm64 osx-x64 win-x64 # NOTE: When modifying variants, don't forget to update ASF_VARIANT definitions in SharedInfo.cs!
shell: sh
run: |
@@ -195,20 +196,20 @@ jobs:
esac
}
- jobs=""
-
for variant in $VARIANTS; do
+ while [ "$(jobs -p | wc -l)" -ge "$MAX_JOBS" ]; do
+ sleep 1
+ done
+
publish "$variant" &
- jobs="$jobs $!"
done
- for job in $jobs; do
- wait "$job"
- done
+ wait
- name: Publish ArchiSteamFarm on Windows
if: startsWith(matrix.os, 'windows-')
env:
+ MAX_JOBS: 4
VARIANTS: generic generic-netf linux-arm linux-arm64 linux-x64 osx-arm64 osx-x64 win-x64 # NOTE: When modifying variants, don't forget to update ASF_VARIANT definitions in SharedInfo.cs!
shell: pwsh
run: |
@@ -307,7 +308,7 @@ jobs:
# Limit active jobs in parallel to help with memory usage
$jobs = $(Get-Job -State Running)
- while (@($jobs).Count -ge 5) {
+ while (@($jobs).Count -ge $env:MAX_JOBS) {
Wait-Job -Job $jobs -Any | Out-Null
$jobs = $(Get-Job -State Running)
diff --git a/Directory.Build.props b/Directory.Build.props
index 2299ed767..8db77d912 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -70,7 +70,7 @@
none
true
- CS8002,IL2026,IL2057,IL2072,IL2075,IL2104
+ CS8002,IL2026,IL2057,IL2072,IL2075,IL2104,SYSLIB1045,SYSLIB1054
@@ -100,10 +100,10 @@
- net6.0;net481
+ net7.0;net481
- net6.0
+ net7.0
diff --git a/Dockerfile b/Dockerfile
index 8feb138e6..a12314cc5 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -9,14 +9,14 @@ RUN echo "node: $(node --version)" && \
npm ci --no-progress && \
npm run deploy --no-progress
-FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:6.0${IMAGESUFFIX} AS build-dotnet
+FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0${IMAGESUFFIX} AS build-dotnet
ARG CONFIGURATION=Release
ARG STEAM_TOKEN_DUMPER_TOKEN
ARG TARGETARCH
ARG TARGETOS
ENV DOTNET_CLI_TELEMETRY_OPTOUT true
ENV DOTNET_NOLOGO true
-ENV NET_CORE_VERSION net6.0
+ENV NET_CORE_VERSION net7.0
ENV STEAM_TOKEN_DUMPER_NAME ArchiSteamFarm.OfficialPlugins.SteamTokenDumper
WORKDIR /app
COPY --from=build-node /app/ASF-ui/dist ASF-ui/dist
@@ -42,7 +42,7 @@ RUN dotnet --info && \
dotnet publish ArchiSteamFarm -c "$CONFIGURATION" -f "$NET_CORE_VERSION" -o "out/result" -p:ASFVariant=docker -p:ContinuousIntegrationBuild=true -p:UseAppHost=false -r "$asf_variant" --nologo --no-self-contained && \
if [ -d "out/${STEAM_TOKEN_DUMPER_NAME}/${NET_CORE_VERSION}" ]; then mkdir -p "out/result/plugins/${STEAM_TOKEN_DUMPER_NAME}"; cp -pR "out/${STEAM_TOKEN_DUMPER_NAME}/${NET_CORE_VERSION}/"* "out/result/plugins/${STEAM_TOKEN_DUMPER_NAME}"; fi
-FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:6.0${IMAGESUFFIX} AS runtime
+FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:7.0${IMAGESUFFIX} AS runtime
ENV ASF_USER asf
ENV ASPNETCORE_URLS=
ENV DOTNET_CLI_TELEMETRY_OPTOUT true
diff --git a/Dockerfile.Service b/Dockerfile.Service
index 2393e8d1d..474414d6e 100644
--- a/Dockerfile.Service
+++ b/Dockerfile.Service
@@ -9,14 +9,14 @@ RUN echo "node: $(node --version)" && \
npm ci --no-progress && \
npm run deploy --no-progress
-FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:6.0${IMAGESUFFIX} AS build-dotnet
+FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0${IMAGESUFFIX} AS build-dotnet
ARG CONFIGURATION=Release
ARG STEAM_TOKEN_DUMPER_TOKEN
ARG TARGETARCH
ARG TARGETOS
ENV DOTNET_CLI_TELEMETRY_OPTOUT true
ENV DOTNET_NOLOGO true
-ENV NET_CORE_VERSION net6.0
+ENV NET_CORE_VERSION net7.0
ENV STEAM_TOKEN_DUMPER_NAME ArchiSteamFarm.OfficialPlugins.SteamTokenDumper
WORKDIR /app
COPY --from=build-node /app/ASF-ui/dist ASF-ui/dist
@@ -42,7 +42,7 @@ RUN dotnet --info && \
dotnet publish ArchiSteamFarm -c "$CONFIGURATION" -f "$NET_CORE_VERSION" -o "out/result" "-p:ASFVariant=${asf_variant}" -p:ContinuousIntegrationBuild=true -p:PublishSingleFile=true -p:PublishTrimmed=true -r "$asf_variant" --nologo --self-contained && \
if [ -d "out/${STEAM_TOKEN_DUMPER_NAME}/${NET_CORE_VERSION}" ]; then mkdir -p "out/result/plugins/${STEAM_TOKEN_DUMPER_NAME}"; cp -pR "out/${STEAM_TOKEN_DUMPER_NAME}/${NET_CORE_VERSION}/"* "out/result/plugins/${STEAM_TOKEN_DUMPER_NAME}"; fi
-FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/runtime-deps:6.0${IMAGESUFFIX} AS runtime
+FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/runtime-deps:7.0${IMAGESUFFIX} AS runtime
ENV ASF_USER asf
ENV ASPNETCORE_URLS=
ENV DOTNET_CLI_TELEMETRY_OPTOUT true
diff --git a/cc.sh b/cc.sh
index 7636d586a..9da4d0a8f 100755
--- a/cc.sh
+++ b/cc.sh
@@ -1,7 +1,7 @@
#!/usr/bin/env sh
set -eu
-TARGET_FRAMEWORK="net6.0"
+TARGET_FRAMEWORK="net7.0"
MAIN_PROJECT="ArchiSteamFarm"
STEAM_TOKEN_DUMPER_NAME="${MAIN_PROJECT}.OfficialPlugins.SteamTokenDumper"