name: Create Images on: push: branches: - main paths: - 'versions.txt' workflow_dispatch: inputs: unity_version: description: 'Unity Version' required: true 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: docker.lakes.house/ strategy: matrix: platform: - webgl - android - ios - mac-mono - windows-mono - linux-il2cpp name: Build 🐳 ${{ matrix.platform }} steps: - name: Skip if platform does not match input if: ${{ github.event.inputs.platform != 'all' && github.event.inputs.platform != '' && matrix.platform != github.event.inputs.platform }} run: exit 0 - uses: actions/checkout@v4 - name: Login to Docker Registry uses: docker/login-action@v3 with: registry: ${{ env.DOCKER_REGISTRY }} # usual credentials for bastion.local username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Get Unity Version run: | VERSION=$(head -n 1 versions.txt) echo "UNITY_VERSION=$VERSION" >> $GITHUB_ENV echo "Unity Version: $VERSION" - name: Docker Build run: ./scripts/build-image.sh id: build-image env: UNITY_VERSION: ${{ env.UNITY_VERSION }} UNITY_PLATFORM: ${{ matrix.platform }} IMAGE: ${{ env.DOCKER_REGISTRY }}unityci/editor GAMECI_VERSION: ${{ env.GAMECI_VERSION }} - 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 }}