2023-10-03 20:51:06 +02:00
|
|
|
name: autobuildallthemods
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
- develop
|
|
|
|
- testing
|
|
|
|
paths:
|
|
|
|
- '**/docker-mods/**'
|
|
|
|
workflow_dispatch:
|
|
|
|
inputs:
|
|
|
|
app:
|
|
|
|
description: 'Select an app'
|
|
|
|
required: true
|
|
|
|
type: choice
|
|
|
|
options:
|
|
|
|
- radarr
|
|
|
|
- sonarr
|
|
|
|
- readarr
|
|
|
|
- lidarr
|
|
|
|
- bazarr
|
|
|
|
- whisparr
|
|
|
|
- prowlarr
|
|
|
|
- plex
|
|
|
|
- jellyfin
|
|
|
|
- emby
|
|
|
|
- sabnzbd
|
|
|
|
- synclounge
|
|
|
|
- transmission
|
|
|
|
- calibre-web
|
|
|
|
- lazylibrarian
|
|
|
|
- mylar3
|
|
|
|
- duplicati
|
|
|
|
- tautulli
|
|
|
|
- vuetorrent
|
|
|
|
- deluge
|
|
|
|
- jackett
|
|
|
|
- librespeed
|
|
|
|
- nzbget
|
|
|
|
- qbittorrent
|
|
|
|
- rutorrent
|
|
|
|
- swag
|
|
|
|
- thelounge
|
|
|
|
- build-all-the-mods
|
|
|
|
append-tag:
|
|
|
|
required: false
|
|
|
|
description: 'Append a the tag with "-custom" e.g :radarr-testing'
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
push_to_ghcr_io:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: checkout
|
|
|
|
uses: actions/checkout@v3.1.0
|
|
|
|
with:
|
|
|
|
fetch-depth: 0
|
|
|
|
- name: Login to GitHub Container Registry
|
|
|
|
uses: docker/login-action@v2.1.0
|
|
|
|
with:
|
|
|
|
registry: ghcr.io
|
|
|
|
username: ${{ secrets.GHCR_USER }}
|
|
|
|
password: ${{ secrets.GH_PAT }}
|
|
|
|
- name: Extract branch name
|
|
|
|
shell: bash
|
|
|
|
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
|
|
|
|
id: extract_branch
|
|
|
|
- name: build all on push
|
|
|
|
if: ${{ github.event_name == 'push' }}
|
|
|
|
run: |
|
|
|
|
branch=${{ steps.extract_branch.outputs.branch }}
|
|
|
|
|
|
|
|
if [ "$branch" = "master" ]; then
|
|
|
|
branch=""
|
|
|
|
else
|
|
|
|
branch="-$branch"
|
|
|
|
fi
|
|
|
|
for dir in docker-mods/*;
|
|
|
|
do
|
|
|
|
app="$( echo "$dir" | cut -d'/' -f2 -s )"
|
|
|
|
docker build docker-mods/$app --tag ghcr.io/${{ secrets.GHCR_USER }}/theme.park:$app$branch
|
|
|
|
docker push ghcr.io/${{ secrets.GHCR_USER }}/theme.park:$app$branch
|
|
|
|
done
|
|
|
|
- name: manually build
|
|
|
|
if: ${{ github.event.inputs.app && github.event.inputs.app != 'build-all-the-mods' }}
|
|
|
|
run: |
|
|
|
|
docker build docker-mods/${{ github.event.inputs.app }} --tag ghcr.io/${{ secrets.GHCR_USER }}/theme.park:${{ github.event.inputs.app }}${{ github.event.inputs.append-tag }}
|
|
|
|
docker push ghcr.io/${{ secrets.GHCR_USER }}/theme.park:${{ github.event.inputs.app }}${{ github.event.inputs.append-tag }}
|
|
|
|
- name: manually build all mods
|
|
|
|
if: ${{ github.event.inputs.app == 'build-all-the-mods' }}
|
|
|
|
run: |
|
|
|
|
for dir in docker-mods/*;
|
|
|
|
do
|
|
|
|
app="$( echo "$dir" | cut -d'/' -f2 -s )"
|
|
|
|
docker build docker-mods/$app --tag ghcr.io/${{ secrets.GHCR_USER }}/theme.park:$app${{ github.event.inputs.append-tag }}
|
|
|
|
docker push ghcr.io/${{ secrets.GHCR_USER }}/theme.park:$app${{ github.event.inputs.append-tag }}
|
|
|
|
done
|