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:
Casey Lee
2020-03-09 17:49:55 -07:00
committed by GitHub
parent 16520bb277
commit b7fcf137ab
8 changed files with 117 additions and 2 deletions

34
.github/actions/choco/Dockerfile vendored Normal file
View 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
View 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
View 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