mirror of
https://github.com/Smaug123/WoofWare.Myriad
synced 2025-10-10 14:38:39 +00:00
Compare commits
7 Commits
WoofWare.M
...
WoofWare.M
Author | SHA1 | Date | |
---|---|---|---|
|
a868b8c08e | ||
|
a4f945a3ee | ||
|
8434730ba7 | ||
|
811026996c | ||
|
25b2b160bb | ||
|
4679474604 | ||
|
e16e241785 |
@@ -9,7 +9,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"fsharp-analyzers": {
|
"fsharp-analyzers": {
|
||||||
"version": "0.26.0",
|
"version": "0.26.1",
|
||||||
"commands": [
|
"commands": [
|
||||||
"fsharp-analyzers"
|
"fsharp-analyzers"
|
||||||
]
|
]
|
||||||
|
14
.github/workflows/assert-contents.sh
vendored
14
.github/workflows/assert-contents.sh
vendored
@@ -1,14 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo "Unzipping version from NuGet"
|
|
||||||
ls from-nuget.nupkg
|
|
||||||
mkdir from-nuget && cp from-nuget.nupkg from-nuget/zip.zip && cd from-nuget && unzip zip.zip && rm zip.zip && cd - || exit 1
|
|
||||||
|
|
||||||
echo "Unzipping version from local build"
|
|
||||||
ls packed/
|
|
||||||
mkdir from-local && cp packed/*.nupkg from-local/zip.zip && cd from-local && unzip zip.zip && rm zip.zip && cd - || exit 1
|
|
||||||
|
|
||||||
cd from-local && find . -type f -exec sha256sum {} \; | sort > ../from-local.txt && cd .. || exit 1
|
|
||||||
cd from-nuget && find . -type f -and -not -name '.signature.p7s' -exec sha256sum {} \; | sort > ../from-nuget.txt && cd .. || exit 1
|
|
||||||
|
|
||||||
diff from-local.txt from-nuget.txt
|
|
56
.github/workflows/dotnet.yaml
vendored
56
.github/workflows/dotnet.yaml
vendored
@@ -222,7 +222,7 @@ jobs:
|
|||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: Smaug123/all-required-checks-complete-action@05b40a8c47ef0b175ea326e9abb09802cb67b44e
|
- uses: Smaug123/all-required-checks-complete-action@d0ef051668d922e3591cc7c97156702946437f8d
|
||||||
with:
|
with:
|
||||||
needs-context: ${{ toJSON(needs) }}
|
needs-context: ${{ toJSON(needs) }}
|
||||||
|
|
||||||
@@ -241,7 +241,7 @@ jobs:
|
|||||||
name: nuget-package-attribute
|
name: nuget-package-attribute
|
||||||
path: packed
|
path: packed
|
||||||
- name: Attest Build Provenance
|
- name: Attest Build Provenance
|
||||||
uses: actions/attest-build-provenance@5e9cb68e95676991667494a6a4e59b8a2f13e1d0 # v1.3.3
|
uses: actions/attest-build-provenance@310b0a4a3b0b78ef57ecda988ee04b132db73ef8 # v1.4.1
|
||||||
with:
|
with:
|
||||||
subject-path: "packed/*.nupkg"
|
subject-path: "packed/*.nupkg"
|
||||||
|
|
||||||
@@ -260,7 +260,7 @@ jobs:
|
|||||||
name: nuget-package-plugin
|
name: nuget-package-plugin
|
||||||
path: packed
|
path: packed
|
||||||
- name: Attest Build Provenance
|
- name: Attest Build Provenance
|
||||||
uses: actions/attest-build-provenance@5e9cb68e95676991667494a6a4e59b8a2f13e1d0 # v1.3.3
|
uses: actions/attest-build-provenance@310b0a4a3b0b78ef57ecda988ee04b132db73ef8 # v1.4.1
|
||||||
with:
|
with:
|
||||||
subject-path: "packed/*.nupkg"
|
subject-path: "packed/*.nupkg"
|
||||||
|
|
||||||
@@ -285,26 +285,17 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: nuget-package-attribute
|
name: nuget-package-attribute
|
||||||
path: packed
|
path: packed
|
||||||
|
- name: Identify `dotnet`
|
||||||
|
id: dotnet-identify
|
||||||
|
run: nix develop --command bash -c 'echo "dotnet=$(which dotnet)" >> $GITHUB_OUTPUT'
|
||||||
- name: Publish to NuGet
|
- name: Publish to NuGet
|
||||||
id: publish-success
|
id: publish-success
|
||||||
env:
|
uses: Smaug123/publish-nuget-action@76df889166633c2dc613560c092882aabe260df0
|
||||||
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
|
|
||||||
run: 'nix develop --command bash ./.github/workflows/nuget-push.sh "packed/WoofWare.Myriad.Plugins.Attributes.*.nupkg"'
|
|
||||||
- name: Wait for availability
|
|
||||||
if: steps.publish-success.outputs.result == 'published'
|
|
||||||
env:
|
|
||||||
PACKAGE_VERSION: ${{ steps.publish-success.outputs.version }}
|
|
||||||
run: 'echo "$PACKAGE_VERSION" && while ! curl -L --fail -o from-nuget.nupkg "https://www.nuget.org/api/v2/package/WoofWare.Myriad.Plugins.Attributes/$PACKAGE_VERSION" ; do sleep 10; done'
|
|
||||||
# Astonishingly, NuGet.org considers it to be "more secure" to tamper with my package after upload (https://devblogs.microsoft.com/nuget/introducing-repository-signatures/).
|
|
||||||
# So we have to *re-attest* it after it's uploaded. Mind-blowing.
|
|
||||||
- name: Assert package contents
|
|
||||||
if: steps.publish-success.outputs.result == 'published'
|
|
||||||
run: 'bash ./.github/workflows/assert-contents.sh'
|
|
||||||
- name: Attest Build Provenance
|
|
||||||
if: steps.publish-success.outputs.result == 'published'
|
|
||||||
uses: actions/attest-build-provenance@5e9cb68e95676991667494a6a4e59b8a2f13e1d0 # v1.3.3
|
|
||||||
with:
|
with:
|
||||||
subject-path: "from-nuget.nupkg"
|
package-name: WoofWare.Myriad.Plugins.Attributes
|
||||||
|
nuget-key: ${{ secrets.NUGET_API_KEY }}
|
||||||
|
nupkg-dir: packed/
|
||||||
|
dotnet: ${{ steps.dotnet-identify.outputs.dotnet }}
|
||||||
|
|
||||||
nuget-publish-plugin:
|
nuget-publish-plugin:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -327,26 +318,17 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: nuget-package-plugin
|
name: nuget-package-plugin
|
||||||
path: packed
|
path: packed
|
||||||
|
- name: Identify `dotnet`
|
||||||
|
id: dotnet-identify
|
||||||
|
run: nix develop --command bash -c 'echo "dotnet=$(which dotnet)" >> $GITHUB_OUTPUT'
|
||||||
- name: Publish to NuGet
|
- name: Publish to NuGet
|
||||||
id: publish-success
|
id: publish-success
|
||||||
env:
|
uses: Smaug123/publish-nuget-action@76df889166633c2dc613560c092882aabe260df0
|
||||||
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
|
|
||||||
run: 'nix develop --command bash ./.github/workflows/nuget-push.sh "packed/WoofWare.Myriad.Plugins.*.nupkg"'
|
|
||||||
- name: Wait for availability
|
|
||||||
if: steps.publish-success.outputs.result == 'published'
|
|
||||||
env:
|
|
||||||
PACKAGE_VERSION: ${{ steps.publish-success.outputs.version }}
|
|
||||||
run: 'echo "$PACKAGE_VERSION" && while ! curl -L --fail -o from-nuget.nupkg "https://www.nuget.org/api/v2/package/WoofWare.Myriad.Plugins/$PACKAGE_VERSION" ; do sleep 10; done'
|
|
||||||
# Astonishingly, NuGet.org considers it to be "more secure" to tamper with my package after upload (https://devblogs.microsoft.com/nuget/introducing-repository-signatures/).
|
|
||||||
# So we have to *re-attest* it after it's uploaded. Mind-blowing.
|
|
||||||
- name: Assert package contents
|
|
||||||
if: steps.publish-success.outputs.result == 'published'
|
|
||||||
run: 'bash ./.github/workflows/assert-contents.sh'
|
|
||||||
- name: Attest Build Provenance
|
|
||||||
if: steps.publish-success.outputs.result == 'published'
|
|
||||||
uses: actions/attest-build-provenance@5e9cb68e95676991667494a6a4e59b8a2f13e1d0 # v1.3.3
|
|
||||||
with:
|
with:
|
||||||
subject-path: "from-nuget.nupkg"
|
package-name: WoofWare.Myriad.Plugins
|
||||||
|
nuget-key: ${{ secrets.NUGET_API_KEY }}
|
||||||
|
nupkg-dir: packed/
|
||||||
|
dotnet: ${{ steps.dotnet-identify.outputs.dotnet }}
|
||||||
|
|
||||||
github-release-plugin:
|
github-release-plugin:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
24
.github/workflows/nuget-push.sh
vendored
24
.github/workflows/nuget-push.sh
vendored
@@ -1,24 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
SOURCE_NUPKG=$(find . -type f -name '*.nupkg')
|
|
||||||
|
|
||||||
PACKAGE_VERSION=$(basename "$SOURCE_NUPKG" | rev | cut -d '.' -f 2-4 | rev)
|
|
||||||
|
|
||||||
echo "version=$PACKAGE_VERSION" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
tmp=$(mktemp)
|
|
||||||
|
|
||||||
if ! dotnet nuget push "$SOURCE_NUPKG" --api-key "$NUGET_API_KEY" --source https://api.nuget.org/v3/index.json > "$tmp" ; then
|
|
||||||
cat "$tmp"
|
|
||||||
if grep 'already exists and cannot be modified' "$tmp" ; then
|
|
||||||
echo "result=skipped" >> "$GITHUB_OUTPUT"
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
echo "Unexpected failure to upload"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat "$tmp"
|
|
||||||
|
|
||||||
echo "result=published" >> "$GITHUB_OUTPUT"
|
|
@@ -10,7 +10,7 @@
|
|||||||
<WarnOn>FS3388,FS3559</WarnOn>
|
<WarnOn>FS3388,FS3559</WarnOn>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Nerdbank.GitVersioning" Version="3.6.139" PrivateAssets="all"/>
|
<PackageReference Include="Nerdbank.GitVersioning" Version="3.6.141" PrivateAssets="all"/>
|
||||||
<SourceLinkGitHubHost Include="github.com" ContentUrl="https://raw.githubusercontent.com"/>
|
<SourceLinkGitHubHost Include="github.com" ContentUrl="https://raw.githubusercontent.com"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Condition="'$(GITHUB_ACTION)' != ''">
|
<PropertyGroup Condition="'$(GITHUB_ACTION)' != ''">
|
||||||
|
@@ -695,7 +695,7 @@ module internal HttpClientGenerator =
|
|||||||
let headerInfo =
|
let headerInfo =
|
||||||
match extractHeaderInformation pi.Attributes with
|
match extractHeaderInformation pi.Attributes with
|
||||||
| [ [ x ] ] -> x
|
| [ [ x ] ] -> x
|
||||||
| [ xs ] ->
|
| [ _ ] ->
|
||||||
failwith
|
failwith
|
||||||
"Expected exactly one Header parameter on the member, with exactly one arg; got one Header parameter with non-1-many args"
|
"Expected exactly one Header parameter on the member, with exactly one arg; got one Header parameter with non-1-many args"
|
||||||
| [] ->
|
| [] ->
|
||||||
|
6
flake.lock
generated
6
flake.lock
generated
@@ -20,11 +20,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722640603,
|
"lastModified": 1723221148,
|
||||||
"narHash": "sha256-TcXjLVNd3VeH1qKPH335Tc4RbFDbZQX+d7rqnDUoRaY=",
|
"narHash": "sha256-7pjpeQlZUNQ4eeVntytU3jkw9dFK3k1Htgk2iuXjaD8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "81610abc161d4021b29199aa464d6a1a521e0cc9",
|
"rev": "154bcb95ad51bc257c2ce4043a725de6ca700ef6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@@ -28,8 +28,8 @@
|
|||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "fsharp-analyzers";
|
pname = "fsharp-analyzers";
|
||||||
version = "0.26.0";
|
version = "0.26.1";
|
||||||
hash = "sha256-60Bl36LOb/zVNdH2SBSuQ5O41lP9dKTNZbs5vvYs+3U=";
|
hash = "sha256-UqSK8PoXRJMZWKphMmWpl5klVn82EM1VczNZ1AOZ6Sw=";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "FSharp.Core";
|
pname = "FSharp.Core";
|
||||||
@@ -173,8 +173,8 @@
|
|||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "Nerdbank.GitVersioning";
|
pname = "Nerdbank.GitVersioning";
|
||||||
version = "3.6.139";
|
version = "3.6.141";
|
||||||
hash = "sha256-DMEdNlYh9tqkqQ/98zwk7NcRYBpTApLiFwzkgaHP7Fo=";
|
hash = "sha256-i1pBJ12vlPmde6qSQK4PG2QLSpjaUCoY+odTi24R5XI=";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "NETStandard.Library";
|
pname = "NETStandard.Library";
|
||||||
|
Reference in New Issue
Block a user