Zwift updater #21544
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Zwift updater | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "0 * * * *" | |
jobs: | |
zwift_updater: | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 360 | |
concurrency: zwift | |
steps: | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Install dependencies | |
run: sudo apt-get install -y x11-xserver-utils x11-apps | |
- uses: netbrain/[email protected] | |
- name: Check for zwift update | |
run: | | |
set -x | |
export VERSION=$(curl -s http://cdn.zwift.com/gameassets/Zwift_Updates_Root/Zwift_ver_cur.xml | grep -oP 'sversion="\K.*?(?=")' | cut -f 1 -d ' ') | |
export IMAGE_VERSION=$(curl -s https://hub.docker.com/v2/repositories/netbrain/zwift/tags/ | jq -r '.results[1].name') | |
export BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') | |
echo "Latest zwift version is $VERSION" | |
echo "Latest zwift container image version is $IMAGE_VERSION" | |
if [[ "$IMAGE_VERSION" = "$VERSION" ]] | |
then | |
exit 0 | |
fi | |
echo "Starting update..." | |
Xvfb :99 -ac -screen 0 "800x600x24" -nolisten tcp & | |
sleep 3 | |
export DISPLAY=:99 | |
xhost + | |
docker run --name zwift \ | |
--privileged \ | |
-e DISPLAY=$DISPLAY \ | |
--device /dev/dri \ | |
-v /tmp:/tmp \ | |
netbrain/zwift:latest update | |
docker commit --change="LABEL org.opencontainers.image.created=$BUILD_DATE" \ | |
--change="LABEL org.opencontainers.image.version=$VERSION" \ | |
--change='CMD [""]' \ | |
-m "updated to version $VERSION" \ | |
zwift \ | |
netbrain/zwift:$VERSION | |
docker tag netbrain/zwift:$VERSION netbrain/zwift:latest | |
docker push netbrain/zwift:$VERSION | |
docker push netbrain/zwift:latest | |