From c610b51fc232c52c5747f139f072bf8a7dd81859 Mon Sep 17 00:00:00 2001 From: Robin Jones Date: Fri, 16 Dec 2022 01:11:32 +0000 Subject: [PATCH 1/5] Test checkout of all repos ***BUILD_ALL*** --- azure-pipelines.yml | 230 +++++++++++++++++++++++--------------------- 1 file changed, 122 insertions(+), 108 deletions(-) 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() From dd85dc744509b86758606cc2e6dc8bee75507bbe Mon Sep 17 00:00:00 2001 From: Robin Jones Date: Fri, 16 Dec 2022 01:25:49 +0000 Subject: [PATCH 2/5] link check job --- .github/workflows/link-check.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/workflows/link-check.yml diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml new file mode 100644 index 000000000..eed2a4603 --- /dev/null +++ b/.github/workflows/link-check.yml @@ -0,0 +1,13 @@ +name: Check Markdown links + +on: push + +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' From 43f29268177569ebe7fcc469327bb351911cd364 Mon Sep 17 00:00:00 2001 From: Robin Jones Date: Fri, 16 Dec 2022 01:26:46 +0000 Subject: [PATCH 3/5] Create mlc_config.json --- mlc_config.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 mlc_config.json 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" + } + } + ] + } From bca3030f19a006b02c2b0afacf93e912aac07bdf Mon Sep 17 00:00:00 2001 From: Robin Jones Date: Fri, 16 Dec 2022 01:35:15 +0000 Subject: [PATCH 4/5] Update link-check.yml --- .github/workflows/link-check.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml index eed2a4603..e25a1c8a4 100644 --- a/.github/workflows/link-check.yml +++ b/.github/workflows/link-check.yml @@ -1,6 +1,7 @@ name: Check Markdown links -on: push +on: + workflow_dispatch: jobs: markdown-link-check: From fd07e2fdf76037c652b36ccf400dd3782b4d7bbd Mon Sep 17 00:00:00 2001 From: Robin Jones Date: Fri, 16 Dec 2022 01:36:37 +0000 Subject: [PATCH 5/5] Create build-docs.yml --- .github/workflows/build-docs.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/build-docs.yml 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