name: Core validation on: push: branches: - main pull_request: branches: - main workflow_dispatch: permissions: contents: read concurrency: group: core-${{ gitea.workflow }}-${{ gitea.ref }} cancel-in-progress: true jobs: core: name: Linux core gate runs-on: ubuntu-latest timeout-minutes: 15 env: DOTNET_CLI_TELEMETRY_OPTOUT: "1" DOTNET_NOLOGO: "true" NUGET_XMLDOC_MODE: skip PYTHONUTF8: "1" steps: - name: Check out repository uses: actions/checkout@v4 with: persist-credentials: false - name: Set up Python 3.11 uses: actions/setup-python@v6 with: python-version: "3.11" architecture: x64 - name: Set up .NET SDK uses: actions/setup-dotnet@v4 with: global-json-file: global.json - name: Report toolchain run: | python --version dotnet --version - name: Run asset-independent validation run: python -X utf8 tools/validate.py --level core - name: Upload failure logs if: failure() uses: christopherhx/gitea-upload-artifact@v4 with: name: core-validation-${{ gitea.run_id }}-${{ gitea.run_attempt }} path: build/validation/** if-no-files-found: ignore retention-days: 7