diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml new file mode 100644 index 000000000..af0bf9302 --- /dev/null +++ b/.github/workflows/build-docs.yml @@ -0,0 +1,23 @@ +name: Docs Only Build + +on: + workflow_dispatch: + +jobs: + build-docs: + name: Build Docs + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Build Documentation + uses: nikeee/docfx-action@v1.0.0 + with: + args: docfx_project/docfx.json + +# - name: Deploy to GitHub Pages +# uses: peaceiris/actions-gh-pages@v3 +# with: +# github_token: ${{ secrets.GITHUB_TOKEN }} +# publish_dir: ./docs diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml new file mode 100644 index 000000000..e25a1c8a4 --- /dev/null +++ b/.github/workflows/link-check.yml @@ -0,0 +1,14 @@ +name: Check Markdown links + +on: + workflow_dispatch: + +jobs: + markdown-link-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: gaurav-nelson/github-action-markdown-link-check@v1 + with: + use-quiet-mode: 'yes' + config-file: 'mlc_config.json' diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6b08a542f..9968346a8 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -120,115 +120,12 @@ steps: name: BuildOptions displayName: Get commit details -# clone class libs repos -# fetch only the last 100 commits to be (reasonaly) sure that we have the history up to the last tag +# clone all repos with the default branch. +# fetch only the last 10 commits to be (reasonaly) sure that we have the history up to the last tag - powershell: | - git clone https://github.com/nanoframework/CoreLibrary.git --recursive --depth 100 -b main CoreLibrary - - git clone https://github.com/nanoframework/nanoFramework.Device.Can.git --depth 100 -b main nanoFramework.Device.Can - - git clone https://github.com/nanoframework/nanoFramework.Device.OneWire.git --depth 100 -b main nanoFramework.Device.OneWire - - git clone https://github.com/nanoframework/nanoFramework.Runtime.Events.git --depth 100 -b main nanoFramework.Runtime.Events - - git clone https://github.com/nanoframework/nanoFramework.Runtime.Native.git --depth 100 -b main nanoFramework.Runtime.Native - - git clone https://github.com/nanoframework/nanoFramework.WebServer -b main nanoFramework.WebServer - - git clone https://github.com/nanoframework/nanoFramework.DependencyInjection -b main nanoFramework.DependencyInjection - - git clone https://github.com/nanoframework/nanoFramework.Hosting -b main nanoFramework.Hosting - - git clone https://github.com/nanoframework/System.Device.Dac.git --depth 100 -b main System.Device.Dac - - git clone https://github.com/nanoframework/System.Device.Gpio.git --depth 100 -b main System.Device.Gpio - - git clone https://github.com/nanoframework/Windows.Devices.Gpio.git --depth 100 -b main Windows.Devices.Gpio - - git clone https://github.com/nanoframework/Windows.Devices.I2c.git --depth 100 -b main Windows.Devices.I2c - - git clone https://github.com/nanoframework/System.Device.I2c.git --depth 100 -b main System.Device.I2c - - git clone https://github.com/nanoframework/System.Device.I2s.git --depth 100 -b main System.Device.I2s - - git clone https://github.com/nanoframework/System.IO.FileSystem.git --depth 100 -b main System.IO.FileSystem - - git clone https://github.com/nanoframework/System.IO.Streams.git --depth 100 -b main System.IO.Streams - - git clone https://github.com/nanoframework/System.Runtime.Serialization.git --depth 100 -b main System.Runtime.Serialization - - git clone https://github.com/nanoframework/Windows.Devices.Pwm.git --depth 100 -b main Windows.Devices.Pwm - - git clone https://github.com/nanoframework/System.Device.Pwm.git --depth 100 -b main System.Device.Pwm - - git clone https://github.com/nanoframework/Windows.Devices.SerialCommunication.git -b main Windows.Devices.SerialCommunication - - git clone https://github.com/nanoframework/Windows.Devices.Spi.git --depth 100 -b main Windows.Devices.Spi - - git clone https://github.com/nanoframework/System.Device.Spi.git --depth 100 -b main System.Device.Spi - - git clone https://github.com/nanoframework/Windows.Storage.git --depth 100 -b main Windows.Storage - - git clone https://github.com/nanoframework/Windows.Storage.Streams.git --depth 100 -b main Windows.Storage.Streams - - git clone https://github.com/nanoframework/Windows.Devices.Adc.git --depth 100 -b main Windows.Devices.Adc - - git clone https://github.com/nanoframework/System.Device.Adc.git --depth 100 -b main System.Device.Adc - - git clone https://github.com/nanoframework/System.Device.WiFi.git --depth 100 -b main System.Device.WiFi - - git clone https://github.com/nanoframework/nanoFramework.Benchmark -b main nanoFramework.Benchmark - - git clone https://github.com/nanoframework/nanoFramework.Graphics -b main nanoFramework.Graphics - - git clone https://github.com/nanoframework/nanoFramework.Hardware.Esp32 -b main nanoFramework.Hardware.Esp32 - - git clone https://github.com/nanoframework/nanoFramework.Hardware.Esp32.Rmt -b main nanoFramework.Hardware.Esp32.Rmt - - git clone https://github.com/nanoframework/nanoFramework.Json -b main nanoFramework.Json - - git clone https://github.com/nanoframework/nanoFramework.Hardware.Stm32 -b main nanoFramework.Hardware.Stm32 - - git clone https://github.com/nanoframework/nanoFramework.ResourceManager -b main nanoFramework.ResourceManager - - git clone https://github.com/nanoframework/nanoFramework.Networking.Sntp -b main nanoFramework.Networking.Sntp - - git clone https://github.com/nanoframework/System.Collections -b main System.Collections - - git clone https://github.com/nanoframework/System.Text -b main System.Text - - git clone https://github.com/nanoframework/System.Net -b main System.Net - - git clone https://github.com/nanoframework/System.Net.Http -b main System.Net.Http - - git clone https://github.com/nanoframework/System.Net.WebSockets -b main System.Net.WebSockets - - git clone https://github.com/nanoframework/nanoFramework.TI.EasyLink -b main nanoFramework.TI.EasyLink - - git clone https://github.com/nanoframework/nanoFramework.Hardware.TI -b main nanoFramework.Hardware.TI - - git clone https://github.com/nanoframework/System.Math -b main System.Math - - git clone https://github.com/nanoframework/nanoFramework.Logging -b main nanoFramework.Logging - - git clone https://github.com/nanoframework/System.IO.Ports.git --depth 100 -b main System.IO.Ports - - git clone https://github.com/nanoframework/nanoFramework.m2mqtt.git --depth 100 -b main nanoFramework.M2Mqtt - - git clone https://github.com/nanoframework/System.Text.RegularExpressions.git --depth 100 -b main System.Text.RegularExpressions - - git clone https://github.com/nanoframework/nanoFramework.Azure.Devices.git -b main nanoFramework.Azure.Devices - - git clone https://github.com/nanoframework/nanoFramework.Aws.IoTCore.Devices.git -b main nanoFramework.Aws.IoTCore.Devices - - git clone https://github.com/nanoframework/nanoFramework.SignalR.Client.git -b main nanoFramework.SignalR.Client - - git clone https://github.com/nanoframework/System.Net.Sockets.TcpClient.git -b main System.Net.Sockets.TcpClient - - git clone https://github.com/nanoframework/System.Net.Sockets.UdpClient.git -b main System.Net.Sockets.UdpClient - - git clone https://github.com/nanoframework/nanoFramework.IoT.Device.git -b develop nanoFramework.IoT.Device - + gh repo list nanoframework --limit 1000 | while read -r repo _; do + gh repo clone "$repo" "$repo" --depth 10 + done displayName: Clone repos of class libs condition: >- or( @@ -237,6 +134,123 @@ steps: eq(variables['BuildOptions.BUILD_ALL'], 'true') ) +# clone class libs repos +# fetch only the last 100 commits to be (reasonaly) sure that we have the history up to the last tag +#- powershell: | +# git clone https://github.com/nanoframework/CoreLibrary.git --recursive --depth 100 -b main CoreLibrary +# +# git clone https://github.com/nanoframework/nanoFramework.Device.Can.git --depth 100 -b main nanoFramework.Device.Can +# +# git clone https://github.com/nanoframework/nanoFramework.Device.OneWire.git --depth 100 -b main nanoFramework.Device.OneWire +# +# git clone https://github.com/nanoframework/nanoFramework.Runtime.Events.git --depth 100 -b main nanoFramework.Runtime.Events +# +# git clone https://github.com/nanoframework/nanoFramework.Runtime.Native.git --depth 100 -b main nanoFramework.Runtime.Native +# +# git clone https://github.com/nanoframework/nanoFramework.WebServer -b main nanoFramework.WebServer +# +# git clone https://github.com/nanoframework/nanoFramework.DependencyInjection -b main nanoFramework.DependencyInjection +# +# git clone https://github.com/nanoframework/nanoFramework.Hosting -b main nanoFramework.Hosting +# +# git clone https://github.com/nanoframework/System.Device.Dac.git --depth 100 -b main System.Device.Dac +# +# git clone https://github.com/nanoframework/System.Device.Gpio.git --depth 100 -b main System.Device.Gpio +# +# git clone https://github.com/nanoframework/Windows.Devices.Gpio.git --depth 100 -b main Windows.Devices.Gpio +# +# git clone https://github.com/nanoframework/Windows.Devices.I2c.git --depth 100 -b main Windows.Devices.I2c +# +# git clone https://github.com/nanoframework/System.Device.I2c.git --depth 100 -b main System.Device.I2c +# +# git clone https://github.com/nanoframework/System.Device.I2s.git --depth 100 -b main System.Device.I2s +# +# git clone https://github.com/nanoframework/System.IO.FileSystem.git --depth 100 -b main System.IO.FileSystem +# +# git clone https://github.com/nanoframework/System.IO.Streams.git --depth 100 -b main System.IO.Streams +# +# git clone https://github.com/nanoframework/System.Runtime.Serialization.git --depth 100 -b main System.Runtime.Serialization +# +# git clone https://github.com/nanoframework/Windows.Devices.Pwm.git --depth 100 -b main Windows.Devices.Pwm +# +# git clone https://github.com/nanoframework/System.Device.Pwm.git --depth 100 -b main System.Device.Pwm +# +# git clone https://github.com/nanoframework/Windows.Devices.SerialCommunication.git -b main Windows.Devices.SerialCommunication +# +# git clone https://github.com/nanoframework/Windows.Devices.Spi.git --depth 100 -b main Windows.Devices.Spi +# +# git clone https://github.com/nanoframework/System.Device.Spi.git --depth 100 -b main System.Device.Spi +# +# git clone https://github.com/nanoframework/Windows.Storage.git --depth 100 -b main Windows.Storage +# +# git clone https://github.com/nanoframework/Windows.Storage.Streams.git --depth 100 -b main Windows.Storage.Streams +# +# git clone https://github.com/nanoframework/Windows.Devices.Adc.git --depth 100 -b main Windows.Devices.Adc +# +# git clone https://github.com/nanoframework/System.Device.Adc.git --depth 100 -b main System.Device.Adc +# +# git clone https://github.com/nanoframework/System.Device.WiFi.git --depth 100 -b main System.Device.WiFi +# +# git clone https://github.com/nanoframework/nanoFramework.Benchmark -b main nanoFramework.Benchmark +# +# git clone https://github.com/nanoframework/nanoFramework.Graphics -b main nanoFramework.Graphics +# +# git clone https://github.com/nanoframework/nanoFramework.Hardware.Esp32 -b main nanoFramework.Hardware.Esp32 +# +# git clone https://github.com/nanoframework/nanoFramework.Hardware.Esp32.Rmt -b main nanoFramework.Hardware.Esp32.Rmt +# +# git clone https://github.com/nanoframework/nanoFramework.Json -b main nanoFramework.Json +# +# git clone https://github.com/nanoframework/nanoFramework.Hardware.Stm32 -b main nanoFramework.Hardware.Stm32 +# +# git clone https://github.com/nanoframework/nanoFramework.ResourceManager -b main nanoFramework.ResourceManager +# +# git clone https://github.com/nanoframework/nanoFramework.Networking.Sntp -b main nanoFramework.Networking.Sntp +# +# git clone https://github.com/nanoframework/System.Collections -b main System.Collections +# +# git clone https://github.com/nanoframework/System.Text -b main System.Text +# +# git clone https://github.com/nanoframework/System.Net -b main System.Net +# +# git clone https://github.com/nanoframework/System.Net.Http -b main System.Net.Http +# +# git clone https://github.com/nanoframework/System.Net.WebSockets -b main System.Net.WebSockets +# +# git clone https://github.com/nanoframework/nanoFramework.TI.EasyLink -b main nanoFramework.TI.EasyLink +# +# git clone https://github.com/nanoframework/nanoFramework.Hardware.TI -b main nanoFramework.Hardware.TI +# +# git clone https://github.com/nanoframework/System.Math -b main System.Math +# +# git clone https://github.com/nanoframework/nanoFramework.Logging -b main nanoFramework.Logging +# +# git clone https://github.com/nanoframework/System.IO.Ports.git --depth 100 -b main System.IO.Ports +# +# git clone https://github.com/nanoframework/nanoFramework.m2mqtt.git --depth 100 -b main nanoFramework.M2Mqtt +# +# git clone https://github.com/nanoframework/System.Text.RegularExpressions.git --depth 100 -b main System.Text.RegularExpressions +# +# git clone https://github.com/nanoframework/nanoFramework.Azure.Devices.git -b main nanoFramework.Azure.Devices +# +# git clone https://github.com/nanoframework/nanoFramework.Aws.IoTCore.Devices.git -b main nanoFramework.Aws.IoTCore.Devices +# +# git clone https://github.com/nanoframework/nanoFramework.SignalR.Client.git -b main nanoFramework.SignalR.Client +# +# git clone https://github.com/nanoframework/System.Net.Sockets.TcpClient.git -b main System.Net.Sockets.TcpClient +# +# git clone https://github.com/nanoframework/System.Net.Sockets.UdpClient.git -b main System.Net.Sockets.UdpClient +# +# git clone https://github.com/nanoframework/nanoFramework.IoT.Device.git -b develop nanoFramework.IoT.Device +# +# displayName: Clone repos of class libs +# condition: >- +# or( +# eq(variables['BUILD_ALL'], 'true'), +# contains(variables['BuildOptions.COMMIT_MESSAGE'], '***BUILD_ALL***'), +# eq(variables['BuildOptions.BUILD_ALL'], 'true') +# ) + - powershell: choco install docfx-companion-tools -y displayName: Install the docfx helpers condition: succeeded() diff --git a/mlc_config.json b/mlc_config.json new file mode 100644 index 000000000..d493ba243 --- /dev/null +++ b/mlc_config.json @@ -0,0 +1,11 @@ +{ + "aliveStatusCodes": [429, 200], + "httpHeaders": [ + { + "urls": ["https://github.com/", "https://guides.github.com/", "https://help.github.com/", "https://docs.github.com/"], + "headers": { + "Accept-Encoding": "zstd, br, gzip, deflate" + } + } + ] + }