Move all SPT base configuration into DI #983
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Format | |
| on: | |
| push: | |
| branches: | |
| - develop | |
| pull_request: | |
| branches-ignore: | |
| - main | |
| jobs: | |
| dotnet-format: | |
| if: "!contains(github.event.head_commit.message, 'Format Style Fixes')" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| token: ${{ secrets.BYPASS_WORKFLOW_PAT || github.token }} | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: 10.0 | |
| - name: Restore Tool Dependencies | |
| run: dotnet tool install -g csharpier | |
| - name: CSharpier Format | |
| run: csharpier format . | |
| - name: Check for Changes | |
| id: check-changes | |
| run: | | |
| if [[ -n $(git status --porcelain) ]]; then | |
| echo "changes=true" >> $GITHUB_OUTPUT | |
| else | |
| echo "changes=false" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Upload Changes as Artifact | |
| if: steps.check-changes.outputs.changes == 'true' && github.event_name != 'pull_request' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: dotnet-changes | |
| path: | | |
| **/*.cs | |
| **/*.csproj | |
| retention-days: 1 | |
| compression-level: 1 | |
| - name: Fail PR if Changes Detected | |
| if: steps.check-changes.outputs.changes == 'true' && github.event_name == 'pull_request' | |
| run: | | |
| echo "::error::Code formatting issues found. Please run 'csharpier format .' locally and push the changes to your PR branch. Read the 'README.md' file for more information." | |
| git status --porcelain | |
| exit 1 | |
| biome-format: | |
| if: "!contains(github.event.head_commit.message, 'Format Style Fixes')" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| token: ${{ secrets.BYPASS_WORKFLOW_PAT || github.token }} | |
| - name: Setup Biome | |
| uses: biomejs/setup-biome@v2 | |
| with: | |
| version: latest | |
| - name: Create Biome Config | |
| run: | | |
| cat > biome.json << 'EOF' | |
| { | |
| "vcs": { | |
| "enabled": true, | |
| "clientKind": "git", | |
| "useIgnoreFile": true | |
| }, | |
| "files": { | |
| "maxSize": 20971520, | |
| "includes": [ | |
| "**/*.json", | |
| "!**/looseLoot.json", | |
| "!**/items.json" | |
| ] | |
| }, | |
| "formatter": { | |
| "useEditorconfig": true | |
| }, | |
| "javascript": { | |
| "formatter": { | |
| "enabled": false | |
| } | |
| }, | |
| "json": { | |
| "formatter": { | |
| "enabled": true, | |
| "lineWidth": 120, | |
| "trailingCommas": "none", | |
| "bracketSpacing": true, | |
| "expand": "always" | |
| }, | |
| "parser": { | |
| "allowComments": true, | |
| "allowTrailingCommas": true | |
| }, | |
| "linter": { | |
| "enabled": false | |
| } | |
| } | |
| } | |
| EOF | |
| - name: Format JSON Files | |
| run: | | |
| biome format --write . || true | |
| - name: Remove Biome Config | |
| if: always() | |
| run: rm -f biome.json | |
| - name: Check for Changes | |
| id: check-changes | |
| run: | | |
| if [[ -n $(git status --porcelain) ]]; then | |
| echo "changes=true" >> $GITHUB_OUTPUT | |
| else | |
| echo "changes=false" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Upload Changes as Artifact | |
| if: steps.check-changes.outputs.changes == 'true' && github.event_name != 'pull_request' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: biome-changes | |
| path: | | |
| **/*.json | |
| retention-days: 1 | |
| compression-level: 1 | |
| - name: Fail PR if Changes Detected | |
| if: steps.check-changes.outputs.changes == 'true' && github.event_name == 'pull_request' | |
| run: | | |
| echo "::error::JSON formatting issues found. Please run BiomeJS locally to format your JSON files and push the changes to your PR branch." | |
| git status --porcelain | |
| exit 1 | |
| commit-changes: | |
| if: github.event_name != 'pull_request' && !contains(github.event.head_commit.message, 'Format Style Fixes') | |
| needs: [dotnet-format, biome-format] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| token: ${{ secrets.BYPASS_WORKFLOW_PAT || github.token }} | |
| - name: Download Dotnet Changes | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: dotnet-changes | |
| continue-on-error: true | |
| - name: Download Biome Changes | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: biome-changes | |
| continue-on-error: true | |
| - name: Check for Any Changes | |
| id: check-changes | |
| run: | | |
| if [[ -n $(git status --porcelain) ]]; then | |
| echo "changes=true" >> $GITHUB_OUTPUT | |
| else | |
| echo "changes=false" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Auto Commit Changes | |
| if: steps.check-changes.outputs.changes == 'true' | |
| uses: stefanzweifel/git-auto-commit-action@v6 | |
| with: | |
| commit_message: Format Style Fixes | |
| commit_user_name: sp-tarkov-bot | |
| commit_user_email: [email protected] | |
| commit_author: sp-tarkov-bot <[email protected]> |