This repository has been archived by the owner on Jun 5, 2024. It is now read-only.
[MAJOR]
Add Go Server for Game Streaming in Watch Party
#86
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: Build docker nvidia | |
#TODO: find a way to test client and server before running the docker container, seems effective in catching any errors | |
on: | |
pull_request: | |
jobs: | |
build-go: | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: Checkout repo | |
uses: actions/checkout@v3 | |
- | |
name: Set up Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: 1.18 | |
- | |
name: Build binary | |
run: go build -o arc3dia -v ./ | |
- | |
name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: gobinary | |
path: ./arc3dia | |
retention-days: 5 | |
build-docker-nvidia: | |
name: Build nvidia Docker image | |
runs-on: ubuntu-latest | |
needs: | |
- build-go | |
steps: | |
- | |
name: Checkout repo | |
uses: actions/checkout@v3 | |
- | |
name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- | |
name: Download go binary | |
uses: actions/download-artifact@v3 | |
with: | |
name: gobinary | |
path: ./ | |
- | |
name: Build Docker image | |
uses: docker/build-push-action@v4 | |
with: | |
context: ./ | |
file: docker/nvidia/Dockerfile | |
push: false | |
load: true | |
tags: arc3dia:nvidia | |
- | |
name: Run Docker Container | |
#error code 124 is timeout error | |
run: | | |
set -o pipefail | |
output=$(timeout 20s docker run arc3dia:nvidia 2>&1) || exitcode=$? | |
if [[ $exitcode != 0 && $exitcode != 124 ]]; then | |
echo "$output" | |
exit $exitcode | |
else | |
echo "$output" | |
echo -e "\033[01;34mDocker run successful\033[0m" | |
exit 0 | |
fi | |
shell: bash |