Skip to content

Allow environment variables (#49) #161

Allow environment variables (#49)

Allow environment variables (#49) #161

Workflow file for this run

name: Build Image
on: [push, pull_request_target, workflow_dispatch]
env:
ENDPOINT: "thecaptain989/lidarr-flac2mp3"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set Vars
run: |
echo "ENDPOINT=${ENDPOINT}" >> $GITHUB_STEP_SUMMARY
# **** If the mod needs to be versioned, set the versioning logic below. Otherwise leave as is. ****
MOD_VERSION=${GITHUB_SHA:0:7}
echo "MOD_VERSION=${MOD_VERSION}" >> $GITHUB_ENV
echo "MOD_VERSION=${MOD_VERSION}" >> $GITHUB_STEP_SUMMARY
- name: Build image
run: |
docker buildx build --no-cache --build-arg MOD_VERSION=${MOD_VERSION} --tag ${ENDPOINT}:${{ github.sha }} .
- name: Tag image
run: |
if [[ '${{ github.ref_name }}' == 'master' ]]; then
IMAGETAG=${ENDPOINT}:latest
else
IMAGETAG="${ENDPOINT}:${{ github.ref_name }}"
fi
echo "IMAGETAG=${IMAGETAG}" >> $GITHUB_ENV
docker tag ${ENDPOINT}:${{ github.sha }} "${IMAGETAG}"
docker tag ${ENDPOINT}:${{ github.sha }} ghcr.io/${ENDPOINT}:${{ github.sha }}
docker tag ${ENDPOINT}:${{ github.sha }} ghcr.io/"${IMAGETAG}"
- name: Credential check
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: ${{ 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: ${{ env.CR_USER && env.CR_PAT }}
run: |
docker push ghcr.io/${ENDPOINT}:${{ github.sha }}
docker push ghcr.io/"${IMAGETAG}"
echo "Pushed the following images/tags to GHCR:" >> $GITHUB_STEP_SUMMARY
echo "ghcr.io/${ENDPOINT}:${{ github.sha }}" >> $GITHUB_STEP_SUMMARY
echo "ghcr.io/${IMAGETAG}" >> $GITHUB_STEP_SUMMARY
- name: Login to DockerHub
if: ${{ env.DOCKERUSER && env.DOCKERPASS }}
run: |
echo "${{ secrets.DOCKERPASS }}" | docker login -u "${{ secrets.DOCKERUSER }}" --password-stdin
- name: Push tags to DockerHub
if: ${{ env.DOCKERUSER && env.DOCKERPASS }}
run: |
docker push ${ENDPOINT}:${{ github.sha }}
docker push "${IMAGETAG}"
echo "Pushed the following images/tags to Docker Hub:" >> $GITHUB_STEP_SUMMARY
echo "${ENDPOINT}:${{ github.sha }}" >> $GITHUB_STEP_SUMMARY
echo "${IMAGETAG}" >> $GITHUB_STEP_SUMMARY