image: barichello/godot-ci:3.1.2 stages: - export - deploy variables: EXPORT_NAME: game-off ITCHIO_USERNAME: user ITCHIO_GAME: game before_script: - mkdir -v -p build/linux - mkdir -v -p build/windows - mkdir -v -p build/mac - mkdir -v -p build/web linux: stage: export script: - godot -v --export "Linux/X11" ./build/linux/$EXPORT_NAME.x86_64 artifacts: name: $EXPORT_NAME-$CI_JOB_NAME paths: - build/linux windows: stage: export script: - godot -v --export "Windows Desktop" ./build/windows/$EXPORT_NAME.exe artifacts: name: $EXPORT_NAME-$CI_JOB_NAME paths: - build/windows mac: stage: export script: - godot -v --export "Mac OSX" ./build/mac/$EXPORT_NAME.zip artifacts: name: $EXPORT_NAME-$CI_JOB_NAME paths: - build/mac web: stage: export script: - godot -v --export "HTML5" ./build/web/index.html artifacts: name: $EXPORT_NAME-$CI_JOB_NAME paths: - build/web # GitHub Pages Deploy deploy-github-pages: stage: deploy dependencies: - web script: - git checkout gh-pages - rm -f *.md - mv build/web/** . - git config user.email $GIT_EMAIL - git config user.name $GIT_USERNAME - git remote add github $REMOTE_URL - git add -A - 'git commit -m "ci: Deploy GitHub Page $EXPORT_NAME-$CI_JOB_NAME$" -m "Deploy from GitLab pipeline \#$CI_PIPELINE_ID"' - git push github gh-pages -f # GitLab Pages Deploy pages: stage: deploy dependencies: - web script: - git checkout pages - rm -f *.md - mv build/web/** ./public artifacts: paths: - public # Itch.io Deploy itchio:linux: stage: deploy script: - butler push $EXPORT_NAME $ITCHIO_USERNAME/$ITCHIO_GAME:linux64 dependencies: - linux itchio:windows: stage: deploy script: - butler push $EXPORT_NAME.exe $ITCHIO_USERNAME/$ITCHIO_GAME:windows dependencies: - windows itchio:macosx: stage: deploy script: - butler push $EXPORT_NAME.zip $ITCHIO_USERNAME/$ITCHIO_GAME:mac64 dependencies: - mac