# This is a basic workflow to help you get started with Actions

name: i686-w64-mingw32

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - uses: actions/checkout@v3

      - name: install packages
        run: sudo apt-get install gcc-mingw-w64-i686 mingw-w64-tools

      - name: build miniupnpc via i686-w64-mingw32
        run: make -C miniupnpc -f Makefile.mingw DLLWRAP=i686-w64-mingw32-dllwrap CC=i686-w64-mingw32-gcc WINDRES=i686-w64-mingw32-windres AR=i686-w64-mingw32-ar all dist

      - name: upload binaries
        uses: actions/upload-artifact@v3
        with:
          name: miniupnpc-win32-binaries-${{github.sha}}
          path: |
            miniupnpc/*.exe
            miniupnpc/*.dll
            miniupnpc/*.def
            miniupnpc/*.a
            miniupnpc/LICENSE
            miniupnpc/README
            miniupnpc/Changelog.txt
