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..8235c91 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -19,43 +19,57 @@ env:
DOTNET_NOLOGO: true
VersionPrefix: 42.42.${{ github.run_number }}
VersionLabel: ${{ github.ref }}
-
+ PackOnBuild: true
+ GeneratePackageOnBuild: true
+
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: 🤖 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 }}
-
- - name: ⏬ download
- env:
- GCM_CREDENTIAL_STORE: cache
+
+ - name: 🔎 lookup
+ id: lookup
+ shell: pwsh
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
+ $path = './.github/workflows/os-matrix.json'
+ $os = if (test-path $path) { cat $path } else { '["ubuntu-latest"]' }
+ echo "matrix=$os" >> $env:GITHUB_OUTPUT
+
+ 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: 🙏 build
- run: dotnet build -m:1 -p:VersionLabel="$GITHUB_REF.$GITHUB_RUN_NUMBER"
+ run: dotnet build -m:1
+
+ - name: ⚙ GNU grep
+ if: matrix.os == 'macOS-latest'
+ run: |
+ brew install grep
+ echo 'export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"' >> .bash_profile
- - name: 📦 pack
- run: dotnet pack -m:1 -p:VersionLabel="$GITHUB_REF.$GITHUB_RUN_NUMBER"
+ - name: 🧪 test
+ uses: ./.github/workflows/test
+ # Only push CI package to sleet feed if building on ubuntu (fastest)
- name: 🚀 sleet
env:
SLEET_CONNECTION: ${{ secrets.SLEET_CONNECTION }}
@@ -63,3 +77,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..0f81739 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -10,7 +10,9 @@ on:
env:
DOTNET_NOLOGO: true
Configuration: Release
-
+ PackOnBuild: true
+ GeneratePackageOnBuild: true
+
jobs:
publish:
runs-on: ubuntu-latest
@@ -27,8 +29,5 @@ jobs:
- name: 🧪 test
uses: ./.github/workflows/test
- - name: 📦 pack
- run: dotnet pack -m:1 -p:version=${GITHUB_REF#refs/*/v}
-
- 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..8c02bf3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,9 +4,12 @@ obj
artifacts
pack
TestResults
+results
+BenchmarkDotNet.Artifacts
.vs
.vscode
.idea
+local.settings.json
*.suo
*.sdf
diff --git a/.netconfig b/.netconfig
index 4c46e50..fd32b60 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 = 6e7a3ab866a523d036e95066ab63351b63cc8a24
+ etag = 11c16867077f1d67b23a75e83556d3cd761aa6a69fd6c6bbed7d0f6b202c33da
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 = 6e7a3ab866a523d036e95066ab63351b63cc8a24
+ etag = d2ca0380f60f4396fcf250abe334da9a3edeac6612f9d77e5dd8a93d30e46b6c
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 = ef852e7d2ec9a845dac272dfc479909c0bc6d9f3
+ etag = a556d6108892aa8e7e63476f4fad3a898b3ec1deda94332dd4e89d2fb6b555ca
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 = b1d14c6379e5820eb2c30e08bedbdf6e9c8e8cb2
+ etag = 33cd19e0f599f444c320406da3452e9e84d28c3bb13c09e9190d9d2e7f129545
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..cd0165a 100644
--- a/readme.md
+++ b/readme.md
@@ -51,67 +51,37 @@ 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)
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 6b9a668..e2a7cc4 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
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