Follow this repo.
Create an org.repo.nuspec file, with this content:
<?xml version="1.0" encoding="utf-8"?> <package xmlns="http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd"> <metadata> <id>org.repo</id> <title>Org Repo</title> <version>0.0.2</version> <authors>Name</authors> <description>Markdown description</description> <dependencies> <dependency id="imagemagick" /> <dependency id="fontforge" /> </dependencies> </metadata> </package> You can search packages on choco like ffmpeg, to see what the dependency names are.
The GitHub Action to publish this is:
on: push jobs: test: # Windows Server 2022 (https://github.com/actions/runner-images) runs-on: windows-2022 environment: build steps: - name: Checkout uses: actions/checkout@v3 - name: Install Node.js uses: actions/setup-node@v4 with: node-version: 20.10.x - name: Set PACKAGE_VERSION id: version run: | echo "PACKAGE_VERSION=$(node -p "require('./package.json').version")" >> $env:GITHUB_ENV - name: Choco pack run: | choco pack org.repo.nuspec - name: Choco install run: | choco install -y org.repo --source "'.;chocolatey'" - name: Choco set api key env: CHOCOLATEY_API_KEY: ${{ secrets.CHOCOLATEY_API_KEY }} run: choco apikey --key $env:CHOCOLATEY_API_KEY --source https://push.chocolatey.org/ - name: Choco publish env: PACKAGE_VERSION: "0.0.2" run: choco push org.repo.${{ env.PACKAGE_VERSION }}.nupkg --source https://push.chocolatey.org/ If you want to do more than this, like creating an executable, see this example chocolateyinstall.ps1 script, and follow the obscure directions for creating the chocolateyinstall.ps1 script. Here is another "default" script.
Cheers!
Top comments (1)
My meta-package got rejected from chocolatey.org community.chocolatey.org/packages/... . A meta package is something that just installs stuff, no executable.
Here is what they said:
Darn :/ Maybe there is another approach.