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
|
Reference in New Issue
Block a user