diff --git a/.editorconfig b/.editorconfig index 3027499..067dc91 100644 --- a/.editorconfig +++ b/.editorconfig @@ -13,7 +13,7 @@ insert_final_newline = true [*.md] trim_trailing_whitespace = false -[*.{js,jsx,ts,tsx,json,jsonc}] +[*.{js,jsx,ts,tsx,json,jsonc,yaml}] indent_size = 2 [*.{cs}] diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml new file mode 100644 index 0000000..faf6cfc --- /dev/null +++ b/.github/actions/setup/action.yml @@ -0,0 +1,14 @@ +name: Setup +description: Setup Dependencies +runs: + using: "composite" + steps: + - name: Setup .NET Core + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.x" + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20.10.0" diff --git a/.github/workflows/master_mfl-freeagency.yml b/.github/workflows/deploy.yaml similarity index 63% rename from .github/workflows/master_mfl-freeagency.yml rename to .github/workflows/deploy.yaml index 0579d27..48e78cb 100644 --- a/.github/workflows/master_mfl-freeagency.yml +++ b/.github/workflows/deploy.yaml @@ -1,65 +1,60 @@ -# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy -# More GitHub Actions for Azure: https://github.com/Azure/actions - -name: Build and deploy ASP.Net Core app to Azure Web App - mfl-freeagency - -on: - push: - branches: - - master - workflow_dispatch: - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: Set up .NET Core - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '8.x' - - - name: Build with dotnet - run: dotnet build --configuration Release - - - name: dotnet publish - run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp - - - name: Upload artifact for deployment job - uses: actions/upload-artifact@v4 - with: - name: .net-app - path: ${{env.DOTNET_ROOT}}/myapp - - deploy: - runs-on: ubuntu-latest - needs: build - environment: - name: 'Production' - url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} +# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy +# More GitHub Actions for Azure: https://github.com/Azure/actions + +name: Build and deploy ASP.Net Core app to Azure Web App - mfl-freeagency + +on: + push: + branches: + - master + workflow_dispatch: + +jobs: + build: + name: Build + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup + uses: ./.github/actions/setup + + - name: Publish + run: dotnet publish --configuration Release --property OutputPath=${{ env.DOTNET_ROOT }}/mfl/ + + - name: Upload Build + uses: actions/upload-artifact@v4 + with: + name: mfl + path: ${{ env.DOTNET_ROOT }}/mfl/publish + + deploy: + runs-on: ubuntu-latest + needs: build + environment: + name: "production" + url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} permissions: id-token: write #This is required for requesting the JWT - - steps: - - name: Download artifact from build job - uses: actions/download-artifact@v4 - with: - name: .net-app - + + steps: + - name: Download Build + uses: actions/download-artifact@v4 + with: + name: mfl + - name: Login to Azure uses: azure/login@v2 with: client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_447CCD33623F44DBAB3AEF0552926F05 }} tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_104E1030154D42129619DD3C2F8BF6E4 }} subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_0C8A43A3D309461BBD85E2BD2A11E888 }} - - - name: Deploy to Azure Web App - id: deploy-to-webapp - uses: azure/webapps-deploy@v3 - with: - app-name: 'mfl-freeagency' - slot-name: 'Production' - package: . - \ No newline at end of file + + - name: Deploy to Azure + id: deploy-to-webapp + uses: azure/webapps-deploy@v3 + with: + app-name: "mfl-freeagency" + slot-name: "production" + package: . diff --git a/server/Hubs/FreeAgency/FreeAgencyHub.cs b/server/Hubs/FreeAgency/FreeAgencyHub.cs index 7ce3d30..7eb08d1 100644 --- a/server/Hubs/FreeAgency/FreeAgencyHub.cs +++ b/server/Hubs/FreeAgency/FreeAgencyHub.cs @@ -11,8 +11,8 @@ public class FreeAgencyHub : Hub { private static bool _isServerInitialized; private static readonly ConcurrentDictionary Connections = new(); - private static readonly HashSet OptOutIds = new(); - private static HashSet Teams = null!; + private static readonly HashSet OptOutIds = []; + private static HashSet Teams = []; private static LinkedList Players = null!; private static LinkedListNode _node = null!; private static readonly Queue Messages = new();