From 3e33ec6a7015ad771afbe568eed9d6b4d07c7b4c Mon Sep 17 00:00:00 2001 From: Eric Nemchik Date: Sun, 1 Nov 2020 15:36:02 -0600 Subject: [PATCH 1/3] Switch to GHA, add GHCR --- .github/workflows/BuildImage.yml | 62 ++++++++++++++++++++++++++++++++ .travis.yml | 43 ---------------------- 2 files changed, 62 insertions(+), 43 deletions(-) create mode 100644 .github/workflows/BuildImage.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/BuildImage.yml b/.github/workflows/BuildImage.yml new file mode 100644 index 0000000..6d83a2c --- /dev/null +++ b/.github/workflows/BuildImage.yml @@ -0,0 +1,62 @@ +name: Build Image + +on: [push, pull_request, workflow_dispatch] + +env: + ENDPOINT: "linuxserver/mods" #don't modify + BASEIMAGE: "radarr" #replace + MODNAME: "striptracks" #replace + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2.3.3 + + - name: Build image + run: | + docker build --no-cache -t ${{ github.sha }} . + + - name: Tag image + if: ${{ github.ref == format('refs/heads/{0}-{1}', env.BASEIMAGE, env.MODNAME) }} + run: | + docker tag ${{ github.sha }} ${ENDPOINT}:${BASEIMAGE}-${MODNAME} + docker tag ${{ github.sha }} ${ENDPOINT}:${BASEIMAGE}-${MODNAME}-${{ github.sha }} + docker tag ${{ github.sha }} ghcr.io/${ENDPOINT}:${BASEIMAGE}-${MODNAME} + docker tag ${{ github.sha }} ghcr.io/${ENDPOINT}:${BASEIMAGE}-${MODNAME}-${{ github.sha }} + + - name: Credential check + if: ${{ github.ref == format('refs/heads/{0}-{1}', env.BASEIMAGE, env.MODNAME) }} + run: | + echo "CR_USER=${{ secrets.CR_USER }}" >> $GITHUB_ENV + echo "CR_PAT=${{ secrets.CR_PAT }}" >> $GITHUB_ENV + echo "DOCKERUSER=${{ secrets.DOCKERUSER }}" >> $GITHUB_ENV + echo "DOCKERPASS=${{ secrets.DOCKERPASS }}" >> $GITHUB_ENV + if [[ "${{ secrets.CR_USER }}" == "" && "${{ secrets.CR_PAT }}" == "" && "${{ secrets.DOCKERUSER }}" == "" && "${{ secrets.DOCKERPASS }}" == "" ]]; then + echo "::error::Push credential secrets missing." + echo "::error::You must set either CR_USER & CR_PAT or DOCKERUSER & DOCKERPASS as secrets in your repo settings." + echo "::error::See https://github.com/linuxserver/docker-mods/blob/master/README.md for more information/instructions." + exit 1 + fi + + - name: Login to GitHub Container Registry + if: ${{ github.ref == format('refs/heads/{0}-{1}', env.BASEIMAGE, env.MODNAME) && env.CR_USER && env.CR_PAT }} + run: | + echo "${{ secrets.CR_PAT }}" | docker login ghcr.io -u ${{ secrets.CR_USER }} --password-stdin + + - name: Push tags to GitHub Container Registry + if: ${{ github.ref == format('refs/heads/{0}-{1}', env.BASEIMAGE, env.MODNAME) && env.CR_USER && env.CR_PAT }} + run: | + docker push ghcr.io/${ENDPOINT}:${BASEIMAGE}-${MODNAME}-${{ github.sha }} + docker push ghcr.io/${ENDPOINT}:${BASEIMAGE}-${MODNAME} + + - name: Login to DockerHub + if: ${{ github.ref == format('refs/heads/{0}-{1}', env.BASEIMAGE, env.MODNAME) && env.DOCKERUSER && env.DOCKERPASS }} + run: | + echo ${{ secrets.DOCKERPASS }} | docker login -u ${{ secrets.DOCKERUSER }} --password-stdin + + - name: Push tags to DockerHub + if: ${{ github.ref == format('refs/heads/{0}-{1}', env.BASEIMAGE, env.MODNAME) && env.DOCKERUSER && env.DOCKERPASS }} + run: | + docker push ${ENDPOINT}:${BASEIMAGE}-${MODNAME}-${{ github.sha }} + docker push ${ENDPOINT}:${BASEIMAGE}-${MODNAME} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 7c89849..0000000 --- a/.travis.yml +++ /dev/null @@ -1,43 +0,0 @@ -os: linux - -language: shell - -branches: - only: - - radarr-striptracks #replace variables, omit brackets - -services: - - docker - -env: - global: - - DOCKERHUB="linuxserver/mods" #don't modify - - BASEIMAGE="radarr" #replace - - MODNAME="striptracks" #replace - -jobs: - include: - - stage: PR-BuildImage - if: (type IN (pull_request)) - script: - # Build variables - - VERSION=$(git describe --tags --always) - # Build image - - docker build --no-cache - --build-arg VERSION=${VERSION} - -t ${DOCKERHUB}:${BASEIMAGE}-${MODNAME}-${TRAVIS_COMMIT} . - - stage: BuildImage - if: (NOT (type IN (pull_request))) - script: - # Build variables - - VERSION=$(git describe --tags --always) - # Build image - - docker build --no-cache - --build-arg VERSION=${VERSION} - -t ${DOCKERHUB}:${BASEIMAGE}-${MODNAME}-${TRAVIS_COMMIT} . - - docker tag ${DOCKERHUB}:${BASEIMAGE}-${MODNAME}-${TRAVIS_COMMIT} ${DOCKERHUB}:${BASEIMAGE}-${MODNAME} - # Login to DockerHub - - echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin - # Push all of the tags - - docker push ${DOCKERHUB}:${BASEIMAGE}-${MODNAME}-${TRAVIS_COMMIT} - - docker push ${DOCKERHUB}:${BASEIMAGE}-${MODNAME} \ No newline at end of file From 8963e74ee725d5dd65deee4de956fb7bee4210c5 Mon Sep 17 00:00:00 2001 From: Eric Nemchik Date: Mon, 2 Nov 2020 11:53:55 -0600 Subject: [PATCH 2/3] Update BuildImage.yml --- .github/workflows/BuildImage.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/BuildImage.yml b/.github/workflows/BuildImage.yml index 6d83a2c..1eabef5 100644 --- a/.github/workflows/BuildImage.yml +++ b/.github/workflows/BuildImage.yml @@ -15,7 +15,10 @@ jobs: - name: Build image run: | - docker build --no-cache -t ${{ github.sha }} . + # Build variables + VERSION=$(git describe --tags --always) + # Build image + docker build --no-cache --build-arg VERSION=${VERSION} -t ${{ github.sha }} . - name: Tag image if: ${{ github.ref == format('refs/heads/{0}-{1}', env.BASEIMAGE, env.MODNAME) }} From a89dde4d686124c79c1c46470a4a7dc708dfb05e Mon Sep 17 00:00:00 2001 From: aptalca Date: Mon, 2 Nov 2020 16:50:07 -0500 Subject: [PATCH 3/3] change baseimage to ghcr --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 45aa101..a280fb2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ ## Buildstage ## -FROM lsiobase/ubuntu:xenial as buildstage +FROM ghcr.io/linuxserver/baseimage-alpine:3.12 as buildstage # Build arguments ARG VERSION