mirror of
https://github.com/gilbN/theme.park.git
synced 2024-11-19 17:42:32 +01:00
140 lines
5.1 KiB
YAML
140 lines
5.1 KiB
YAML
name: autobuildallthemods
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
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@v2
|
|
with:
|
|
fetch-depth: 0
|
|
- name: get changed files
|
|
id: getfile
|
|
run: |
|
|
echo "::set-output name=files::$(git diff-tree --no-commit-id --name-only -r ${{ github.sha }} docker-mods/| xargs)"
|
|
- name: Login to GitHub Container Registry
|
|
uses: docker/login-action@v1
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ github.repository_owner }}
|
|
password: ${{ secrets.GH_PAT }}
|
|
- name: find correct directory then build&push
|
|
if: ${{ github.event_name == 'push' }}
|
|
run: |
|
|
for i in ${{ steps.getfile.outputs.files }}
|
|
do
|
|
directory="$( echo $i | cut -d'/' -f2 -s )"
|
|
if [ -z "$directory" ]; then
|
|
continue # Skip root dir
|
|
elif [ "$i" == *.md ]; then
|
|
continue # Skip markdown files
|
|
elif [ "$i" == *.yml ]; then
|
|
continue # Skip YAML files
|
|
fi
|
|
docker build docker-mods/$directory --tag ghcr.io/gilbn/theme.park:$directory
|
|
docker push ghcr.io/gilbn/theme.park:$directory
|
|
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/gilbn/theme.park:${{ github.event.inputs.app }}${{ github.event.inputs.append-tag }}
|
|
docker push ghcr.io/gilbn/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/gilbn/theme.park:$app${{ github.event.inputs.append-tag }}
|
|
docker push ghcr.io/gilbn/theme.park:$app${{ github.event.inputs.append-tag }}
|
|
done
|
|
push_to_dockerhub:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
- name: get changed files
|
|
id: getfile
|
|
run: |
|
|
echo "::set-output name=files::$(git diff-tree --no-commit-id --name-only -r ${{ github.sha }} docker-mods/| xargs)"
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v1
|
|
with:
|
|
username: ${{ secrets.DH_USER }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
- name: find correct directory then build&push
|
|
if: ${{ github.event_name == 'push' }}
|
|
run: |
|
|
for i in ${{ steps.getfile.outputs.files }}
|
|
do
|
|
directory="$( echo $i | cut -d'/' -f2 -s )"
|
|
if [ -z "$directory" ]; then
|
|
continue # Skip root dir
|
|
elif [ "$i" == *.md ]; then
|
|
continue # Skip markdown files
|
|
elif [ "$i" == *.yml ]; then
|
|
continue # Skip YAML files
|
|
fi
|
|
docker build docker-mods/$directory --tag gilbn/theme.park:$directory
|
|
docker push gilbn/theme.park:$directory
|
|
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 gilbn/theme.park:${{ github.event.inputs.app }}${{ github.event.inputs.append-tag }}
|
|
docker push gilbn/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 gilbn/theme.park:$app${{ github.event.inputs.append-tag }}
|
|
docker push gilbn/theme.park:$app${{ github.event.inputs.append-tag }}
|
|
done
|