publish.yml 4.75 KB
name: Publish
on:
  push:
    branches: [ "publish" ]
    tags: [ "*" ]

jobs:
  msys2-publish:
    runs-on: windows-latest
    defaults:
      run:
        shell: msys2 {0}
    steps:
      - uses: actions/checkout@v3
      - uses: msys2/setup-msys2@v2
        with:
          msystem: mingw64
          update: true
          install: dos2unix mingw-w64-x86_64-gcc automake autoconf make git zip pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool mingw-w64-x86_64-gtk3 mingw-w64-x86_64-imagemagick mingw-w64-x86_64-optipng mingw-w64-x86_64-inkscape mingw-w64-x86_64-nsis
      - uses: robinraju/release-downloader@v1.7
        with:
          repository: "PerryWerneck/lib3270"
          latest: true
          fileName: "mingw-w64-x86_64-lib3270-5.4-0-x86_64.pkg.tar.zst"      
      - uses: robinraju/release-downloader@v1.7
        with:
          repository: "PerryWerneck/libv3270"
          latest: true
          fileName: "mingw-w64-x86_64-libv3270-5.4-0-x86_64.pkg.tar.zst"      
      - uses: robinraju/release-downloader@v1.7
        with:
          repository: PerryWerneck/libipc3270
          latest: true
          fileName: mingw-w64-x86_64-libipc3270-5.5-0-x86_64.pkg.tar.zst
      - uses: robinraju/release-downloader@v1.7
        with:
          repository: PerryWerneck/libhllapi
          latest: true
          fileName: mingw-w64-x86_64-libhllapi-5.5-0-x86_64.pkg.tar.zst
      - uses: robinraju/release-downloader@v1.7
        with:
          repository: PerryWerneck/pw3270-plugin-ipc
          latest: true
          fileName: mingw-w64-x86_64-pw3270-plugin-ipc-5.5-0-x86_64.pkg.tar.zst
      - name: MakePackage
        run: |
          pacman -U --noconfirm *.pkg.tar.zst
          dos2unix PKGBUILD.mingw
          makepkg BUILDDIR=/tmp/pkg -p PKGBUILD.mingw
      - uses: oprypin/find-latest-tag@v1
        id: gettag
        with:
          repository: PerryWerneck/pw3270
          sort-tags: true
          releases-only: true
      - uses: ncipollo/release-action@v1
        with:
          tag: ${{ steps.gettag.outputs.tag }}
          artifacts: "*-pw3270-5*.pkg.tar.zst"
          allowUpdates: true
          draft: true
          makeLatest: true
          omitBody: true
          omitPrereleaseDuringUpdate: true
          replacesArtifacts: true
      - name: Make bundle
        run: |
          ./autogen.sh
          ./win/bundle.msys --nsi --zip
          find . -iname '*.exe'
          find . -iname '*.zip'
      - uses: ncipollo/release-action@v1
        with:
          tag: ${{ steps.gettag.outputs.tag }}
          artifacts: "*.zip"
          allowUpdates: true
          draft: true
          makeLatest: true
          omitBody: true
          omitPrereleaseDuringUpdate: true
          replacesArtifacts: true
      - uses: ncipollo/release-action@v1
        with:
          tag: ${{ steps.gettag.outputs.tag }}
          artifacts: "pw3270-5*.exe"
          allowUpdates: true
          draft: true
          makeLatest: true
          omitBody: true
          omitPrereleaseDuringUpdate: true
          replacesArtifacts: true
  macos-publish:
    runs-on: macos-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Install Pre reqs
        run: |
          brew remove azure-cli
          find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete
          find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete
          rm -rf /usr/local/bin/2to3*
          rm -rf /usr/local/bin/idle3*
          rm -rf /usr/local/bin/pydoc3*
          rm -rf /usr/local/bin/python3
          rm -rf /usr/local/bin/python3-config
          rm -rf /usr/local/bin/python3*
          rm -rf /usr/local/bin/python3*-config
          find /usr/local/lib/node_modules/npm -delete
          brew update
          brew install xz automake libtool binutils coreutils curl gettext libtool openssl pkgconfig gtk+3
      - uses: robinraju/release-downloader@v1.7
        with:
          repository: "PerryWerneck/lib3270"
          latest: true
          fileName: "macos-lib3270.tar.xz"      
      - uses: robinraju/release-downloader@v1.7
        with:
          repository: "PerryWerneck/libv3270"
          latest: true
          fileName: "macos-libv3270.tar.xz"      
      - name: build
        run: ./mac/ci-build.sh
      - uses: oprypin/find-latest-tag@v1
        id: gettag
        with:
          repository: PerryWerneck/pw3270
          sort-tags: true
          releases-only: true
      - uses: ncipollo/release-action@v1
        with:
          tag: ${{ steps.gettag.outputs.tag }}
          artifacts: "macos-pw3270.tar.xz"
          allowUpdates: true
          draft: false
          makeLatest: true
          omitBody: true
          omitPrereleaseDuringUpdate: true
          replacesArtifacts: true