deploying to github releases from travisci-windows

in #programming4 years ago

this post will be kind of short but basicly the trick to getting it to work requires travis.yml file that looks like

language: cpp
notifications:
  email: false
matrix:
  include:
  - os: osx
    osx_image: xcode11.3
    addons:
      homebrew:
        packages:
        - sdl2
        - sdl2_gfx
        - sdl2_image
        - sdl2_net
        - sdl2_mixer
    script: "./build.sh"
    cache:
      directories:
      - "$HOME/Library/Caches/Homebrew"
    before_cache:
    - brew cleanup
    deploy:
      provider: releases
      api_key: $MyOoth 
      file_glob: true
      file: "build-*.zip"
      skip_cleanup: true
  - os: linux
    dist: bionic
    addons:
      apt:
        packages:
        - libsdl2-dev
        - libsdl2-mixer-dev
        - libsdl2-net-dev
        - libsdl2-gfx-dev
        - libsdl2-image-dev
    script:
    - pip install cmake
    - "./build.sh"
    deploy:
      provider: releases
      api_key: $MyOoth 
      file_glob: true
      file: "build-*.zip"
      skip_cleanup: true
      on:
        repo: <repo here>
  - os: windows
    before_install:
    - |-
      case $TRAVIS_OS_NAME in
        windows)
          [[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64
          choco uninstall -y mingw
          choco upgrade --no-progress -y msys2
          export msys2='cmd //C RefreshEnv.cmd '
          export msys2+='& set MSYS=winsymlinks:nativestrict '
          export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start'
          export mingw64="$msys2 -mingw64 -full-path -here -c "\"\$@"\" --"
          export msys2+=" -msys2 -c "\"\$@"\" --"
          $msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-toolchain
          ## Install more MSYS2 packages from https://packages.msys2.org/base here
          $msys2 pacman --sync --noconfirm --needed cmake mingw-w64-x86_64-ninja
          $msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-SDL2_net mingw-w64-x86_64-SDL2_mixer mingw-w64-x86_64-SDL2_gfx zip
          taskkill //IM gpg-agent.exe //F  # https://travis-ci.community/t/4967
          export PATH=/C/tools/msys64/mingw64/bin:$PATH
          export MAKE=mingw32-make  # so that Autotools can find it
          ;;
      esac
    before_cache:
    - |-
      case $TRAVIS_OS_NAME in
        windows)
          # https://unix.stackexchange.com/a/137322/107554
          $msys2 pacman --sync --clean --noconfirm
          $msys2 rm /C/tools/msys64/var/log/pacman.log
          ;;
      esac
    cache:
      directories:
      - "$HOME/AppData/Local/Temp/chocolatey"
      - "/C/tools/msys64"
    script:
    - mkdir build && cd build && cmake .. -DCMAKE_MAKE_PROGRAM=mingw32-make -G "MSYS Makefiles"
    - mingw32-make && tar -zcf /C/build-windows.zip BruxRelease 
    deploy:
      provider: releases
      api_key: $MyOoth 
      file_glob: true
      file: "C:/build-windows.zip"
      skip_cleanup: true
      on:
        repo: <repo Name here>

branches:
  except:
  - legacy
  - experimental
  - /^untagged/

The magic here involves making sure to place the build file for windows in a path you can refrence. Thats why i placed it in the C:/ path

Sort:  

Congratulations @jfmherokiller! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :

You received more than 1250 upvotes. Your next target is to reach 1500 upvotes.

You can view your badges on your board And compare to others on the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Do not miss the last post from @hivebuzz:

The Hive community is in mourning. Farewell @lizziesworld!
Support the HiveBuzz project. Vote for our proposal!