├── .github └── workflows │ ├── bflat-backport.yml │ ├── bflat-cicd.yml │ └── bflat-sync.yml └── README.md /.github/workflows/bflat-backport.yml: -------------------------------------------------------------------------------- 1 | name: Backport a commit 2 | on: 3 | workflow_dispatch: 4 | inputs: 5 | branch: 6 | description: 'Destination branch (ex: bflat-release/7.0)' 7 | required: true 8 | commit: 9 | description: 'Commit hash' 10 | required: true 11 | 12 | jobs: 13 | backport: 14 | if: ${{ github.actor == 'MichalStrehovsky' }} 15 | runs-on: ubuntu-latest 16 | steps: 17 | - name: Checkout repo 18 | uses: actions/checkout@v3 19 | with: 20 | ref: '${{ github.event.inputs.branch }}' 21 | fetch-depth: 0 22 | - name: Configure git 23 | run: | 24 | git config user.name "github-actions" 25 | git config user.email "github-actions@github.com" 26 | - name: Create branch 27 | run: git checkout -b backport-${{ github.event.inputs.branch }}-${{ github.event.inputs.commit }} 28 | - name: Cherry pick commit 29 | run: git cherry-pick ${{ github.event.inputs.commit }} 30 | - name: Push 31 | run: git push --force --set-upstream origin HEAD:backport-${{ github.event.inputs.branch }}-${{ github.event.inputs.commit }} 32 | - name: Create pull request 33 | uses: ./bflat/actions/pullrequest 34 | with: 35 | auth_token: ${{ secrets.GITHUB_TOKEN }} 36 | source_branch: backport-${{ github.event.inputs.branch }}-${{ github.event.inputs.commit }} 37 | target_branch: ${{ github.event.inputs.branch }} 38 | pr_title: '[${{ github.event.inputs.branch }}] Backport of ${{ github.event.inputs.commit }}' 39 | 40 | -------------------------------------------------------------------------------- /.github/workflows/bflat-cicd.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | pull_request: 5 | branches: [ bflat-main, bflat-release/7.0 ] 6 | 7 | workflow_dispatch: 8 | inputs: 9 | version: 10 | description: 'Encoded version (e.g. 7.0.0-preview.7.22375.6)' 11 | required: true 12 | buildid: 13 | description: 'Build ID (e.g. 20220725.6)' 14 | required: true 15 | 16 | jobs: 17 | build_and_test: 18 | strategy: 19 | matrix: 20 | include: 21 | - os: linux-glibc 22 | container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-20210719121212-8a8d3be 23 | arch: arm64 24 | vm: ubuntu-latest 25 | crossrootfs: /crossrootfs/arm64 26 | - os: linux-glibc 27 | container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-20210714125435-9b5bbc2 28 | arch: x64 29 | vm: ubuntu-latest 30 | components: clr.nativeaotlibs+clr.nativeaotruntime+clr.alljits+clr.tools+libs 31 | - os: linux-bionic 32 | container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-android-20220628174908-5789942 33 | arch: arm64 34 | extraArgs: /p:RuntimeOS=linux-bionic /p:OutputRid=linux-bionic-arm64 /p:CrossBuild=false /p:RuntimeFlavor=CoreCLR /p:TestNativeAot=true 35 | vm: ubuntu-latest 36 | components: clr.nativeaotlibs+clr.nativeaotruntime+libs 37 | - os: windows 38 | arch: x64 39 | vm: windows-latest 40 | - os: windows 41 | arch: arm64 42 | vm: windows-latest 43 | runs-on: ${{ matrix.vm }} 44 | name: Build and test ${{ matrix.os }} ${{ matrix.arch }} 45 | container: ${{ matrix.container }} 46 | steps: 47 | - uses: actions/checkout@v1 48 | 49 | - name: Build the product (Linux) 50 | env: 51 | TARGET_BUILD_ARCH: ${{ matrix.arch }} 52 | run: ./build.sh ${{ matrix.components }} -c Release -arch ${{ matrix.arch }} -ci /p:OfficialBuildId="${{ github.event.inputs.buildid }}" /p:GenerateDocumentationFile=false ${{ matrix.extraArgs }} 53 | if: ${{ matrix.vm == 'ubuntu-latest' && matrix.crossrootfs == '' }} 54 | - name: Build the product (Linux cross) 55 | env: 56 | ROOTFS_DIR: ${{ matrix.crossrootfs }} 57 | run: ./build.sh clr.nativeaotlibs+clr.nativeaotruntime+clr.alljits+clr.tools+libs -c Release -arch ${{ matrix.arch }} /p:CrossBuild=true -ci /p:GenerateDocumentationFile=false /p:OfficialBuildId="${{ github.event.inputs.buildid }}" 58 | if: ${{ matrix.vm == 'ubuntu-latest' && matrix.crossrootfs != '' }} 59 | - name: Build the product (Windows) 60 | shell: cmd 61 | run: build.cmd clr.nativeaotlibs+clr.nativeaotruntime+clr.alljits+clr.tools+libs -c Release -arch ${{ matrix.arch }} -ci /p:OfficialBuildId="${{ github.event.inputs.buildid }}" /p:GenerateDocumentationFile=false 62 | if: ${{ matrix.vm == 'windows-latest' }} 63 | 64 | - name: Package compiler 65 | if: ${{ matrix.os == 'linux-glibc' && matrix.arch == 'x64' && github.event.inputs.version != '' }} 66 | run: ./dotnet.sh pack bflat/pack/ILCompiler.Compiler.nuproj -p:Version=${{ github.event.inputs.version }} -p:IntermediateOutputPath=$GITHUB_WORKSPACE/artifacts/bin/coreclr/Linux.x64.Release/ilc/ -p:RepositoryUrl=https://github.com/bflattened/runtime 67 | 68 | - name: Archive compiler package 69 | if: ${{ matrix.os == 'linux-glibc' && matrix.arch == 'x64' && github.event.inputs.version != '' }} 70 | uses: actions/upload-artifact@v2 71 | with: 72 | name: nuget 73 | path: bflat/pack/bin/Debug/BFlat.Compiler.${{ github.event.inputs.version }}.nupkg 74 | 75 | - name: ZIP native compiler (Linux) 76 | run: | 77 | mkdir artifacts/bflat-compiler-native 78 | cp -t artifacts/bflat-compiler-native artifacts/bin/coreclr/Linux.${{ matrix.arch }}.Release/ilc/libclrjit_* artifacts/bin/coreclr/Linux.${{ matrix.arch }}.Release/ilc/libjitinterface_* artifacts/bin/coreclr/Linux.${{ matrix.arch }}.Release/ilc/libobjwriter* 79 | cp -t artifacts/bflat-compiler-native THIRD-PARTY-NOTICES.TXT artifacts/bin/coreclr/Linux.${{ matrix.arch }}.Release/build/WindowsAPIs.txt 80 | zip -jr artifacts/bflat-compiler-native-${{ matrix.os }}-${{ matrix.arch }}.zip artifacts/bflat-compiler-native 81 | if: ${{ matrix.vm == 'ubuntu-latest' && matrix.os != 'linux-bionic' }} 82 | - name: ZIP native compiler (Windows) 83 | run: | 84 | mkdir artifacts\bflat-compiler-native 85 | copy artifacts\bin\coreclr\Windows.${{ matrix.arch }}.Release\ilc\clrjit_* artifacts\bflat-compiler-native\ 86 | copy artifacts\bin\coreclr\Windows.${{ matrix.arch }}.Release\ilc\jitinterface_* artifacts\bflat-compiler-native\ 87 | copy artifacts\bin\coreclr\Windows.${{ matrix.arch }}.Release\ilc\objwriter* artifacts\bflat-compiler-native\ 88 | copy THIRD-PARTY-NOTICES.TXT artifacts\bflat-compiler-native\ 89 | copy artifacts\bin\coreclr\Windows.${{ matrix.arch }}.Release\build\WindowsAPIs.txt artifacts\bflat-compiler-native\ 90 | pushd artifacts\bflat-compiler-native\ 91 | Compress-Archive * $Env:GITHUB_WORKSPACE\artifacts\bflat-compiler-native-${{ matrix.os }}-${{ matrix.arch }}.zip 92 | popd 93 | if: ${{ matrix.vm == 'windows-latest' }} 94 | 95 | - name: Archive native compiler artifacts 96 | uses: actions/upload-artifact@v2 97 | with: 98 | name: native-compiler 99 | path: artifacts/bflat-compiler-native-${{ matrix.os }}-${{ matrix.arch }}.zip 100 | if: ${{ matrix.os != 'linux-bionic' }} 101 | 102 | - name: ZIP libs (Bionic) 103 | run: | 104 | mkdir artifacts/bflat-libs 105 | cp -t artifacts/bflat-libs artifacts/bin/microsoft.netcore.app.runtime.linux-bionic-${{ matrix.arch }}/Release/runtimes/linux-bionic-${{ matrix.arch }}/lib/net7.0/* 106 | cp -t artifacts/bflat-libs artifacts/bin/microsoft.netcore.app.runtime.linux-bionic-${{ matrix.arch }}/Release/runtimes/linux-bionic-${{ matrix.arch }}/native/*.Native.*a 107 | cp -t artifacts/bflat-libs artifacts/bin/coreclr/Linux.${{ matrix.arch }}.Release/aotsdk/* 108 | cp -t artifacts/bflat-libs artifacts/bin/coreclr/linux-bionic.${{ matrix.arch }}.Release/aotsdk/* 109 | zip -jr artifacts/bflat-libs-${{ matrix.os }}-${{ matrix.arch }}.zip artifacts/bflat-libs 110 | if: ${{ matrix.os == 'linux-bionic' }} 111 | - name: ZIP libs (Linux) 112 | run: | 113 | mkdir artifacts/bflat-libs 114 | cp -t artifacts/bflat-libs artifacts/bin/microsoft.netcore.app.runtime.linux-${{ matrix.arch }}/Release/runtimes/linux-${{ matrix.arch }}/lib/net7.0/* 115 | cp -t artifacts/bflat-libs artifacts/bin/microsoft.netcore.app.runtime.linux-${{ matrix.arch }}/Release/runtimes/linux-${{ matrix.arch }}/native/*.Native.*a 116 | cp -t artifacts/bflat-libs artifacts/bin/coreclr/Linux.${{ matrix.arch }}.Release/aotsdk/* 117 | zip -jr artifacts/bflat-libs-${{ matrix.os }}-${{ matrix.arch }}.zip artifacts/bflat-libs 118 | if: ${{ matrix.vm == 'ubuntu-latest' && matrix.os != 'linux-bionic' }} 119 | - name: ZIP libs (Windows) 120 | run: | 121 | mkdir artifacts\bflat-libs 122 | copy artifacts\bin\microsoft.netcore.app.runtime.win-${{ matrix.arch }}\Release\runtimes\win-${{ matrix.arch }}\lib\net7.0\* artifacts\bflat-libs\ 123 | copy artifacts\bin\coreclr\Windows.${{ matrix.arch }}.Release\aotsdk\* artifacts\bflat-libs\ 124 | pushd artifacts\bflat-libs\ 125 | Compress-Archive * $Env:GITHUB_WORKSPACE\artifacts\bflat-libs-${{ matrix.os }}-${{ matrix.arch }}.zip 126 | popd 127 | if: ${{ matrix.vm == 'windows-latest' }} 128 | 129 | - name: Archive libs 130 | uses: actions/upload-artifact@v2 131 | with: 132 | name: libs 133 | path: artifacts/bflat-libs-${{ matrix.os }}-${{ matrix.arch }}.zip 134 | 135 | - name: ZIP refs 136 | if: ${{ matrix.os == 'linux-glibc' && matrix.arch == 'x64' }} 137 | run: | 138 | mkdir artifacts/bflat-refs 139 | cp -t artifacts/bflat-refs artifacts/bin/microsoft.netcore.app.ref/ref/net7.0/*.dll 140 | zip -jr artifacts/bflat-refs.zip artifacts/bflat-refs 141 | 142 | - name: Archive refs 143 | if: ${{ matrix.os == 'linux-glibc' && matrix.arch == 'x64' }} 144 | uses: actions/upload-artifact@v2 145 | with: 146 | name: refs 147 | path: artifacts/bflat-refs.zip 148 | 149 | - name: Free up disk space for test run (Windows) 150 | shell: cmd 151 | run: | 152 | rmdir /S /Q artifacts\bflat-libs 153 | rmdir /S /Q artifacts\bflat-compiler-native 154 | rmdir /S /Q artifacts\obj\coreclr 155 | rmdir /S /Q artifacts\llvm-project 156 | del artifacts\bflat-libs-${{ matrix.os }}-${{ matrix.arch }}.zip 157 | del artifacts\bflat-compiler-native-${{ matrix.os }}-${{ matrix.arch }}.zip 158 | if: ${{ matrix.vm == 'windows-latest' && github.event.inputs.version == '' }} 159 | 160 | - name: Build tests (Linux) 161 | run: ./src/tests/build.sh nativeaot release ${{ matrix.arch }} 'tree nativeaot' 162 | if: ${{ matrix.vm == 'ubuntu-latest' && github.event.inputs.version == '' && matrix.arch != 'arm64' }} 163 | - name: Build tests (Windows) 164 | shell: cmd 165 | run: src\tests\build.cmd nativeaot release ${{ matrix.arch }} tree nativeaot 166 | if: ${{ matrix.vm == 'windows-latest' && github.event.inputs.version == '' && matrix.arch != 'arm64' }} 167 | 168 | - name: Run tests (Linux) 169 | run: ./src/tests/run.sh --runnativeaottests release ${{ matrix.arch }} 170 | if: ${{ matrix.vm == 'ubuntu-latest' && github.event.inputs.version == '' && matrix.arch != 'arm64' }} 171 | - name: Run tests (Windows) 172 | shell: cmd 173 | run: src\tests\run.cmd runnativeaottests release ${{ matrix.arch }} 174 | if: ${{ matrix.vm == 'windows-latest' && github.event.inputs.version == '' && matrix.arch != 'arm64' }} 175 | 176 | publish: 177 | needs: build_and_test 178 | runs-on: ubuntu-latest 179 | name: Publish release and NuGet 180 | if: ${{ github.event.inputs.version != '' && github.actor == 'MichalStrehovsky' }} 181 | steps: 182 | - name: Checkout repo 183 | uses: actions/checkout@v2 184 | 185 | - name: Create tag 186 | run: | 187 | git tag v${{ github.event.inputs.version }} 188 | git push origin v${{ github.event.inputs.version }} 189 | 190 | - name: Download all artifacts 191 | uses: actions/download-artifact@v2 192 | 193 | - name: Publish compiler package 194 | run: ./dotnet.sh nuget push nuget/BFlat.Compiler.${{ github.event.inputs.version }}.nupkg -s https://nuget.pkg.github.com/bflattened/index.json --api-key ${{ secrets.GITHUB_TOKEN }} 195 | 196 | - name: Create Release 197 | id: create_release 198 | uses: actions/create-release@v1 199 | env: 200 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 201 | with: 202 | tag_name: v${{ github.event.inputs.version }} 203 | release_name: v${{ github.event.inputs.version }} 204 | draft: false 205 | prerelease: false 206 | 207 | - name: Upload refs 208 | uses: actions/upload-release-asset@v1 209 | env: 210 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 211 | with: 212 | upload_url: ${{ steps.create_release.outputs.upload_url }} 213 | asset_path: refs/bflat-refs.zip 214 | asset_name: bflat-refs.zip 215 | asset_content_type: application/zip 216 | 217 | - name: Upload native compiler (windows-x64) 218 | uses: actions/upload-release-asset@v1 219 | env: 220 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 221 | with: 222 | upload_url: ${{ steps.create_release.outputs.upload_url }} 223 | asset_path: native-compiler/bflat-compiler-native-windows-x64.zip 224 | asset_name: bflat-compiler-native-windows-x64.zip 225 | asset_content_type: application/zip 226 | 227 | - name: Upload native compiler (linux-glibc-x64) 228 | uses: actions/upload-release-asset@v1 229 | env: 230 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 231 | with: 232 | upload_url: ${{ steps.create_release.outputs.upload_url }} 233 | asset_path: native-compiler/bflat-compiler-native-linux-glibc-x64.zip 234 | asset_name: bflat-compiler-native-linux-glibc-x64.zip 235 | asset_content_type: application/zip 236 | 237 | - name: Upload libs (windows-x64) 238 | uses: actions/upload-release-asset@v1 239 | env: 240 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 241 | with: 242 | upload_url: ${{ steps.create_release.outputs.upload_url }} 243 | asset_path: libs/bflat-libs-windows-x64.zip 244 | asset_name: bflat-libs-windows-x64.zip 245 | asset_content_type: application/zip 246 | 247 | - name: Upload libs (linux-glibc-x64) 248 | uses: actions/upload-release-asset@v1 249 | env: 250 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 251 | with: 252 | upload_url: ${{ steps.create_release.outputs.upload_url }} 253 | asset_path: libs/bflat-libs-linux-glibc-x64.zip 254 | asset_name: bflat-libs-linux-glibc-x64.zip 255 | asset_content_type: application/zip 256 | 257 | - name: Upload native compiler (windows-arm64) 258 | uses: actions/upload-release-asset@v1 259 | env: 260 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 261 | with: 262 | upload_url: ${{ steps.create_release.outputs.upload_url }} 263 | asset_path: native-compiler/bflat-compiler-native-windows-arm64.zip 264 | asset_name: bflat-compiler-native-windows-arm64.zip 265 | asset_content_type: application/zip 266 | 267 | - name: Upload native compiler (linux-glibc-arm64) 268 | uses: actions/upload-release-asset@v1 269 | env: 270 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 271 | with: 272 | upload_url: ${{ steps.create_release.outputs.upload_url }} 273 | asset_path: native-compiler/bflat-compiler-native-linux-glibc-arm64.zip 274 | asset_name: bflat-compiler-native-linux-glibc-arm64.zip 275 | asset_content_type: application/zip 276 | 277 | - name: Upload libs (windows-arm64) 278 | uses: actions/upload-release-asset@v1 279 | env: 280 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 281 | with: 282 | upload_url: ${{ steps.create_release.outputs.upload_url }} 283 | asset_path: libs/bflat-libs-windows-arm64.zip 284 | asset_name: bflat-libs-windows-arm64.zip 285 | asset_content_type: application/zip 286 | 287 | - name: Upload libs (linux-glibc-arm64) 288 | uses: actions/upload-release-asset@v1 289 | env: 290 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 291 | with: 292 | upload_url: ${{ steps.create_release.outputs.upload_url }} 293 | asset_path: libs/bflat-libs-linux-glibc-arm64.zip 294 | asset_name: bflat-libs-linux-glibc-arm64.zip 295 | asset_content_type: application/zip 296 | 297 | - name: Upload libs (linux-bionic-arm64) 298 | uses: actions/upload-release-asset@v1 299 | env: 300 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 301 | with: 302 | upload_url: ${{ steps.create_release.outputs.upload_url }} 303 | asset_path: libs/bflat-libs-linux-bionic-arm64.zip 304 | asset_name: bflat-libs-linux-bionic-arm64.zip 305 | asset_content_type: application/zip 306 | -------------------------------------------------------------------------------- /.github/workflows/bflat-sync.yml: -------------------------------------------------------------------------------- 1 | name: Sync from dotnet/runtime repo 2 | on: 3 | workflow_dispatch: 4 | inputs: 5 | branch: 6 | description: 'Branch (ex: main, release/7.0)' 7 | required: true 8 | 9 | jobs: 10 | sync: 11 | if: ${{ github.actor == 'MichalStrehovsky' }} 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Checkout repo 15 | uses: actions/checkout@v2 16 | with: 17 | fetch-depth: 0 18 | - name: Configure git 19 | run: | 20 | git config user.name "github-actions" 21 | git config user.email "github-actions@github.com" 22 | git remote add dotnet https://github.com/dotnet/runtime.git 23 | - name: Create branch 24 | run: git checkout -b merge-${{ github.event.inputs.branch }} 25 | - name: Merge from dotnet 26 | run: git pull --ff dotnet ${{ github.event.inputs.branch }} 27 | - name: Move any unrelated files under .github 28 | run: | 29 | rsync -rv --include '*/' --exclude 'workflows/bflat*' --remove-source-files .github/ .gh-original/ 30 | git add \* 31 | git diff-index --quiet HEAD || something_moved=$? 32 | if [ -n "$something_moved" ] 33 | then 34 | echo Got new files we need to move 35 | git commit -m "Move added files" 36 | fi 37 | - name: Check if branch already exists 38 | continue-on-error: true 39 | id: branch_exists 40 | run: git ls-remote --exit-code --heads origin merge-${{ github.event.inputs.branch }} 41 | - name: Push 42 | run: git push --force --set-upstream origin HEAD:merge-${{ github.event.inputs.branch }} 43 | - name: Create pull request 44 | if: steps.branch_exists.outcome != 'success' 45 | uses: ./bflat/actions/pullrequest 46 | with: 47 | auth_token: ${{ secrets.GITHUB_TOKEN }} 48 | source_branch: merge-${{ github.event.inputs.branch }} 49 | target_branch: bflat-${{ github.event.inputs.branch }} 50 | pr_title: '[${{ github.event.inputs.branch }}] Merge from dotnet/runtime' 51 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # bflat Runtime and AOT Compiler 2 | 3 | This repo is a fork of the [dotnet/runtime](https://github.com/dotnet/runtime) repo with customizations for the [bflattened/bflat](https://github.com/bflattened/bflat) project. The repo is mostly run by bots that pick up latest changes from the dotnet/runtime repo and generate build artifacts for consumption in the bflat repo. 4 | 5 | Upstreaming changes to dotnet/runtime is strongly preferred to making changes in this repo. 6 | 7 |
8 | Click this to see the original repo README.md 9 | 10 | # .NET Runtime 11 | [![Build Status](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/runtime/runtime?branchName=main)](https://dnceng.visualstudio.com/public/_build/latest?definitionId=686&branchName=main) 12 | [![Help Wanted](https://img.shields.io/github/issues/dotnet/runtime/help%20wanted?style=flat-square&color=%232EA043&label=help%20wanted)](https://github.com/dotnet/runtime/labels/help%20wanted) 13 | [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dotnet/runtime) 14 | [![Discord](https://img.shields.io/discord/732297728826277939?style=flat-square&label=Discord&logo=discord&logoColor=white&color=7289DA)](https://aka.ms/dotnet-discord) 15 | 16 | This repo contains the code to build the .NET runtime, libraries and shared host (`dotnet`) installers for 17 | all supported platforms, as well as the sources to .NET runtime and libraries. 18 | 19 | ## What is .NET? 20 | 21 | Official Starting Page: https://dotnet.microsoft.com 22 | 23 | * [How to use .NET](https://docs.microsoft.com/dotnet/core/get-started) (with VS, VS Code, command-line CLI) 24 | * [Install official releases](https://dotnet.microsoft.com/download) 25 | * [Install daily builds](docs/project/dogfooding.md) 26 | * [Documentation](https://docs.microsoft.com/dotnet/core) (Get Started, Tutorials, Porting from .NET Framework, API reference, ...) 27 | * [Deploying apps](https://docs.microsoft.com/dotnet/core/deploying) 28 | * [Supported OS versions](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md) 29 | * [Roadmap](https://github.com/dotnet/core/blob/main/roadmap.md) 30 | * [Releases](https://github.com/dotnet/core/tree/main/release-notes) 31 | 32 | ## How can I contribute? 33 | 34 | We welcome contributions! Many people all over the world have helped make this project better. 35 | 36 | * [Contributing](CONTRIBUTING.md) explains what kinds of contributions we welcome 37 | - [Workflow Instructions](docs/workflow/README.md) explains how to build and test 38 | * [Get Up and Running on .NET Core](docs/project/dogfooding.md) explains how to get nightly builds of the runtime and its libraries to test them in your own projects. 39 | 40 | ## Reporting security issues and security bugs 41 | 42 | Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) . You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the [Security TechCenter](https://www.microsoft.com/msrc/faqs-report-an-issue). 43 | 44 | Also see info about related [Microsoft .NET Core and ASP.NET Core Bug Bounty Program](https://www.microsoft.com/msrc/bounty-dot-net-core). 45 | 46 | ## Filing issues 47 | 48 | This repo should contain issues that are tied to the runtime, the class libraries and frameworks, the installation of the `dotnet` binary (sometimes known as the `muxer`) and installation of the .NET runtime and libraries. 49 | 50 | For other issues, please use the following repos: 51 | 52 | - For overall .NET SDK issues, file in the [dotnet/sdk](https://github.com/dotnet/sdk) repo 53 | - For ASP.NET issues, file in the [dotnet/aspnetcore](https://github.com/dotnet/aspnetcore) repo. 54 | 55 | ## Useful Links 56 | 57 | * [.NET Core source index](https://source.dot.net) / [.NET Framework source index](https://referencesource.microsoft.com) 58 | * [API Reference docs](https://docs.microsoft.com/dotnet/api) 59 | * [.NET API Catalog](https://apisof.net) (incl. APIs from daily builds and API usage info) 60 | * [API docs writing guidelines](https://github.com/dotnet/dotnet-api-docs/wiki) - useful when writing /// comments 61 | * [.NET Discord Server](https://aka.ms/dotnet-discord) - a place to discuss the development of .NET and its ecosystem 62 | 63 | ## .NET Foundation 64 | 65 | .NET Runtime is a [.NET Foundation](https://www.dotnetfoundation.org/projects) project. 66 | 67 | There are many .NET related projects on GitHub. 68 | 69 | - [.NET home repo](https://github.com/Microsoft/dotnet) - links to 100s of .NET projects, from Microsoft and the community. 70 | - [ASP.NET Core home](https://docs.microsoft.com/aspnet/core) - the best place to start learning about ASP.NET Core. 71 | 72 | This project has adopted the code of conduct defined by the [Contributor Covenant](https://contributor-covenant.org) to clarify expected behavior in our community. For more information, see the [.NET Foundation Code of Conduct](https://www.dotnetfoundation.org/code-of-conduct). 73 | 74 | General .NET OSS discussions: [.NET Foundation Discussions](https://github.com/dotnet-foundation/Home/discussions) 75 | 76 | ## License 77 | 78 | .NET (including the runtime repo) is licensed under the [MIT](LICENSE.TXT) license. 79 |
80 | --------------------------------------------------------------------------------