diff --git a/.github/workflows/lscr.yml b/.github/workflows/lscr.yml new file mode 100644 index 0000000..614e578 --- /dev/null +++ b/.github/workflows/lscr.yml @@ -0,0 +1,147 @@ +# This is a basic workflow to help you get started with Actions + +name: DockerMod Builds + +# Controls when the workflow will run +on: + workflow_dispatch: + push: + branches: + - 'master' + - 'dev' + - 'experimental' + tags: + - 'v*.*.*' + pull_request: + branches: + - 'master' + - 'dev' + +permissions: + contents: read + packages: write + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + build-pms-docker-mod: + runs-on: ubuntu-latest + steps: + # Get the repositery's code + - name: Checkout + uses: actions/checkout@v3 + + # https://github.com/docker/setup-buildx-action + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to GHCR + if: github.event_name != 'pull_request' + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Login to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Docker meta for PMS-dockermod + id: meta_pms_dockermod + uses: docker/metadata-action@v4 + with: + # list of Docker images to use as base name for tags + images: | + pabloromeo/clusterplex_dockermod + ghcr.io/pabloromeo/clusterplex_dockermod + # generate Docker tags based on the following events/attributes + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha + - name: Build and push PMS-dockermod + uses: docker/build-push-action@v3 + with: + context: ./pms + file: ./pms/docker-mod/Dockerfile + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta_pms_dockermod.outputs.tags }} + labels: ${{ steps.meta_pms_dockermod.outputs.labels }} + - name: Docker Hub Description + if: github.event_name != 'pull_request' + uses: peter-evans/dockerhub-description@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + repository: pabloromeo/clusterplex_dockermod + readme-filepath: ./README.md + short-description: "ClusterPlex Dockermod for the LinuxServer/Plex image" + + build-worker-docker-mod: + runs-on: ubuntu-latest + steps: + # Get the repositery's code + - name: Checkout + uses: actions/checkout@v3 + + # https://github.com/docker/setup-buildx-action + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to GHCR + if: github.event_name != 'pull_request' + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Login to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Docker meta for worker-dockermod + id: meta_worker_dockermod + uses: docker/metadata-action@v4 + with: + # list of Docker images to use as base name for tags + images: | + pabloromeo/clusterplex_worker_dockermod + ghcr.io/pabloromeo/clusterplex_worker_dockermod + # generate Docker tags based on the following events/attributes + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha + - name: Build and push worker-dockermod + uses: docker/build-push-action@v3 + with: + context: ./worker + file: ./worker/docker-mod/Dockerfile + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta_worker_dockermod.outputs.tags }} + labels: ${{ steps.meta_worker_dockermod.outputs.labels }} + - name: Docker Hub Description + if: github.event_name != 'pull_request' + uses: peter-evans/dockerhub-description@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + repository: pabloromeo/clusterplex_worker_dockermod + readme-filepath: ./README.md + short-description: "ClusterPlex Worker Dockermod for the LinuxServer/Plex image" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e5960e8..7753ef4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,6 +5,8 @@ name: Docker Builds # Controls when the workflow will run on: workflow_dispatch: + schedule: + - cron: '0 1 * * *' push: branches: - 'master' @@ -89,67 +91,7 @@ jobs: repository: pabloromeo/clusterplex_pms readme-filepath: ./README.md short-description: "PMS image for ClusterPlex" - build-pms-docker-mod: - runs-on: ubuntu-latest - steps: - # Get the repositery's code - - name: Checkout - uses: actions/checkout@v3 - - # https://github.com/docker/setup-buildx-action - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v2 - - - name: Login to GHCR - if: github.event_name != 'pull_request' - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Login to Docker Hub - if: github.event_name != 'pull_request' - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Docker meta for PMS-dockermod - id: meta_pms_dockermod - uses: docker/metadata-action@v4 - with: - # list of Docker images to use as base name for tags - images: | - pabloromeo/clusterplex_dockermod - ghcr.io/pabloromeo/clusterplex_dockermod - # generate Docker tags based on the following events/attributes - tags: | - type=schedule - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=semver,pattern={{major}} - type=sha - - name: Build and push PMS-dockermod - uses: docker/build-push-action@v3 - with: - context: ./pms - file: ./pms/docker-mod/Dockerfile - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta_pms_dockermod.outputs.tags }} - labels: ${{ steps.meta_pms_dockermod.outputs.labels }} - - name: Docker Hub Description - if: github.event_name != 'pull_request' - uses: peter-evans/dockerhub-description@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - repository: pabloromeo/clusterplex_dockermod - readme-filepath: ./README.md - short-description: "ClusterPlex Dockermod for the LinuxServer/Plex image" - + build-worker: runs-on: ubuntu-latest steps: @@ -219,69 +161,6 @@ jobs: readme-filepath: ./README.md short-description: "Worker image for ClusterPlex" - build-worker-docker-mod: - runs-on: ubuntu-latest - steps: - # Get the repositery's code - - name: Checkout - uses: actions/checkout@v3 - - # https://github.com/docker/setup-buildx-action - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v2 - - - name: Login to GHCR - if: github.event_name != 'pull_request' - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Login to Docker Hub - if: github.event_name != 'pull_request' - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - - name: Docker meta for worker-dockermod - id: meta_worker_dockermod - uses: docker/metadata-action@v4 - with: - # list of Docker images to use as base name for tags - images: | - pabloromeo/clusterplex_worker_dockermod - ghcr.io/pabloromeo/clusterplex_worker_dockermod - # generate Docker tags based on the following events/attributes - tags: | - type=schedule - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=semver,pattern={{major}} - type=sha - - name: Build and push worker-dockermod - uses: docker/build-push-action@v3 - with: - context: ./worker - file: ./worker/docker-mod/Dockerfile - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta_worker_dockermod.outputs.tags }} - labels: ${{ steps.meta_worker_dockermod.outputs.labels }} - - name: Docker Hub Description - if: github.event_name != 'pull_request' - uses: peter-evans/dockerhub-description@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - repository: pabloromeo/clusterplex_worker_dockermod - readme-filepath: ./README.md - short-description: "ClusterPlex Worker Dockermod for the LinuxServer/Plex image" - build-orchestrator: runs-on: ubuntu-latest steps: