Skip to content

Commit

Permalink
Devel/04232023 workflow (#54)
Browse files Browse the repository at this point in the history
SQUISH.
  • Loading branch information
rootwyrm authored Apr 27, 2023
1 parent 559654f commit 6ad09fd
Show file tree
Hide file tree
Showing 23 changed files with 319 additions and 275 deletions.
File renamed without changes.
66 changes: 53 additions & 13 deletions .github/workflows/ci_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
branches:
- devel/*
paths:
- container/**
- ci/**
- container/**
workflow_dispatch:

Expand All @@ -14,11 +14,12 @@ jobs:
############################################################
tc_docker:
name: "Development Build - tc_docker"
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
matrix:
container: [ tc_docker ]
env:
BRANCH: devel
CONTAINER: ${{ matrix.container }}
steps:
- name: Check out from ${{ github.ref }}
Expand All @@ -28,15 +29,48 @@ jobs:
id: hooks
run: |
$GITHUB_WORKSPACE/ci/hooks/pre_build
- name: Set tag
id: tag
- name: Setup qemu environment
uses: docker/setup-qemu-action@v2
- name: Setup buildx environment
uses: docker/setup-buildx-action@v2
- name: Log into ghcr.io
id: docker_login
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build ${{ matrix.container }}
id: docker_push
uses: docker/build-push-action@v3
with:
context: container/${{ matrix.container }}
platforms: linux/amd64, linux/aarch64
tags: ghcr.io/rootwyrm/${{ matrix.container }}:devel
pull: true
push: true
############################################################
# Services
############################################################
tc_services:
name: "Development Build - ${{ matrix.container }}"
runs-on: ubuntu-22.04
needs: tc_docker
strategy:
matrix:
container: [ tc_frontend, tc_nzbget, tc_qbittorrent, tc_lidarr, tc_radarr, tc_prowlarr, tc_mylar, tc_readarr, tc_sonarr ]
env:
BRANCH: devel
TALECASTER_BASE: devel
CONTAINER: ${{ matrix.container }}
steps:
- name: Check out from ${{ github.ref }}
id: checkout
uses: actions/checkout@v3
- name: Run pre-build hooks
id: hooks
run: |
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
[[ "${{ github.ref }} == "refs/tags/*" ]] && VERSION=$(echo $VERSION | sed -e 's/^v//')
[ "$VERSION" == "main" ] && VERSION="latest"
[ "$VERSION" == "latest" ] && VERSION="latest"
[ "$VERSION" == "devel" ] && VERSION="devel"
echo "::set-output name=VERSION::$(echo $VERSION)"
$GITHUB_WORKSPACE/ci/hooks/pre_build
- name: Setup qemu environment
uses: docker/setup-qemu-action@v2
- name: Setup buildx environment
Expand All @@ -46,10 +80,16 @@ jobs:
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ secrets.GHCR_USER }}
password: ${{ secrets.GHCR_TOKEN }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build ${{ matrix.container }}
id: docker_push
uses: docker/build-push-action@v3
with:
tags: rootwyrm/${{ matrix.container }}:${{ steps.tag.outputs.VERSION }}
context: container/${{ matrix.container }}
platforms: linux/amd64, linux/aarch64
tags: ghcr.io/rootwyrm/${{ matrix.container }}:${{ env.TALECASTER_BASE }}
build-args: |
TALECASTER_BASE=${{ env.TALECASTER_BASE }}
pull: true
push: true
95 changes: 95 additions & 0 deletions .github/workflows/ci_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: "CICD - Release"
on:
push:
branches:
- latest
paths:
- ci/**
- container/**
workflow_dispatch:

jobs:
############################################################
# Base Image Check
############################################################
tc_docker:
name: "Release Build - tc_docker"
runs-on: ubuntu-22.04
strategy:
matrix:
container: [ tc_docker ]
env:
BRANCH: latest
CONTAINER: ${{ matrix.container }}
steps:
- name: Check out from ${{ github.ref }}
id: checkout
uses: actions/checkout@v3
- name: Run pre-build hooks
id: hooks
run: |
$GITHUB_WORKSPACE/ci/hooks/pre_build
- name: Setup qemu environment
uses: docker/setup-qemu-action@v2
- name: Setup buildx environment
uses: docker/setup-buildx-action@v2
- name: Log into ghcr.io
id: docker_login
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build ${{ matrix.container }}
id: docker_push
uses: docker/build-push-action@v3
with:
context: container/${{ matrix.container }}
platforms: linux/amd64, linux/aarch64
tags: ghcr.io/rootwyrm/${{ matrix.container }}:devel
pull: true
push: true
############################################################
# Services
############################################################
tc_services:
name: "Release Build - ${{ matrix.container }}"
runs-on: ubuntu-22.04
needs: tc_docker
strategy:
matrix:
container: [ tc_frontend, tc_nzbget, tc_qbittorrent, tc_lidarr, tc_radarr, tc_prowlarr, tc_mylar, tc_readarr, tc_sonarr ]
env:
BRANCH: devel
TALECASTER_BASE: devel
CONTAINER: ${{ matrix.container }}
steps:
- name: Check out from ${{ github.ref }}
id: checkout
uses: actions/checkout@v3
- name: Run pre-build hooks
id: hooks
run: |
$GITHUB_WORKSPACE/ci/hooks/pre_build
- name: Setup qemu environment
uses: docker/setup-qemu-action@v2
- name: Setup buildx environment
uses: docker/setup-buildx-action@v2
- name: Log into ghcr.io
id: docker_login
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build ${{ matrix.container }}
id: docker_push
uses: docker/build-push-action@v3
with:
context: container/${{ matrix.container }}
platforms: linux/amd64, linux/aarch64
tags: ghcr.io/rootwyrm/${{ matrix.container }}:${{ env.TALECASTER_BASE }}
build-args: |
TALECASTER_BASE=${{ env.TALECASTER_BASE }}
pull: true
push: true
29 changes: 29 additions & 0 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: CICD - Dockerfile Linter
on:
push:
paths:
- container/**
pull_request:
paths:
- container/**
workflow_dispatch:
workflow_call:

jobs:
############################################################
# Linter
############################################################
linter:
strategy:
matrix:
lint: [ ./tc_bazarr/Dockerfile, ./tc_docker/Dockerfile, ./tc_frontend/Dockerfile, ./tc_lidarr/Dockerfile, ./tc_mylar/Dockerfile, ./tc_nzbget/Dockerfile, ./tc_prowlarr/Dockerfile, ./tc_qbittorrent/Dockerfile, ./tc_radarr/Dockerfile, ./tc_readarr/Dockerfile, ./tc_sonarr/Dockerfile ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: lint
uses: luke142367/Docker-Lint-Action@master
with:
target: ${{ matrix.lint }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70 changes: 4 additions & 66 deletions .github/workflows/merge_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@
# Licensed under CC-BY-NC-4.0
# See /LICENSE for details
################################################################################
name: CICD - Pull Request Validator
name: CICD - Linter
on:
pull_request:
branches:
- latest
- devel/*
paths:
- container/**
- ci/**
workflow_dispatch:

## Restructure to build our cores separate...
jobs:
############################################################
# tc_docker, tc_mono
# Linter
############################################################
tc_docker:
name: Pull Request - tc_docker
Expand Down Expand Up @@ -50,35 +50,6 @@ jobs:
pull: true
push: false
tags: rootwyrm/${{ matrix.container }}:merge
tc_mono:
name: Pull Request - tc_mono
runs-on: ubuntu-latest
strategy:
matrix:
container: [ tc_mono ]
env:
CONTAINER: ${{ matrix.container }}
steps:
- name: Check out from ${{ github.ref }}
id: checkout
uses: actions/checkout@v2
- name: Test pre-build hooks
id: hooks
run: |
$GITHUB_WORKSPACE/ci/hooks/pre_build
- name: Setup qemu environment
uses: docker/setup-qemu-action@v1
- name: Setup buildx environment
uses: docker/setup-buildx-action@v1
- name: Build ${{ matrix.container }}
id: docker_nopush
uses: docker/build-push-action@v2
with:
platforms: linux/amd64, linux/arm64
context: container/${{ matrix.container }}
pull: true
push: false
tags: rootwyrm/${{ matrix.container }}:merge
############################################################
# tc_qbittorrent - takes 1hr+
############################################################
Expand Down Expand Up @@ -117,40 +88,7 @@ jobs:
needs: tc_docker
strategy:
matrix:
container: [ tc_frontend, tc_nzbget, tc_transmission, tc_lidarr, tc_radarr, tc_prowlarr ]
env:
CONTAINER: ${{ matrix.container }}
steps:
- name: Check out from ${{ github.ref }}
id: checkout
uses: actions/checkout@v2
- name: Test pre-build hooks
id: hooks
run: |
$GITHUB_WORKSPACE/ci/hooks/pre_build
- name: Setup qemu environment
uses: docker/setup-qemu-action@v1
- name: Setup buildx environment
uses: docker/setup-buildx-action@v1
- name: Build ${{ matrix.container }}
id: docker_nopush
uses: docker/build-push-action@v2
with:
platforms: linux/amd64, linux/arm64
context: container/${{ matrix.container }}
pull: true
push: false
tags: rootwyrm/${{ matrix.container }}:merge
############################################################
# tc_mono children
############################################################
tc_mono_child:
name: Pull request - tc_mono children
runs-on: ubuntu-latest
needs: tc_mono
strategy:
matrix:
container: [ tc_jackett, tc_sonarr ]
container: [ tc_frontend, tc_nzbget, tc_sonarr, tc_transmission, tc_lidarr, tc_radarr, tc_prowlarr ]
env:
CONTAINER: ${{ matrix.container }}
steps:
Expand Down
File renamed without changes.
File renamed without changes.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
# talecaster
TaleCaster - The Ultimate Media Management Solution
[Sponsor on GitHub](https://github.com/sponsors/rootwyrm) | [Sponsor on Patreon](https://patreon.com/rootwyrm)

# IMPORTANT: Image Migration!

**Due to [Docker Hub's extreme hostility toward open source](https://blog.alexellis.io/docker-is-deleting-open-source-images/), images will be migrating to a new registry. I do not have several hundred dollars per year and this project certainly doesn't. Please stay tuned.**
**Due to [Docker Hub's extreme hostility toward open source](https://blog.alexellis.io/docker-is-deleting-open-source-images/), images will be migrating to GitHub Container Registry!**

Containers will now be found at `ghcr.io/rootwyrm/tc_*`

[![GitHub issues](https://img.shields.io/github/issues/rootwyrm/talecaster?style=for-the-badge)](https://github.com/rootwyrm/talecaster/issues)[![GitHub forks](https://img.shields.io/github/forks/rootwyrm/talecaster?style=for-the-badge)](https://github.com/rootwyrm/talecaster/network)[![GitHub stars](https://img.shields.io/github/stars/rootwyrm/talecaster?style=for-the-badge)](https://github.com/rootwyrm/talecaster/stargazers)[![GitHub license](https://img.shields.io/github/license/rootwyrm/talecaster?style=for-the-badge)](https://github.com/rootwyrm/talecaster)

Expand All @@ -13,14 +16,11 @@ All credit goes to sgallagh for the name :)

[Sponsor on GitHub](https://github.com/sponsors/rootwyrm) | [Sponsor on Patreon](https://patreon.com/rootwyrm)

Our primary development environment is generously hosted by @rootwyrm using [Dragon North Enterprise Systems](https://www.dragonnorth.systems) BabyDragon Gen.5 and Gen.6 hardware. Available for purchase now.

Our secondary development hardware, named `alexandria.dragonnorth.systems`, is a Dragon North RedTail Gen.7B provided by [Dragon North Enterprise Systems](https://www.dragonnorth.systems).
Our primary development environments are hosted by @rootwyrm using [Dragon North Enterprise Systems](https://www.dragonnorth.systems) using a mix of BabyDragon, BabyGryphon, Gryphon, RedTail, and Shrike hardware.

## WARNING: Under active development. Pre-release software.



# Build Status
| Base Image | | | | |
|-------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|
Expand All @@ -32,11 +32,11 @@ Our secondary development hardware, named `alexandria.dragonnorth.systems`, is a

# Linux
Docker-based 'basic' configurations are validated and working, and documentation is in progress!
TaleCaster is designed to be deployed using `docker-compose` as a full application suite and comes with a web front end.
TaleCaster requires deployment using `docker-compose` as a full application suite and comes with a web front end.

# HALP PLEASE!
* Documentation! Documenting how to set up TaleCaster, Synology, etc.
* The build status table is a nightmare. There has to be a better way?

# FreeBSD
Work on FreeBSD has been discontinued due to applications migrating to .NET Runtime. FreeBSD core and portmgr have been openly hostile to Mono and .NET, preventing any serious porting efforts. Existing installations should migrate to the Linux distribution of their preference and use Docker.
Work on FreeBSD has been discontinued due to a lack of time and FreeBSD being generally ambivalent and uncooperative toward .NET, severely impeding porting efforts.
8 changes: 4 additions & 4 deletions ci/hooks/pre_build
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ if [ -z $CONTAINER ]; then
fi

export RW_BUILDDATE=$(date '+%FT%T.%N%:z')
if [ -z $STATUS ]; then
export STATUS="latest"
if [ -z $BRANCH ]; then
export BRANCH="latest"
fi
if [ -z $GITHUB_REF ]; then
export REF="HEAD"
Expand All @@ -40,8 +40,8 @@ else
TGT=$1
fi

printf 'Replacing STATUS with %s\n' "$STATUS"
sed -i -e 's,%%STATUS%%,'${STATUS}',g' $TGT
printf 'Replacing STATUS with %s\n' "$BRANCH"
sed -i -e 's,%%STATUS%%,'${BRANCH}',g' $TGT

printf 'Replacing VCS_REF with %s\n' "$VCS_REF"
sed -i -e 's,%%VCS_REF%%,'$VCS_REF',g' $TGT
Expand Down
Loading

0 comments on commit 6ad09fd

Please sign in to comment.