summaryrefslogtreecommitdiffstats
path: root/.github/workflows/on_release.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/on_release.yml')
-rw-r--r--.github/workflows/on_release.yml149
1 files changed, 149 insertions, 0 deletions
diff --git a/.github/workflows/on_release.yml b/.github/workflows/on_release.yml
new file mode 100644
index 0000000..218119c
--- /dev/null
+++ b/.github/workflows/on_release.yml
@@ -0,0 +1,149 @@
+name: Upload binaries to release
+
+on:
+ release:
+ types:
+ - created
+ - published
+ - edited
+
+ workflow_dispatch:
+
+jobs:
+ Ubuntu:
+ name: Build for Ubuntu 20.04
+ runs-on: ubuntu-20.04
+ steps:
+ - uses: actions/checkout@v2
+ - name: prepare
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y autoconf automake autopoint autotools-dev \
+ gettext libdbus-1-dev pkg-config xmlto \
+ devscripts build-essential lintian \
+ debhelper-compat \
+ dh-exec libdbus-1-dev \
+ libmagick++-dev libv4l-dev python3-dev \
+ libgtk-3-dev lftp \
+ dh-sequence-python3 libgtk2.0-dev \
+ libqt5x11extras5-dev qtbase5-dev
+ - name: build
+ run: |
+ .github/workflows/debuilder.sh
+ - name: generating tarball
+ run: |
+ (cd ..; tar cvfz zbar-ubuntu-20.04.tar.gz *deb)
+
+ - name: upload
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ uses: mchehab/upload-release-asset@v1.0.3
+ with:
+ upload_url: ${{ github.event.release.upload_url }}
+ asset_path: ../zbar-ubuntu-20.04.tar.gz
+ asset_name: zbar-ubuntu-20.04.tar.gz
+ asset_content_type: application/gzip
+
+ Mac_OS:
+ name: Build for Mac OS
+ runs-on: macos-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: prepare
+ run: |
+ brew install gettext autoconf automake libiconv libtool \
+ gs graphicsmagick python xmlto pkg-config ccache
+
+ brew unlink libtool && brew link libtool
+ brew unlink gettext && brew link gettext
+ - name: configure
+ run:
+ autoreconf -vfi
+
+ ./configure --disable-video --disable-nls --with-python=python3
+
+ - name: build
+ run: |
+ make
+ DESTDIR=${PWD}/macos make install
+ - name: generating tarball
+ run: |
+ DIR="$PWD"
+ tar c -C ${PWD}/macos -f ${DIR}/zbar-macos.tar.gz -z .
+ - name: upload
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ uses: mchehab/upload-release-asset@v1.0.3
+ with:
+ upload_url: ${{ github.event.release.upload_url }}
+ asset_path: ./zbar-macos.tar.gz
+ asset_name: zbar-macos.tar.gz
+ asset_content_type: application/gzip
+
+ Windows:
+ name: Build for Windows
+ runs-on: windows-latest
+ strategy:
+ matrix:
+ arch: [x86_64, i686]
+ video: [VfW, DShow]
+ include:
+ - arch: x86_64
+ msystem: MINGW64
+ grep: x86-64
+ - arch: i686
+ msystem: MINGW32
+ grep: 386
+ - video: DShow
+ extra: --with-directshow
+ - video: VfW
+ extra:
+ defaults:
+ run:
+ shell: msys2 {0}
+
+ env:
+ CPPFLAGS: -D__USE_MINGW_ANSI_STDIO=1
+
+ steps:
+ - uses: msys2/setup-msys2@v2
+ with:
+ msystem: ${{ matrix.msystem }}
+ update: false
+ install: >-
+ mingw-w64-${{ matrix.arch }}-gcc
+ mingw-w64-${{ matrix.arch }}-iconv
+ mingw-w64-${{ matrix.arch }}-imagemagick
+ mingw-w64-${{ matrix.arch }}-python
+ base-devel git xmlto zip
+ autoconf libtool automake gettext make autoconf-archive pkg-config
+
+ - uses: actions/checkout@v2
+
+ - name: configure
+ shell: msys2 {0}
+ run: |
+ autoreconf -vfi
+ ./configure LDFLAGS="-static" \
+ --enable-pthread --disable-dependency-tracking \
+ ${{ matrix.extra }}
+
+ - name: build
+ shell: msys2 {0}
+ run:
+ make
+ - name: generating zip
+ shell: msys2 {0}
+ run: |
+ DESTDIR=${PWD}/win_${{ matrix.arch }}-${{ matrix.video }} make install
+ (cd ${PWD}/win_${{ matrix.arch }}-${{ matrix.video }}; zip -r ../zbar-win_${{ matrix.arch }}-${{ matrix.video }}.zip .)
+
+ - name: upload
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ uses: mchehab/upload-release-asset@v1.0.3
+ with:
+ upload_url: ${{ github.event.release.upload_url }}
+ asset_path: ./zbar-win_${{ matrix.arch }}-${{ matrix.video }}.zip
+ asset_name: zbar-win_${{ matrix.arch }}-${{ matrix.video }}.zip
+ asset_content_type: application/gzip