name: Docker Image CI on: push: branches: [ master ] pull_request: branches: [ master ] schedule: - cron: "0 * * * *" jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Check new version id: status run: | LOCALAPPVER=($(cat sandstorm.version)) REMOTEAPPVER=($(curl -s -X GET 'https://api.steamcmd.net/v1/info/581330' | jq -r -e '.data."581330".depots."581333".manifests.public')) if [[ "$LOCALAPPVER" != "$REMOTEAPPVER" ]]; then echo "$REMOTEAPPVER" > sandstorm.version exit 0 else exit 1 fi shell: /bin/bash - name: Login to DockerHub if: steps.status.outcome == 'success' uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push id: build if: steps.status.outcome == 'success' uses: docker/build-push-action@v2 with: context: . push: true tags: andrewmhub/insurgency-sandstorm:latest - name: login to git if: steps.status.outcome == 'success' run: | git config --global user.name 'Andrew Marchukov' git config --global user.email "${EMAIL}" git remote set-url origin https://x-access-token:${{ secrets.GIT_TOKEN }}@github.com/AndrewMarchukov/insurgency-sandstorm-server-dockerize.git - name: check for changes run: git status - name: stage changed files run: git add sandstorm.version - name: commit changed files run: git commit -m "Auto updating sandstorm.version" - name: fetch from master run: git fetch origin master - name: push code to master run: git push origin HEAD:master