diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index ed06dbe..c95eb73 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -29,7 +29,7 @@ updates:
- "Microsoft.AspNetCore*"
Tests:
patterns:
- - "Microsoft.NET.Tests*"
+ - "Microsoft.NET.Test*"
- "xunit*"
- "coverlet*"
ThisAssembly:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4aea54c..366cfd9 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -19,43 +19,65 @@ env:
DOTNET_NOLOGO: true
VersionPrefix: 42.42.${{ github.run_number }}
VersionLabel: ${{ github.ref }}
-
+ PackOnBuild: true
+ GeneratePackageOnBuild: true
+ GH_TOKEN: ${{ secrets.GH_TOKEN }}
+
defaults:
run:
shell: bash
jobs:
- build:
+ os-matrix:
runs-on: ubuntu-latest
+ outputs:
+ matrix: ${{ steps.lookup.outputs.matrix }}
steps:
- name: 🤘 checkout
uses: actions/checkout@v2
+
+ - name: 🔎 lookup
+ id: lookup
+ shell: pwsh
+ run: |
+ $path = './.github/workflows/os-matrix.json'
+ $os = if (test-path $path) { cat $path } else { '["ubuntu-latest"]' }
+ echo "matrix=$os" >> $env:GITHUB_OUTPUT
- - name: 🤖 defaults
- uses: devlooped/actions-bot@v1
- with:
- name: ${{ secrets.BOT_NAME }}
- email: ${{ secrets.BOT_EMAIL }}
- gh_token: ${{ secrets.GH_TOKEN }}
- github_token: ${{ secrets.GITHUB_TOKEN }}
+ build:
+ needs: os-matrix
+ name: build-${{ matrix.os }}
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: ${{ fromJSON(needs.os-matrix.outputs.matrix) }}
+ steps:
+ - name: 🤘 checkout
+ uses: actions/checkout@v2
+ with:
+ submodules: recursive
+ fetch-depth: 0
- - name: ⏬ download
- env:
- GCM_CREDENTIAL_STORE: cache
+ - name: 🙏 build
+ run: dotnet build -m:1 -bl:build.binlog
+
+ - name: ⚙ GNU grep
+ if: matrix.os == 'macOS-latest'
run: |
- dotnet tool update -g dotnet-gcm
- dotnet gcm store --protocol=https --host=github.com --username=$env:GITHUB_ACTOR --password=$env:GH_TOKEN
- gh auth status
-
- gh release download --output obj/win-x86_64.zip --clobber -p *CLI*-win-x86_64.zip --repo HandBrake/HandBrake
- unzip obj/win-x86_64.zip -d src/handbrake.win/runtime
+ brew install grep
+ echo 'export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"' >> .bash_profile
- - name: 🙏 build
- run: dotnet build -m:1 -p:VersionLabel="$GITHUB_REF.$GITHUB_RUN_NUMBER"
+ - name: 🧪 test
+ uses: ./.github/workflows/test
- - name: 📦 pack
- run: dotnet pack -m:1 -p:VersionLabel="$GITHUB_REF.$GITHUB_RUN_NUMBER"
+ - name: 🐛 logs
+ uses: actions/upload-artifact@v3
+ if: runner.debug && always()
+ with:
+ name: logs
+ path: '*.binlog'
+ # Only push CI package to sleet feed if building on ubuntu (fastest)
- name: 🚀 sleet
env:
SLEET_CONNECTION: ${{ secrets.SLEET_CONNECTION }}
@@ -63,3 +85,17 @@ jobs:
run: |
dotnet tool install -g --version 4.0.18 sleet
sleet push bin --config none -f --verbose -p "SLEET_FEED_CONTAINER=nuget" -p "SLEET_FEED_CONNECTIONSTRING=${{ secrets.SLEET_CONNECTION }}" -p "SLEET_FEED_TYPE=azure" || echo "No packages found"
+
+ dotnet-format:
+ runs-on: ubuntu-latest
+ steps:
+ - name: 🤘 checkout
+ uses: actions/checkout@v2
+ with:
+ submodules: recursive
+ fetch-depth: 0
+
+ - name: ✓ ensure format
+ run: |
+ dotnet format whitespace --verify-no-changes -v:diag --exclude ~/.nuget
+ dotnet format style --verify-no-changes -v:diag --exclude ~/.nuget
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index bd83ada..417026d 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -10,7 +10,10 @@ on:
env:
DOTNET_NOLOGO: true
Configuration: Release
-
+ PackOnBuild: true
+ GeneratePackageOnBuild: true
+ GH_TOKEN: ${{ secrets.GH_TOKEN }}
+
jobs:
publish:
runs-on: ubuntu-latest
@@ -22,13 +25,17 @@ jobs:
fetch-depth: 0
- name: 🙏 build
- run: dotnet build -m:1 -p:version=${GITHUB_REF#refs/*/v}
+ run: dotnet build -m:1 -p:version=${GITHUB_REF#refs/*/v} -bl:build.binlog
- name: 🧪 test
uses: ./.github/workflows/test
- - name: 📦 pack
- run: dotnet pack -m:1 -p:version=${GITHUB_REF#refs/*/v}
+ - name: 🐛 logs
+ uses: actions/upload-artifact@v3
+ if: runner.debug && always()
+ with:
+ name: logs
+ path: '*.binlog'
- name: 🚀 nuget
run: dotnet nuget push ./bin/**/*.nupkg -s https://api.nuget.org/v3/index.json -k ${{secrets.NUGET_API_KEY}} --skip-duplicate
diff --git a/.gitignore b/.gitignore
index 1e37efc..6639458 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,12 +1,15 @@
bin
-app
obj
artifacts
pack
TestResults
+results
+BenchmarkDotNet.Artifacts
+/app
.vs
.vscode
.idea
+local.settings.json
*.suo
*.sdf
diff --git a/.netconfig b/.netconfig
index 4c46e50..2f6f13b 100644
--- a/.netconfig
+++ b/.netconfig
@@ -24,8 +24,8 @@
weak
[file ".github/dependabot.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/dependabot.yml
- sha = 35ca3f3405452465058d89005f8a88a65847c377
- etag = f8080f8f04d87529e90d9a66751d304a7141196fb9734aa2d110784e52e66898
+ sha = 49661dbf0720cde93eb5569be7523b5912351560
+ etag = c147ea2f3431ca0338c315c4a45b56ee233c4d30f8d6ab698d0e1980a257fd6a
weak
[file ".github/release.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/release.yml
@@ -34,8 +34,8 @@
weak
[file ".github/workflows/build.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/workflows/build.yml
- sha = 13d67e2cf3f786c8189364fd29332aaa7dc575dc
- etag = c616df0877fba60002ccfc0397e9f731ddb22acbbb195a0598fedd4cac5f3135
+ sha = 97ebd189e44da857e53e4d98af2727dd9dcb0740
+ etag = f02775f5cdf8ba06238500e56bc25ca1e0aa329db4931f230c45bd1d7de1696d
weak
[file ".github/workflows/changelog.config"]
url = https://github.com/devlooped/oss/blob/main/.github/workflows/changelog.config
@@ -59,8 +59,8 @@
weak
[file ".github/workflows/publish.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/workflows/publish.yml
- sha = d3022567c9ef2bc9461511e53b8abe065afdf03b
- etag = 58601b5a71c805647ab26e84053acdfb8d174eaa93330487af8a5503753c5707
+ sha = 97ebd189e44da857e53e4d98af2727dd9dcb0740
+ etag = 04a0796e61476765c0a233806e85fb3f461d7cf099a14c91e6c5abcab938062f
weak
[file ".github/workflows/sponsor.yml"]
url = https://github.com/devlooped/oss/blob/main/.github/workflows/sponsor.yml
@@ -74,8 +74,8 @@
weak
[file ".gitignore"]
url = https://github.com/devlooped/oss/blob/main/.gitignore
- sha = 551d4e0e3979be937fbf7e632dd602ddc84bd043
- etag = cb12a3e3e89a15acfb27d3eaace5135a6ec3d3fbd1242e4a8e8f9fa646200e5c
+ sha = 02811fa23b0a102b9b33048335d41e515bf75737
+ etag = a9c37ae312afac14b78436a7d018af4483d88736b5f780576f2c5a0b3f14998c
weak
[file "Directory.Build.rsp"]
url = https://github.com/devlooped/oss/blob/main/Directory.Build.rsp
@@ -99,13 +99,13 @@
weak
[file "src/Directory.Build.props"]
url = https://github.com/devlooped/oss/blob/main/src/Directory.Build.props
- sha = 6ae80a175a8f926ac5d9ffb0f6afd55d85cc9320
- etag = 69d4b16c14d5047b3ed812dbf556b0b8d77deb86f73af04b9bd3640220056fa8
+ sha = 6dfe21fbd4a8390448958c714f8e9006fc4ac3ca
+ etag = de7c6b643bac2fc6651fa08f69d628cbbe12e7050829b981ac771e1b9ccccd89
weak
[file "src/Directory.Build.targets"]
url = https://github.com/devlooped/oss/blob/main/src/Directory.Build.targets
- sha = 5cec43dd514aeb9050ea2ccbc546f7afa428c5b5
- etag = 8e0f43f00e0c29b408d4ce5c821b44a9bf7dbc8d4917895cfc39f2964d839bf6
+ sha = 1bf1eacc7ac3920d52c8e7045bfa34abc7c05302
+ etag = 7cb1421f00d9f6f4c00f0ca98e485dcadb927cfa6b3f0b5d4fb212525d2ce9c0
weak
[file "src/kzu.snk"]
url = https://github.com/devlooped/oss/blob/main/src/kzu.snk
diff --git a/readme.md b/readme.md
index 2c6e806..b68c931 100644
--- a/readme.md
+++ b/readme.md
@@ -51,67 +51,36 @@ burn -f "Helvetica" -s 75 -c #FFD300 -b input.mp4 input.srt output.mp4
[](https://github.com/decriptor)
[](https://github.com/torutek-gh)
[](https://github.com/drivenet)
-[](https://github.com/davkean)
-[](https://github.com/chiluap)
-[](https://github.com/dgnaegi)
[](https://github.com/AshleyMedway)
[](https://github.com/Keflon)
-[](https://github.com/bitbonk)
[](https://github.com/tbolon)
-[](https://github.com/yrashk)
[](https://github.com/kfrancis)
-[](https://github.com/wdolek)
-[](https://github.com/SeanKilleen)
[](https://github.com/twenzel)
[](https://github.com/Giorgi)
-[](https://github.com/mckhendry)
-[](https://github.com/aritchie)
[](https://github.com/MikeCodesDotNET)
-[](https://github.com/unoplatform)
[](https://github.com/dansiegel)
[](https://github.com/rbnswartz)
-[](https://github.com/jeremysimmons)
[](https://github.com/jfoshee)
[](https://github.com/Mrxx99)
[](https://github.com/eajhnsn1)
-[](https://github.com/mackayn)
[](https://github.com/certifytheweb)
-[](https://github.com/lavahot)
-[](https://github.com/mrange)
-[](https://github.com/davidpetric)
-[](https://github.com/richlee)
-[](https://github.com/dannevesdantas)
-[](https://github.com/nietras)
-[](https://github.com/garywoodfine)
-[](https://github.com/kristinnstefansson)
-[](https://github.com/DarrenAtConexus)
-[](https://github.com/kazo0)
[](https://github.com/IxTechnologies)
-[](https://github.com/newrelic)
-[](https://github.com/Chris-Johnston)
[](https://github.com/davidjenni)
-[](https://github.com/ehonda)
[](https://github.com/Jonathan-Hickey)
[](https://github.com/okyrylchuk)
-[](https://github.com/juanfranblanco)
-[](https://github.com/LosManos)
-[](https://github.com/MariuszKogut)
[](https://github.com/akunzai)
-[](https://github.com/meisenring)
-[](https://github.com/Tdue21)
[](https://github.com/jakobt)
[](https://github.com/seanalexander)
[](https://github.com/tinohager)
-[](https://github.com/pedrobsaila)
[](https://github.com/ploeh)
[](https://github.com/angelobelchior)
-[](https://github.com/tonyqus)
-[](https://github.com/danielrmay)
-[ Ltd")](https://github.com/BlauhausTechnology)
-[](https://github.com/rcollette)
-[](https://github.com/bngv)
[](https://github.com/KenBonny)
[](https://github.com/SimonCropp)
+[](https://github.com/agileworks-eu)
+[](https://github.com/sorahex)
+[](https://github.com/arsdragonfly)
+[](https://github.com/vezel-dev)
+[](https://github.com/michaelstaib)
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 6b9a668..bba6ab7 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -26,10 +26,10 @@
icon.png
- readme.md
+ readme.md
icon.png
- readme.md
+ readme.md
true
true
@@ -37,7 +37,8 @@
$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\bin'))
- true
+ true
+ true
true
@@ -141,6 +142,12 @@
+
+
+
+
+
+
diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets
index 248c2b7..0cb1e4e 100644
--- a/src/Directory.Build.targets
+++ b/src/Directory.Build.targets
@@ -35,7 +35,7 @@
+ Condition="'$(PackReadme)' != 'false' and '$(PackageReadmeFile)' != ''" />
+ Condition="'$(PackReadme)' != 'false' and Exists('$(MSBuildThisFileDirectory)readme.md') and !Exists('$(MSBuildProjectDirectory)\readme.md')" />
diff --git a/src/kzu.snk b/src/kzu.snk
new file mode 100644
index 0000000..8e181ae
Binary files /dev/null and b/src/kzu.snk differ