diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000000..7299e6bce7 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,48 @@ +name: Continuous Integration + +on: + push: + pull_request: + branches: [ bleed ] + +jobs: + linux-mono: + name: Linux (mono) + runs-on: ubuntu-20.04 + + steps: + - name: Clone Repository + uses: actions/checkout@v2 + + - name: Check Code + run: | + mono --version + make check + mono ~/.nuget/packages/nunit.consolerunner/3.11.1/tools/nunit3-console.exe --noresult bin/OpenRA.Test.dll + + - name: Check Mods + run: | + sudo apt-get install lua5.1 + make check-scripts + make test + + windows: + name: Windows (Framework 4.7) + runs-on: windows-2019 + + steps: + - name: Clone Repository + uses: actions/checkout@v2 + + - name: Check Code + shell: powershell + run: | + .\make.ps1 check + Invoke-Expression "$home\.nuget\packages\nunit.consolerunner\3.11.1\tools\nunit3-console.exe --noresult bin/OpenRA.Test.dll" + + - name: Check Mods + run: | + chocolatey install lua --version 5.1.5.52 + $ENV:Path = $ENV:Path + ";C:\Program Files (x86)\Lua\5.1\" + .\make.ps1 check-scripts + .\make.ps1 test diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml new file mode 100644 index 0000000000..c738b58fe7 --- /dev/null +++ b/.github/workflows/documentation.yml @@ -0,0 +1,99 @@ +name: Deploy Documentation + +on: + workflow_dispatch: + inputs: + tag: + description: 'Git Tag' + required: true + default: 'release-xxxxxxxx' + +jobs: + wiki: + name: Update Wiki + if: github.repository == 'openra/openra' + runs-on: ubuntu-20.04 + steps: + - name: Clone Repository + uses: actions/checkout@v2 + with: + ref: ${{ github.event.inputs.tag }} + + - name: Prepare Environment + run: | + make all + + - name: Clone Wiki + uses: actions/checkout@v2 + with: + repository: openra/openra.wiki + token: ${{ secrets.DOCS_TOKEN }} + path: wiki + + - name: Update Wiki (Playtest) + if: startsWith(github.event.inputs.tag, 'playtest-') + env: + GIT_TAG: ${{ github.event.inputs.tag }} + run: | + ./utility.sh all --settings-docs "${GIT_TAG}" > "wiki/Settings (playtest).md" + + - name: Update Wiki (Release) + if: startsWith(github.event.inputs.tag, 'release-') + env: + GIT_TAG: ${{ github.event.inputs.tag }} + run: | + ./utility.sh all --settings-docs "${GIT_TAG}" > "wiki/Settings.md" + + - name: Push Wiki + env: + GIT_TAG: ${{ github.event.inputs.tag }} + run: | + cd wiki + git config --local user.email "actions@github.com" + git config --local user.name "GitHub Actions" + git add --all + git commit -m "Update auto-generated documentation for ${GIT_TAG}" + git push origin master + + docs: + name: Update docs.openra.net + if: github.repository == 'openra/openra' + runs-on: ubuntu-20.04 + steps: + - name: Clone docs.openra.net + uses: actions/checkout@v2 + with: + repository: openra/docs.git + token: ${{ secrets.DOCS_TOKEN }} + path: docs + ref: ${{ github.event.inputs.tag }} + + - name: Update docs.openra.net (Playtest) + if: startsWith(github.event.inputs.tag, 'playtest-') + env: + GIT_TAG: ${{ github.event.inputs.tag }} + run: | + ./utility.sh all --docs "${GIT_TAG}" > "docs/playtest/traits.md" + ./utility.sh all --weapon-docs "${GIT_TAG}" > "docs/playtest/weapons.md" + ./utility.sh all --lua-docs "${GIT_TAG}" > "docs/playtest/lua.md" + + - name: Update docs.openra.net (Release) + if: startsWith(github.event.inputs.tag, 'release-') + env: + GIT_TAG: ${{ github.event.inputs.tag }} + run: | + ./utility.sh all --docs "${GIT_TAG}" > "docs/release/traits.md" + ./utility.sh all --weapon-docs "${GIT_TAG}" > "docs/release/weapons.md" + ./utility.sh all --lua-docs "${GIT_TAG}" > "docs/release/lua.md" + + - name: Push docs.openra.net + env: + GIT_TAG: ${{ github.event.inputs.tag }} + run: | + cd docs + git config --local user.email "actions@github.com" + git config --local user.name "GitHub Actions" + git add --all + git commit -m "Update auto-generated documentation for ${GIT_TAG}" + git push origin master + diff --git a/.github/workflows/itch.yml b/.github/workflows/itch.yml new file mode 100644 index 0000000000..2126ab9ab1 --- /dev/null +++ b/.github/workflows/itch.yml @@ -0,0 +1,88 @@ +name: Deploy itch.io Packages + +on: + workflow_dispatch: + inputs: + tag: + description: 'Git Tag' + required: true + default: 'release-xxxxxxxx' + +jobs: + itch: + name: Deploy to itch.io + runs-on: ubuntu-20.04 + if: github.repository == 'openra/openra' + steps: + - name: Download Packages + env: + GIT_TAG: ${{ github.event.inputs.tag }} + run: | + wget -q "https://github.com/${{ github.repository }}/releases/download/${GIT_TAG}/OpenRA-${GIT_TAG}-x64.exe" + wget -q "https://github.com/${{ github.repository }}/releases/download/${GIT_TAG}/OpenRA-${GIT_TAG}-x64-winportable.zip" -O "OpenRA-${GIT_TAG}-x64-win-itch.zip" + wget -q "https://github.com${{ github.repository }}/releases/download/${GIT_TAG}/OpenRA-${GIT_TAG}.dmg" + wget -q "https://github.com/${{ github.repository }}/releases/download/${GIT_TAG}/OpenRA-Dune-2000-x86_64.AppImage" + wget -q "https://github.com/${{ github.repository }}/releases/download/${GIT_TAG}/OpenRA-Red-Alert-x86_64.AppImage" + wget -q "https://github.com/${{ github.repository }}/releases/download/${GIT_TAG}/OpenRA-Tiberian-Dawn-x86_64.AppImage" + wget -q "https://raw.githubusercontent.com/${{ github.repository }}/${GIT_TAG}/packaging/.itch.toml" + zip -u "OpenRA-${GIT_TAG}-x64-win-itch.zip" .itch.toml + + - name: Publish Windows Installer + uses: josephbmanley/butler-publish-itchio-action@master + env: + BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} + CHANNEL: win + ITCH_GAME: openra + ITCH_USER: openra-developers + VERSION: ${{ github.event.inputs.tag }} + PACKAGE: OpenRA-${{ github.event.inputs.tag }}}-x64.exe" + + - name: Publish Windows Itch Bundle + uses: josephbmanley/butler-publish-itchio-action@master + env: + BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} + CHANNEL: itch + ITCH_GAME: openra + ITCH_USER: openra-developers + VERSION: ${{ github.event.inputs.tag }} + PACKAGE: OpenRA-${{ github.event.inputs.tag }}-x64-win-itch.zip + + - name: Publish macOS Package + uses: josephbmanley/butler-publish-itchio-action@master + env: + BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} + CHANNEL: macos + ITCH_GAME: openra + ITCH_USER: openra-developers + VERSION: ${{ github.event.inputs.tag }} + PACKAGE: OpenRA-${{ github.event.inputs.tag }}}.dmg" + + - name: Publish RA AppImage + uses: josephbmanley/butler-publish-itchio-action@master + env: + BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} + CHANNEL: linux-ra + ITCH_GAME: openra + ITCH_USER: openra-developers + VERSION: ${{ github.event.inputs.tag }} + PACKAGE: OpenRA-Red-Alert-x86_64.AppImage + + - name: Publish TD AppImage + uses: josephbmanley/butler-publish-itchio-action@master + env: + BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} + CHANNEL: linux-cnc + ITCH_GAME: openra + ITCH_USER: openra-developers + VERSION: ${{ github.event.inputs.tag }} + PACKAGE: OpenRA-Tiberian-Dawn-x86_64.AppImage + + - name: Publish D2k AppImage + uses: josephbmanley/butler-publish-itchio-action@master + env: + BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} + CHANNEL: linux-d2k + ITCH_GAME: openra + ITCH_USER: openra-developers + VERSION: ${{ github.event.inputs.tag }} + PACKAGE: OpenRA-Dune-2000-x86_64.AppImage diff --git a/.github/workflows/packaging.yml b/.github/workflows/packaging.yml new file mode 100644 index 0000000000..c688e7ef31 --- /dev/null +++ b/.github/workflows/packaging.yml @@ -0,0 +1,89 @@ +name: Release Packaging + +on: + push: + tags: + - 'release-*' + - 'playtest-*' + - 'devtest-*' + +jobs: + linux: + name: Linux AppImages + runs-on: ubuntu-20.04 + steps: + - name: Clone Repository + uses: actions/checkout@v2 + + - name: Prepare Environment + run: echo "GIT_TAG=${GITHUB_REF#refs/tags/}" >> ${GITHUB_ENV} + + - name: Package AppImages + run: | + mkdir -p build/linux + ./packaging/linux/buildpackage.sh "${GIT_TAG}" "${PWD}/build/linux" + + - name: Upload Packages + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ github.ref }} + overwrite: true + file_glob: true + file: build/linux/* + + macos: + name: macOS Disk Images + runs-on: macos-10.15 + steps: + - name: Clone Repository + uses: actions/checkout@v2 + + - name: Prepare Environment + run: echo "GIT_TAG=${GITHUB_REF#refs/tags/}" >> ${GITHUB_ENV} + + - name: Package Disk Images + env: + MACOS_DEVELOPER_IDENTITY: ${{ secrets.MACOS_DEVELOPER_IDENTITY }} + MACOS_DEVELOPER_CERTIFICATE_BASE64: ${{ secrets.MACOS_DEVELOPER_CERTIFICATE_BASE64 }} + MACOS_DEVELOPER_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_DEVELOPER_CERTIFICATE_PASSWORD }} + MACOS_DEVELOPER_USERNAME: ${{ secrets.MACOS_DEVELOPER_USERNAME }} + MACOS_DEVELOPER_PASSWORD: ${{ secrets.MACOS_DEVELOPER_PASSWORD }} + run: | + mkdir -p build/macos + ./packaging/macos/buildpackage.sh "${GIT_TAG}" "${PWD}/build/macos" + + - name: Upload Packages + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ github.ref }} + overwrite: true + file_glob: true + file: build/macos/* + + windows: + name: Windows Installers + runs-on: ubuntu-20.04 + steps: + - name: Clone Repository + uses: actions/checkout@v2 + + - name: Prepare Environment + run: | + echo "GIT_TAG=${GITHUB_REF#refs/tags/}" >> ${GITHUB_ENV} + sudo apt install nsis + + - name: Package Installers + run: | + mkdir -p build/windows + ./packaging/windows/buildpackage.sh "${GIT_TAG}" "${PWD}/build/windows" + + - name: Upload Packages + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ github.ref }} + overwrite: true + file_glob: true + file: build/windows/* diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 25fdbd8147..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,92 +0,0 @@ -# Travis-CI Build for OpenRA -# see travis-ci.org for details - -language: csharp -mono: 6.4.0 -os: linux -dist: xenial - -jobs: - include: - - os: linux - dist: xenial - - os: osx - if: tag IS present - osx_image: xcode10 - -addons: - apt: - packages: - - lua5.1 - - dpkg - - zsync - - imagemagick - -# Environment variables -env: - secure: "C0+Hlfa0YGErxUuWV00Tj6p45otC/D3YwYFuLpi2mj1rDFn/4dgh5WRngjvdDBVbXJ3duaZ78jPHWm1jr7vn2jqj9yETsCIK9psWd38ep/FEBM0SDr6MUD89OuXk/YyvxJAE+UXF6bXg7giey09g/CwBigjMW7ynET3wNAWPHPs=" - -# Fetch dependencies -# Run the build script -# Check source code with StyleCop -# call OpenRA to check for YAML errors -# Run the NUnit tests -script: - - make all - - | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then - make check || travis_terminate 1; - make check-scripts || travis_terminate 1; - make test || travis_terminate 1; - mono ~/.nuget/packages/nunit.consolerunner/3.11.1/tools/nunit3-console.exe --noresult bin/OpenRA.Test.dll || travis_terminate 1; - fi - -# Only watch the development branch and tagged release. -branches: - only: - - /^release-.*$/ - - /^playtest-.*$/ - - /^devtest-.*$/ - - /^prep-.*$/ - - bleed - -# Notify developers when build passed/failed. -notifications: - irc: - if: repo = OpenRA/OpenRA - template: - - "%{repository}#%{build_number} %{commit} %{author}: %{message} %{build_url}" - channels: - - "irc.freenode.net#openra" - use_notice: true - skip_join: true - -before_deploy: - - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then - wget http://ftp.debian.org/debian/pool/main/n/nsis/nsis-common_3.04-1_all.deb; - wget http://ftp.debian.org/debian/pool/main/n/nsis/nsis_3.04-1_amd64.deb; - sudo dpkg -i nsis-common_3.04-1_all.deb; - sudo dpkg -i nsis_3.04-1_amd64.deb; - echo ${TRAVIS_REPO_SLUG}; - if [[ "${TRAVIS_REPO_SLUG}" == "OpenRA/OpenRA" ]]; then - cd packaging && ./update-wiki.sh ${TRAVIS_TAG} && ./update-docs.sh ${TRAVIS_TAG} && cd ..; - fi; - fi - - export PATH=${PATH}:${HOME}/usr/bin - - DOTVERSION=`echo ${TRAVIS_TAG} | sed "s/-/\\./g"` - - cd packaging - - mkdir build - - ./package-all.sh ${TRAVIS_TAG} ${PWD}/build/ - - if [[ "${TRAVIS_REPO_SLUG}" == "OpenRA/OpenRA" ]]; then - ./upload-itch.sh ${TRAVIS_TAG} ${PWD}/build/; - fi - -deploy: - provider: releases - token: ${GH_DEPLOY_API_KEY} - file_glob: true - file: build/* - skip_cleanup: true - on: - all_branches: true - tags: true diff --git a/README.md b/README.md index ba60075a9a..43f990db33 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A Libre/Free Real Time Strategy game engine supporting early Westwood classics. * Website: [http://www.openra.net](http://www.openra.net) * IRC: \#openra on irc.freenode.net -* Repository: [https://github.com/OpenRA/OpenRA](https://github.com/OpenRA/OpenRA) [![Travis CI build status](https://travis-ci.org/OpenRA/OpenRA.svg?branch=bleed)](https://travis-ci.org/OpenRA/OpenRA) [![AppVeyor build status](https://ci.appveyor.com/api/projects/status/axc9k6jd25ej2o4w?svg=true)](https://ci.appveyor.com/project/OpenRA/openra) +* Repository: [https://github.com/OpenRA/OpenRA](https://github.com/OpenRA/OpenRA) ![Continuous Integration](https://github.com/OpenRA/OpenRA/workflows/Continuous%20Integration/badge.svg) Please read the [FAQ](http://wiki.openra.net/FAQ) in our [Wiki](http://wiki.openra.net) and report problems at [http://bugs.openra.net](http://bugs.openra.net). diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 73f4802102..0000000000 --- a/appveyor.yml +++ /dev/null @@ -1,28 +0,0 @@ -version: 1.0.{build} -image: Visual Studio 2017 - -install: - -build_script: - - make all - -test_script: - - nunit3-console bin/OpenRA.Test.dll --result=myresults.xml;format=AppVeyor - -after_test: - - appveyor DownloadFile "https://github.com/OpenRA/GeoIP-Database/releases/download/monthly/IP2LOCATION-LITE-DB1.IPV6.BIN.ZIP" -FileName IP2LOCATION-LITE-DB1.IPV6.BIN.ZIP - - pip install Pillow - - python -c "from PIL import Image; i = Image.open('packaging/artwork/ra_256x256.png'); i.save('ra.ico')" - - python -c "from PIL import Image; i = Image.open('packaging/artwork/cnc_256x256.png'); i.save('cnc.ico')" - - python -c "from PIL import Image; i = Image.open('packaging/artwork/d2k_256x256.png'); i.save('d2k.ico')" - - msbuild -t:Build "OpenRA.WindowsLauncher/OpenRA.WindowsLauncher.csproj" -restore -p:Configuration=Release -p:TargetPlatform="win-x64" -p:LauncherName="RedAlert" -p:LauncherIcon="../ra.ico" -p:ModID="ra" -p:DisplayName="Red Alert" -p:FaqUrl="http://wiki.openra.net/FAQ" - - msbuild -t:Build "OpenRA.WindowsLauncher/OpenRA.WindowsLauncher.csproj" -restore -p:Configuration=Release -p:TargetPlatform="win-x64" -p:LauncherName="TiberianDawn" -p:LauncherIcon="../cnc.ico" -p:ModID="cnc" -p:DisplayName="Tiberian Dawn" -p:FaqUrl="http://wiki.openra.net/FAQ" - - msbuild -t:Build "OpenRA.WindowsLauncher/OpenRA.WindowsLauncher.csproj" -restore -p:Configuration=Release -p:TargetPlatform="win-x64" -p:LauncherName="Dune2000" -p:LauncherIcon="../d2k.ico" -p:ModID="d2k" -p:DisplayName="Dune 2000" -p:FaqUrl="http://wiki.openra.net/FAQ" - - move /Y %APPVEYOR_BUILD_FOLDER%\bin\* %APPVEYOR_BUILD_FOLDER% - - if defined APPVEYOR_REPO_TAG_NAME set VERSION=%APPVEYOR_REPO_TAG_NAME% - - if not defined APPVEYOR_REPO_TAG_NAME set VERSION=%APPVEYOR_REPO_COMMIT:~0,7% - - '"C:\Program Files (x86)\NSIS\makensis.exe" /DSRCDIR="%APPVEYOR_BUILD_FOLDER%" /DTAG="git-%VERSION%" /DSUFFIX=" (dev)" /V3 /DOUTFILE="OpenRA-$(VERSION).exe" packaging/windows/OpenRA.nsi' - -artifacts: - - path: OpenRA-$(VERSION).exe - name: Installer diff --git a/packaging/linux/buildpackage.sh b/packaging/linux/buildpackage.sh index 240f6a7d28..f0200aec9b 100755 --- a/packaging/linux/buildpackage.sh +++ b/packaging/linux/buildpackage.sh @@ -126,10 +126,10 @@ build_appimage() { install -m 0755 gtk-dialog.py "${APPDIR}/usr/bin/gtk-dialog.py" install -m 0755 restore-environment.sh "${APPDIR}/usr/bin/restore-environment.sh" - # Embed update metadata if (and only if) compiled on travis - if [ -n "${TRAVIS_REPO_SLUG}" ]; then + # Embed update metadata if (and only if) compiled on GitHub Actions + if [ -n "${GITHUB_REPOSITORY}" ]; then ARCH=x86_64 ./squashfs-root/AppRun --no-appstream -u "zsync|https://master.openra.net/appimagecheck?mod=${MOD_ID}&channel=${UPDATE_CHANNEL}" "${APPDIR}" "${OUTPUTDIR}/${APPIMAGE}" - zsyncmake -u "https://github.com/${TRAVIS_REPO_SLUG}/releases/download/${TAG}/${APPIMAGE}" -o "${OUTPUTDIR}/${APPIMAGE}.zsync" "${OUTPUTDIR}/${APPIMAGE}" + zsyncmake -u "https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAG}/${APPIMAGE}" -o "${OUTPUTDIR}/${APPIMAGE}.zsync" "${OUTPUTDIR}/${APPIMAGE}" else ARCH=x86_64 ./squashfs-root/AppRun --no-appstream "${APPDIR}" "${OUTPUTDIR}/${APPIMAGE}" fi diff --git a/packaging/ssh.enc b/packaging/ssh.enc deleted file mode 100644 index a8af02f331..0000000000 Binary files a/packaging/ssh.enc and /dev/null differ diff --git a/packaging/update-docs.sh b/packaging/update-docs.sh deleted file mode 100644 index 1eee117e47..0000000000 --- a/packaging/update-docs.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash - -case "$1" in - bleed) - exit - ;; - next | playtest-*) - TAG="playtest" - ;; - master | release-*) - TAG="release" - ;; - *) - echo "Unknown branch: $1" - exit - ;; -esac - -echo "Updating docs.openra.net" - -SSH_KEY="$HOME"/.ssh/id_rsa - -mkdir -p "$(dirname "$SSH_KEY")" -openssl aes-256-cbc -k "$KEY" -in ssh.enc -d -out "$SSH_KEY" -chmod 0600 "$SSH_KEY" - -rm -rf "$HOME/openra-docs" -git clone git@github.com:OpenRA/docs.git "$HOME/openra-docs" - -mono --debug ../OpenRA.Utility.exe all --docs "$1" > "${HOME}/openra-docs/api/${TAG}/traits.md" -mono --debug ../OpenRA.Utility.exe all --weapon-docs "$1" > "${HOME}/openra-docs/api/${TAG}/weapons.md" -mono --debug ../OpenRA.Utility.exe all --lua-docs "$1" > "${HOME}/openra-docs/api/${TAG}/lua.md" - -pushd "$HOME/openra-docs/api/${TAG}" || exit 1 -git config --local user.email "orabot@users.noreply.github.com" -git config --local user.name "orabot" -git add "traits.md" -git add "weapons.md" -git add "lua.md" -git commit -m "Update for branch $1" && -git push origin master -popd || exit - -shred -u "$SSH_KEY" diff --git a/packaging/update-wiki.sh b/packaging/update-wiki.sh deleted file mode 100755 index 2a7ac6df73..0000000000 --- a/packaging/update-wiki.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -case "$1" in - bleed) - exit - ;; - next | playtest-*) - TAG=" (playtest)" - ;; - master | release-*) - TAG="" - ;; - *) - echo "Unknown branch: $1" - exit - ;; -esac - -echo "Updating wiki.openra.net" - -SSH_KEY="$HOME"/.ssh/id_rsa - -mkdir -p "$(dirname "$SSH_KEY")" -openssl aes-256-cbc -k "$KEY" -in ssh.enc -d -out "$SSH_KEY" -chmod 0600 "$SSH_KEY" - -rm -rf "$HOME/openra-wiki" -git clone git@github.com:OpenRA/OpenRA.wiki.git "$HOME/openra-wiki" - -mono --debug ../OpenRA.Utility.exe all --settings-docs "$1" > "${HOME}/openra-wiki/Settings${TAG}.md" - -pushd "$HOME/openra-wiki" || exit 1 -git config --local user.email "orabot@users.noreply.github.com" -git config --local user.name "orabot" -git add "Settings${TAG}.md" -git commit -m "Update user documentation for branch $1" && -git push origin master -popd || exit - -shred -u "$SSH_KEY" diff --git a/packaging/upload-itch.sh b/packaging/upload-itch.sh deleted file mode 100755 index 4c9b274abf..0000000000 --- a/packaging/upload-itch.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -export GIT_TAG="$1" -export BUILD_OUTPUT_DIR="$2" - -case "${GIT_TAG}" in - bleed) - exit - ;; - next | playtest-*) - exit - ;; - master | release-*) - ;; - *) - echo "Unknown branch: $1" - exit - ;; -esac - -if command -v curl >/dev/null 2>&1; then - curl -L -o butler-linux-amd64.zip https://broth.itch.ovh/butler/linux-amd64/LATEST/archive/default -else - wget -cq -O butler-linux-amd64.zip https://broth.itch.ovh/butler/linux-amd64/LATEST/archive/default -fi - -unzip butler-linux-amd64.zip -chmod +x butler - -./butler -V -./butler login -cp ${BUILD_OUTPUT_DIR}/OpenRA-${GIT_TAG}-x64-winportable.zip OpenRA-${GIT_TAG}-x64-win-itch-portable.zip -zip -u OpenRA-${GIT_TAG}-x64-win-itch-portable.zip .itch.toml -./butler push "OpenRA-${GIT_TAG}-x64-win-itch-portable.zip" "openra/openra:win" --userversion-file ../VERSION -./butler push --fix-permissions "${BUILD_OUTPUT_DIR}/OpenRA-${GIT_TAG}.dmg" "openra/openra:osx" --userversion-file ../VERSION -./butler push --fix-permissions "${BUILD_OUTPUT_DIR}/OpenRA-Dune-2000-x86_64.AppImage" "openra/openra:linux-d2k" --userversion-file ../VERSION -./butler push --fix-permissions "${BUILD_OUTPUT_DIR}/OpenRA-Red-Alert-x86_64.AppImage" "openra/openra:linux-ra" --userversion-file ../VERSION -./butler push --fix-permissions "${BUILD_OUTPUT_DIR}/OpenRA-Tiberian-Dawn-x86_64.AppImage" "openra/openra:linux-td" --userversion-file ../VERSION - -rm butler butler-linux-amd64.zip 7z.so libc7zip.so