name: MinGW on: push: paths-ignore: - '.gitignore' - '.gitattributes' - 'res/**' - '**.cmd' - '**.md' - '**.rc' - '**.sh' - '**.txt' - '**.xml' pull_request: branches: [master] paths-ignore: - '.gitignore' - '.gitattributes' - 'res/**' - '**.cmd' - '**.md' - '**.rc' - '**.sh' - '**.txt' - '**.xml' jobs: MinGW-Build: runs-on: windows-latest strategy: matrix: include: - { sys: mingw64, env: x86_64 } - { sys: mingw32, env: i686 } defaults: run: shell: msys2 {0} steps: - name: Install MinGW uses: msys2/setup-msys2@v2 with: msystem: ${{ matrix.sys }} update: true install: >- mingw-w64-${{ matrix.env }}-toolchain base-devel autotools git upx - name: Checkout repository uses: actions/checkout@v3 with: fetch-depth: 0 submodules: recursive - name: Set ALPHA id: set_alpha if: ${{ !startsWith(github.ref, 'refs/tags/') }} run: echo "::set-output name=option::--enable-alpha" - name: Set BETA id: set_beta if: ${{ startsWith(github.ref, 'refs/tags/') && contains(github.ref, 'BETA') }} run: echo "::set-output name=option::--enable-beta" - name: Build run: | ./configure --disable-debug ${{ steps.set_alpha.outputs.option }} ${{ steps.set_beta.outputs.option }} make -j4 mv ./src/rufus.exe . strip ./rufus.exe upx --lzma --best ./rufus.exe - name: Display SHA-256 run: sha256sum ./rufus.exe - name: Upload to VirusTotal continue-on-error: true if: ${{ matrix.env == 'i686' && github.event_name == 'push' }} run: | curl --request POST --url https://www.virustotal.com/vtapi/v2/file/scan --form apikey=${{ secrets.VIRUSTOTAL_API_KEY }} --form file=@./rufus.exe curl --request POST --url https://www.virustotal.com/api/v3/monitor/items --header 'x-apikey: ${{ secrets.VIRUSTOTAL_API_KEY }}' --form path='/rufus.exe' --form file=@./rufus.exe - name: Upload artifacts if: ${{ matrix.env == 'i686' && github.event_name == 'push' }} uses: actions/upload-artifact@v3 with: name: MinGW path: ./*.exe