name: 🤓 Individual Runners on: push: branches: [main] paths: - versions.txt - dockerfiles/runner.dockerfile - .gitea/workflows/create-image.yaml workflow_dispatch: inputs: unity_version: description: 'Unity Version' required: false default: '6000.0.35f1' type: string platform: description: 'Platform' required: false default: 'all' type: choice options: - all - webgl - android - ios - mac-mono - windows-mono - linux-il2cpp jobs: build-docker: runs-on: ubuntu-latest env: DOCKER_REGISTRY_DOMAIN: gitea.lakes.house DOCKER_REGISTRY: gitea.lakes.house/${{ gitea.repository_owner }}/${{ gitea.repository }}/ UNITY_VERSION: ${{ github.event.inputs.unity_version }} GAMECI_OS: ubuntu GAMECI_VERSION: 3 strategy: max-parallel: 2 matrix: platform: - webgl - android - ios - mac-mono - windows-mono - linux-il2cpp name: Build 🐳 ${{ matrix.platform }} if: ${{ github.event.inputs.platform == 'all' || github.event.inputs.platform == '' || github.event.inputs.platform == matrix.platform }} steps: - uses: actions/checkout@v4 - name: Login to Gitea Docker Registry uses: docker/login-action@v3 with: registry: ${{ env.DOCKER_REGISTRY_DOMAIN }} username: ${{ gitea.actor }} password: ${{ secrets.REGISTRY_TOKEN }} - name: Get Unity Version if: ${{ github.event.inputs.unity_version == '' }} run: | VERSION=$(head -n 1 versions.txt) echo "UNITY_VERSION=$VERSION" >> $GITHUB_ENV echo "Unity Version: $VERSION" - name: Docker Build run: .gitea/workflows/scripts/build-runner-image.sh id: build-image env: UNITY_VERSION: ${{ env.UNITY_VERSION }} UNITY_MODULES: ${{ matrix.platform }} GAMECI_VERSION: ${{ env.GAMECI_VERSION }} GAMECI_OS: ${{ env.GAMECI_OS }} IMAGE: ${{ env.DOCKER_REGISTRY }}unityci/editor TAG: ${{ env.GAMECI_OS }}-${{ env.UNITY_VERSION }}-${{ matrix.platform }}-runner - name: Docker Push run: | echo "Pushing Docker Image ${{ steps.build-image.outputs.FULL_IMAGE }}" echo "- Image: ${{ steps.build-image.outputs.IMAGE }}" echo "- Tag: ${{ steps.build-image.outputs.TAG }}" docker push ${{ steps.build-image.outputs.FULL_IMAGE }}