name: Create and publish a Docker image on: push: branches: ['main'] paths-ignore: - '**/README.md' schedule: - cron: '*/3 * * * *' env: IMAGE_NAME: ${{ github.repository }} jobs: push_to_registry: name: Push Docker image to Docker Hub runs-on: ubuntu-latest steps: - name: Get metadata from MTAPI repo uses: varunsridharan/action-repository-meta@main with: REPOSITORY: jonthornton/MTAPI env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Echo last push date for MTAPI repo run: echo $REPOSITORY_PUSHED_AT env: REPOSITORY_PUSHED_AT: ${{ env.REPOSITORY_PUSHED_AT }} - name: Set current date as env variable run: echo "NOW=$(date +%s)" >> $GITHUB_ENV - name: Calculate time difference between now and last push to MTAPI repo run: echo "SEC_SINCE_UPDATE=$((NOW - $(date --date $REPOSITORY_PUSHED_AT +%s)))" >> $GITHUB_ENV - name: Check variables run: echo $NOW && echo $SEC_SINCE_UPDATE - name: Check out the repo if: ${{ env.SEC_SINCE_UPDATE > 5184000 }} uses: actions/checkout@v3 - name: Check out MTAPI repo if: ${{ github.event.schedule }} || ${{ env.SEC_SINCE_UPDATE > 5184000 }} uses: actions/checkout@v3 with: repository: jonthornton/MTAPI path: MTAPI # - name: Log in to Docker Hub # uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 # with: # username: ${{ secrets.DOCKERHUB_USERNAME }} # password: ${{ secrets.DOCKERHUB_TOKEN }} # - name: Extract metadata (tags, labels) for Docker # id: meta # uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 # with: # images: ${{ env.IMAGE_NAME }} # - name: Build and push Docker image # uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc # with: # context: . # push: true # tags: ${{ steps.meta.outputs.tags }} # labels: ${{ steps.meta.outputs.labels }}