add act runner addon

This commit is contained in:
ai-dev 2024-11-01 17:25:52 +01:00
parent 563f653c05
commit 6a63531f21
3 changed files with 88 additions and 0 deletions

View File

@ -0,0 +1,39 @@
ARG BUILD_FROM
FROM $BUILD_FROM
ENV LANG C.UTF-8
# Setup base system
ARG \
BUILD_ARCH
# Install necessary dependencies
RUN apk add --no-cache git docker-cli python3 py3-pip && \
curl -s https://raw.githubusercontent.com/nektos/act/master/install.sh | bash
# Install Ansible via pip
RUN pip3 install --no-cache-dir ansible
# Optional: Additional steps for SSH/GitHub authentication or configuration
# Copy your add-on scripts and configuration files
COPY run.sh /run.sh
RUN chmod +x /run.sh
CMD [ "/run.sh" ]
# Labels
LABEL \
io.hass.name="Act Runner" \
io.hass.description="Gitea act runner" \
io.hass.arch="${BUILD_ARCH}" \
io.hass.type="addon" \
io.hass.version="v0.0.0"\
maintainer="feres mezned" \
org.opencontainers.image.title="Act runner" \
org.opencontainers.image.description="Gitea act runner" \
org.opencontainers.image.vendor="Home Assistant Local Add-ons" \
org.opencontainers.image.authors="Feres MEZNED" \
org.opencontainers.image.licenses="NO" \
org.opencontainers.image.url="https://mezgit.duckdns.org/mezned/HAddons" \
org.opencontainers.image.source="https://mezgit.duckdns.org/mezned/HAddons/gitea_act_runner"

View File

@ -0,0 +1,34 @@
name: "Act Runner and Ansible Add-on"
version: "1.0.0"
slug: "act_runner_ansible"
description: "Home Assistant add-on that runs Act runner with Gitea integration."
arch:
- aarch64
- amd64
- armhf
- armv7
- i386
startup: "application"
boot: "auto"
options:
gitea_url: "https://your-gitea-instance.com"
gitea_token: "your_token"
repository: "user/repository"
act_runner_options: "--secret-file my.secrets --env-file my.env"
schema:
gitea_url:
type: string
description: "The URL of the Gitea server to register the Act runner."
required: true
gitea_token:
type: string
description: "The token for authenticating with Gitea."
required: true
repository:
type: string
description: "The Gitea repository to register the runner with, in 'user/repository' format."
required: true
act_runner_options:
type: string
description: "Additional options to pass to Act runner."
required: false

15
gitea_act_runner/run.sh Normal file
View File

@ -0,0 +1,15 @@
#!/bin/bash
# Load configuration from Home Assistant
GITEA_URL=$(bashio::config 'gitea_url')
GITEA_TOKEN=$(bashio::config 'gitea_token')
REPOSITORY=$(bashio::config 'repository')
ACT_OPTIONS=$(bashio::config 'act_runner_options')
# Register Act runner with Gitea (if needed)
curl -X POST "$GITEA_URL/api/v1/repos/$REPOSITORY/actions/runners" \
-H "Authorization: token $GITEA_TOKEN" \
-d '{ "name": "Act Runner", "labels": ["self-hosted"] }'
# Run Act with specified options
act $ACT_OPTIONS