Skip to content

.github/workflows/docker-image.yml #40

.github/workflows/docker-image.yml

.github/workflows/docker-image.yml #40

Workflow file for this run

on:
schedule:
- cron: '0 10 * * *'
jobs:
check-commit-build-new-version:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
- name: Fetch release version of ProfitTrailer
id: remote-check
run: |
echo ::set-output name=remote_tag_ver::$(curl -s -H 'Accept: application/vnd.github.v3+json' 'https://api.github.com/repos/taniman/profit-trailer/releases' | jq -r '.[0].tag_name')
- name: Check if we already have this version
id: local-check
run: |
echo ::set-output name=exists::$([ -z "`git tag -l | grep ^${{ steps.remote-check.outputs.remote_tag_ver }}$`" ] && echo "false" || echo "true")
- name: Tag latest release version
if: steps.local-check.outputs.exists == 'false'
run: |
git tag ${{ steps.remote-check.outputs.remote_tag_ver }}
git push --tags
- name: Build the Docker image
run: |
docker build . --file Dockerfile --build-arg PT_VER=${{ steps.remote-check.outputs.remote_tag_ver }} --tag dodancs/profit-trailer:${{ steps.remote-check.outputs.remote_tag_ver }}
docker tag dodancs/profit-trailer:${{ steps.remote-check.outputs.remote_tag_ver }} dodancs/profit-trailer:latest
docker tag dodancs/profit-trailer:${{ steps.remote-check.outputs.remote_tag_ver }} ghcr.io/dodancs/profit-trailer:${{ steps.remote-check.outputs.remote_tag_ver }}
docker tag dodancs/profit-trailer:${{ steps.remote-check.outputs.remote_tag_ver }} ghcr.io/dodancs/profit-trailer:latest
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Log in to the ghcr.io
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push the Docker images
run: |
docker push dodancs/profit-trailer:${{ steps.remote-check.outputs.remote_tag_ver }}
docker push dodancs/profit-trailer:latest
docker push ghcr.io/dodancs/profit-trailer:${{ steps.remote-check.outputs.remote_tag_ver }}
docker push ghcr.io/dodancs/profit-trailer:latest