name: Windows Release on: push: branches: - 'master' pull_request: branches: - '*' defaults: run: shell: cmd env: SOURCE_DIR: ${{ github.workspace }} QT_VERSION: 5.15.2 ARTIFACT: QGroundControl-installer.exe jobs: build: runs-on: windows-2016 steps: - name: Checkout repo uses: actions/checkout@v2 with: submodules: recursive - name: Install Qt uses: jurplel/install-qt-action@v2 with: version: ${{ env.QT_VERSION }} host: windows target: desktop arch: win64_msvc2019_64 dir: ${{ runner.temp }} modules: qtcharts setup-python: false - name: Download JOM uses: suisei-cn/actions-download-file@v1 with: url: http://download.qt.io/official_releases/jom/jom.zip target: ${{ runner.temp }}\ - name: Unzip JOM working-directory: ${{ runner.temp }} run: | 7z x jom.zip -ojom - name: Download Gstreamer uses: suisei-cn/actions-download-file@v1 with: url: https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/gstreamer-1.0-msvc-x86_64-1.18.1.msi target: ${{ runner.temp }}\ - name: Download Gstreamer dev uses: suisei-cn/actions-download-file@v1 with: url: https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/gstreamer-1.0-devel-msvc-x86_64-1.18.1.msi target: ${{ runner.temp }}\ - name: Install Gstreamer run: | cmd /c start /wait msiexec /package ${{ runner.temp }}\gstreamer-1.0-msvc-x86_64-1.18.1.msi /passive ADDLOCAL=ALL cmd /c start /wait msiexec /package ${{ runner.temp }}\gstreamer-1.0-devel-msvc-x86_64-1.18.1.msi /passive ADDLOCAL=ALL - name: Create build directory run: mkdir ${{ runner.temp }}\shadow_build_dir - name: Set up Visual Studio shell uses: egor-tensin/vs-shell@v2 with: arch: x64 - name: Build working-directory: ${{ runner.temp }}\shadow_build_dir run: | qmake -r ${{ env.SOURCE_DIR }}\qgroundcontrol.pro CONFIG+=installer CONFIG+=DailyBuild ${{ runner.temp }}\jom\jom -j2 - name: Save installer artifact uses: actions/upload-artifact@master with: name: ${{ env.ARTIFACT }} path: ${{ runner.temp }}\shadow_build_dir\staging\${{ env.ARTIFACT }} - name: Save PDB artifact uses: actions/upload-artifact@master with: name: qgroundcontrol.pdb path: ${{ runner.temp }}\shadow_build_dir\staging\qgroundcontrol.pdb - name: Upload to S3 Bucket if: github.event_name == 'push' working-directory: ${{ runner.temp }}\shadow_build_dir\staging run: | aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }} aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws s3 cp ${{ env.ARTIFACT }} s3://qgroundcontrol/master/${{ env.ARTIFACT }} --region us-west-2 --acl public-read