Skip to content

Zwift matrix build

Zwift matrix build #1

name: Zwift matrix build
on:
workflow_dispatch:
jobs:
zwift_build:
runs-on: ubuntu-22.04
timeout-minutes: 360
strategy:
matrix:
wine-version: ["8.0.2~bookworm-1", "8.0.1~bookworm-1", "8.0.0.0~bookworm-1", "7.0.2~bookworm-1", "7.0.1~bookworm-1", "7.0.0.0~bookworm-1", "6.0.4~bookworm-1", "6.0.3~bookworm-1", "6.0.2~bookworm-1"]
winetricks-version: ["master", "20230212", "20210206"]
wine-mono-version: ["7.0.0","7.1.0","7.1.1","7.2.0","7.3.0","7.4.0","8.0.0","8.1.0"]
steps:
- name: Login to Docker Hub
uses: docker/login-action@v2
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: Checkout
uses: actions/checkout@v4
- name: Build zwift
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 BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')
echo "Starting build..."
Xvfb :99 -ac -screen 0 "800x600x24" -nolisten tcp &
sleep 3
export DISPLAY=:99
docker build \
--build-arg="WINE_VERSION=${{ matrix.wine-version }}" \
--build-arg="WINETRICKS_VERSION=${{ matrix.winetricks-version }}" \
--build-arg="WINE_MONO_VERSION=${{ matrix.wine-mono-version }}" \
-t netbrain/zwift:build .
xhost +
docker run --name zwift \
--privileged \
-e DISPLAY=$DISPLAY \
--device /dev/dri \
-v /tmp:/tmp \
netbrain/zwift:build