diff --git a/.github/workflows/godot-ci.yml b/.github/workflows/godot-ci.yml deleted file mode 100644 index 24d40fd..0000000 --- a/.github/workflows/godot-ci.yml +++ /dev/null @@ -1,126 +0,0 @@ -name: "Export" -on: push - -env: - GODOT_VERSION: 4.1.2 - EXPORT_NAME: Frontier-of-Hell - PROJECT_PATH: Frontier-of-Hell - -jobs: - export-windows: - name: Windows Export - runs-on: ubuntu-20.04 - container: - image: barichello/godot-ci:4.1.2 - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - lfs: true - - name: Setup - run: | - mkdir -p /github/home/.config/godot - cp /root/.config/godot/editor_settings-4.tres /github/home/.config/godot/ - mkdir -v -p ~/.local/share/godot/templates - mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable - - name: Windows Build - run: | - mkdir -v -p build/windows - godot -v --export "Windows Desktop" ../build/windows/$EXPORT_NAME.exe - - name: Upload Artifact - uses: actions/upload-artifact@v1 - with: - name: windows - path: build/windows - - export-linux: - name: Linux Export - runs-on: ubuntu-20.04 - container: - image: barichello/godot-ci:4.1.2 - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - lfs: true - - name: Setup - run: | - mkdir -p /github/home/.config/godot - cp /root/.config/godot/editor_settings-4.tres /github/home/.config/godot/ - mkdir -v -p ~/.local/share/godot/templates - mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable - - name: Linux Build - run: | - mkdir -v -p build/linux - godot -v --export "Linux/X11" ../build/linux/$EXPORT_NAME.x86_64 - - name: Upload Artifact - uses: actions/upload-artifact@v1 - with: - name: linux - path: build/linux - - export-web: - name: Web Export - runs-on: ubuntu-20.04 - container: - image: barichello/godot-ci:4.1.2 - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - lfs: true - - name: Setup - run: | - mkdir -p /github/home/.config/godot - cp /root/.config/godot/editor_settings-4.tres /github/home/.config/godot/ - mkdir -v -p ~/.local/share/godot/templates - mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable - - name: Web Build - run: | - mkdir -v -p build/web - godot -v --export "HTML5" ../build/web/index.html - - name: Patch for Cross Origin Isolation and SharedArrayBuffer - run: | - cd build/web/ - curl https://raw.githubusercontent.com/josephrocca/clip-image-sorter/92b108dc670d0b56bd6b72963b0e86c4c862412e/enable-threads.js --output enable-threads.js - sed -i 's|headers.set("Cross-Origin-Embedder-Policy", "credentialless")|headers.set("Cross-Origin-Embedder-Policy", "require-corp")|g' enable-threads.js - sed -i 's|||g' index.html - - name: Upload Artifact - uses: actions/upload-artifact@v1 - with: - name: web - path: build/web - - name: Install rsync 📚 - run: | - apt-get update && apt-get install -y rsync - - name: Deploy to GitHub Pages 🚀 - uses: JamesIves/github-pages-deploy-action@releases/v4 - with: - branch: gh-pages # The branch the action should deploy to. - folder: build/web # The folder the action should deploy. - - export-mac: - name: Mac Export - runs-on: ubuntu-20.04 - container: - image: barichello/godot-ci:4.1.2 - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - lfs: true - - name: Setup - run: | - mkdir -p /github/home/.config/godot - cp /root/.config/godot/editor_settings-4.tres /github/home/.config/godot/ - mkdir -v -p ~/.local/share/godot/templates - mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable - - name: Mac Build - run: | - mkdir -v -p build/mac - godot -v --export "Mac OSX" ../build/mac/$EXPORT_NAME.zip - - name: Upload Artifact - uses: actions/upload-artifact@v1 - with: - name: mac - path: build/mac \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..02a04fe --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,71 @@ +image: barichello/godot-ci:4.1.2 + +# Cache imported assets between runs +cache: + key: import-assets + paths: + - .godot/imported/ + +stages: + - import-assets + - export + - deploy + +variables: + EXPORT_NAME: Frontier-of-Hell + +# Open the editor to import assets in case the cache was empty or outdated +import-assets: + stage: import-assets + script: + - godot -v -e --quit --headless + +linux: + stage: export + script: + - mkdir -v -p build/linux + - godot -v --export-release --headless "Linux/X11" ../build/linux/$EXPORT_NAME.x86_64 + artifacts: + name: $EXPORT_NAME-$CI_JOB_NAME + paths: + - build/linux + +windows: + stage: export + script: + - mkdir -v -p build/windows + - godot -v --export-release --headless "Windows Desktop" ../build/windows/$EXPORT_NAME.exe + artifacts: + name: $EXPORT_NAME-$CI_JOB_NAME + paths: + - build/windows + +mac: + stage: export + script: + - mkdir -v -p build/mac + - godot -v --export-release --headless "Mac OSX" ../build/mac/$EXPORT_NAME.zip + artifacts: + name: $EXPORT_NAME-$CI_JOB_NAME + paths: + - build/mac + +web: + stage: export + script: + - mkdir -v -p build/web + - godot -v --export-release --headless "HTML5" ../build/web/index.html + artifacts: + name: $EXPORT_NAME-$CI_JOB_NAME + paths: + - build/web + +android: + stage: export + script: + - mkdir -v -p build/android + - godot -v --export-debug --headless "Android Debug" ../build/android/$EXPORT_NAME-debug.apk + artifacts: + name: $EXPORT_NAME-$CI_JOB_NAME + paths: + - build/android \ No newline at end of file