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:
parent
16520bb277
commit
b7fcf137ab
8 changed files with 117 additions and 2 deletions
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 }}
|
||||||
|
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -13,3 +13,5 @@
|
||||||
|
|
||||||
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>
|
Loading…
Reference in a new issue