Fix 132 - support for chocolatey install (#144)
* fix #132 - publish chocolatey package for act * add missing files to pass validation * remove extra choco step
This commit is contained in:
		
							
								
								
									
										34
									
								
								.github/actions/choco/Dockerfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								.github/actions/choco/Dockerfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					  
 | 
				
			||||||
 | 
					FROM mono:3.12.1 as builder
 | 
				
			||||||
 | 
					ARG CHOCOVERSION=0.10.15
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN echo "deb http://archive.debian.org/debian/ wheezy main contrib non-free" >/etc/apt/sources.list
 | 
				
			||||||
 | 
					RUN apt-get update && apt-get install -y wget tar gzip
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WORKDIR /usr/local/src
 | 
				
			||||||
 | 
					RUN wget "https://github.com/chocolatey/choco/archive/${CHOCOVERSION}.tar.gz"
 | 
				
			||||||
 | 
					RUN tar -xzf "${CHOCOVERSION}.tar.gz"
 | 
				
			||||||
 | 
					RUN mv "choco-${CHOCOVERSION}" choco
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WORKDIR /usr/local/src/choco
 | 
				
			||||||
 | 
					RUN chmod +x build.sh zip.sh
 | 
				
			||||||
 | 
					RUN ./build.sh -v
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM alpine:latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY --from=builder /usr/local/src/choco/build_output/chocolatey /opt/chocolatey
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN apk add --no-cache bash
 | 
				
			||||||
 | 
					RUN apk --update --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing add mono-dev \
 | 
				
			||||||
 | 
					  && apk --update --no-cache add -t build-dependencies ca-certificates \
 | 
				
			||||||
 | 
					  && cert-sync /etc/ssl/certs/ca-certificates.crt \
 | 
				
			||||||
 | 
					  && ln -sf /opt /opt/chocolatey/opt \
 | 
				
			||||||
 | 
					  && mkdir -p /opt/chocolatey/lib \
 | 
				
			||||||
 | 
					  && apk del build-dependencies \
 | 
				
			||||||
 | 
					  && rm -rf /var/cache/apk/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY entrypoint.sh /entrypoint.sh
 | 
				
			||||||
 | 
					ENTRYPOINT ["/entrypoint.sh"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										12
									
								
								.github/actions/choco/action.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.github/actions/choco/action.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					name: 'Chocolatey Packager'
 | 
				
			||||||
 | 
					description: 'Create the choco package and push it'
 | 
				
			||||||
 | 
					inputs:
 | 
				
			||||||
 | 
					  version:  
 | 
				
			||||||
 | 
					    description: 'Version of package'
 | 
				
			||||||
 | 
					    required: true
 | 
				
			||||||
 | 
					  apiKey:
 | 
				
			||||||
 | 
					    description: 'API Key for chocolately'
 | 
				
			||||||
 | 
					    required: true
 | 
				
			||||||
 | 
					runs:
 | 
				
			||||||
 | 
					  using: 'docker'
 | 
				
			||||||
 | 
					  image: 'Dockerfile'
 | 
				
			||||||
							
								
								
									
										29
									
								
								.github/actions/choco/entrypoint.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										29
									
								
								.github/actions/choco/entrypoint.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function choco {
 | 
				
			||||||
 | 
					  mono /opt/chocolatey/choco.exe "$@" --allow-unofficial --nocolor
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function get_version {
 | 
				
			||||||
 | 
					  local version=${INPUT_VERSION:-$(git describe --tags)}
 | 
				
			||||||
 | 
					  version=(${version//[!0-9.-]/})
 | 
				
			||||||
 | 
					  local version_parts=(${version//-/ })
 | 
				
			||||||
 | 
					  version=${version_parts[0]}
 | 
				
			||||||
 | 
					  if [ ${#version_parts[@]} -gt 1 ]; then
 | 
				
			||||||
 | 
					    version=${version_parts}.${version_parts[1]}
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  echo "$version"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Determine the version to pack
 | 
				
			||||||
 | 
					VERSION=$(get_version)
 | 
				
			||||||
 | 
					echo "Packing version ${VERSION} of act"
 | 
				
			||||||
 | 
					rm -f act-cli.*.nupkg
 | 
				
			||||||
 | 
					mkdir -p tools
 | 
				
			||||||
 | 
					cp LICENSE tools/LICENSE.txt
 | 
				
			||||||
 | 
					cp VERIFICATION tools/VERIFICATION.txt
 | 
				
			||||||
 | 
					cp dist/act_windows_amd64/act.exe tools/
 | 
				
			||||||
 | 
					choco pack act-cli.nuspec --version ${VERSION}
 | 
				
			||||||
 | 
					choco push act-cli.${VERSION}.nupkg --api-key ${INPUT_APIKEY} -s https://push.chocolatey.org/ --timeout 180
 | 
				
			||||||
							
								
								
									
										5
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							@@ -38,3 +38,8 @@ jobs:
 | 
				
			|||||||
        args: release --rm-dist
 | 
					        args: release --rm-dist
 | 
				
			||||||
      env:
 | 
					      env:
 | 
				
			||||||
        GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }}
 | 
					        GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }}
 | 
				
			||||||
 | 
					    - name: Chocolatey
 | 
				
			||||||
 | 
					      uses: ./.github/actions/choco
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        version: ${{ github.ref }}
 | 
				
			||||||
 | 
					        apiKey: ${{ secrets.CHOCO_APIKEY }}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -12,4 +12,6 @@
 | 
				
			|||||||
*.out
 | 
					*.out
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dist/
 | 
					dist/
 | 
				
			||||||
.todo
 | 
					.todo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*.nupkg
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,7 +25,9 @@ Alternatively, you can use the following:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
```curl  https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash```
 | 
					```curl  https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you are running Windows, download the [latest release](https://github.com/nektos/act/releases/latest) and add the binary in to your PATH.
 | 
					If you are running Windows, download the [latest release](https://github.com/nektos/act/releases/latest) and add the binary in to your PATH.  If you are using [Chocolatey](https://chocolatey.org/) then run:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```choco install act-cli```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you are running Arch Linux, you can install the [act](https://aur.archlinux.org/packages/act/) package with your favorite package manager:
 | 
					If you are running Arch Linux, you can install the [act](https://aur.archlinux.org/packages/act/) package with your favorite package manager:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								VERIFICATION
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								VERIFICATION
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					VERIFICATION
 | 
				
			||||||
 | 
					Verification is intended to assist the Chocolatey moderators and community
 | 
				
			||||||
 | 
					in verifying that this package's contents are trustworthy.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Checksums: https://github.com/nektos/act/releases, in the checksums.txt file
 | 
				
			||||||
							
								
								
									
										26
									
								
								act-cli.nuspec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								act-cli.nuspec
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<!-- Do not remove this test for UTF-8: if “Ω” doesn’t appear as greek uppercase omega letter enclosed in quotation marks, you should use an editor that supports UTF-8, not this one. -->
 | 
				
			||||||
 | 
					<package xmlns="http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd">
 | 
				
			||||||
 | 
					  <metadata>
 | 
				
			||||||
 | 
					    <id>act-cli</id>
 | 
				
			||||||
 | 
					    <version>0.0.0</version>
 | 
				
			||||||
 | 
					    <packageSourceUrl>https://github.com/nektos/act</packageSourceUrl>
 | 
				
			||||||
 | 
					    <owners>nektos</owners>
 | 
				
			||||||
 | 
					    <title>act (GitHub Actions CLI)</title>
 | 
				
			||||||
 | 
					    <authors>nektos</authors>
 | 
				
			||||||
 | 
					    <projectUrl>https://github.com/nektos/act</projectUrl>
 | 
				
			||||||
 | 
					    <iconUrl>https://raw.githubusercontent.com/wiki/nektos/act/img/logo-150.png</iconUrl>
 | 
				
			||||||
 | 
					    <copyright>Nektos</copyright>
 | 
				
			||||||
 | 
					    <licenseUrl>https://raw.githubusercontent.com/nektos/act/master/LICENSE</licenseUrl>
 | 
				
			||||||
 | 
					    <requireLicenseAcceptance>true</requireLicenseAcceptance>
 | 
				
			||||||
 | 
					    <projectSourceUrl>https://github.com/nektos/act</projectSourceUrl>
 | 
				
			||||||
 | 
					    <docsUrl>https://raw.githubusercontent.com/nektos/act/master/README.md</docsUrl>
 | 
				
			||||||
 | 
					    <bugTrackerUrl>https://github.com/nektos/act/issues</bugTrackerUrl>
 | 
				
			||||||
 | 
					    <tags>act github-actions actions golang ci devops</tags>
 | 
				
			||||||
 | 
					    <summary>Run your GitHub Actions locally 🚀</summary>
 | 
				
			||||||
 | 
					    <description>Run your GitHub Actions locally 🚀</description>
 | 
				
			||||||
 | 
					  </metadata>
 | 
				
			||||||
 | 
					  <files>
 | 
				
			||||||
 | 
					    <file src="tools/**" target="tools" />
 | 
				
			||||||
 | 
					  </files>
 | 
				
			||||||
 | 
					</package>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user