name: build on: [push] jobs: build-linux-ubuntu: runs-on: ubuntu-latest steps: - name: install dependencies run: | #sudo apt-get install cython - name: prepare environment run: | echo "target_triplet=`gcc -dumpmachine`" >> $GITHUB_ENV - name: fetch libplist uses: dawidd6/action-download-artifact@v2 with: github_token: ${{secrets.GITHUB_TOKEN}} workflow: build.yml name: libplist-latest_${{env.target_triplet}} repo: libimobiledevice/libplist - name: install external dependencies run: | mkdir extract for I in *.tar; do tar -C extract -xvf $I done sudo cp -r extract/* / sudo ldconfig - uses: actions/checkout@v2 - name: autogen run: ./autogen.sh PKG_CONFIG_PATH=/usr/local/lib/pkgconfig LDFLAGS="-Wl,-rpath=/usr/local/lib" - name: make run: make - name: make install run: sudo make install - name: prepare artifact run: | mkdir -p dest DESTDIR=`pwd`/dest make install tar -C dest -cf libimobiledevice-glue.tar usr - name: publish artifact uses: actions/upload-artifact@v2 with: name: libimobiledevice-glue-latest_${{env.target_triplet}} path: libimobiledevice-glue.tar build-macOS: runs-on: macOS-latest steps: - name: install dependencies run: | if test -x "`which port`"; then sudo port install libtool autoconf automake pkgconfig else brew install libtool autoconf automake pkgconfig fi shell: bash - name: fetch libplist uses: dawidd6/action-download-artifact@v2 with: github_token: ${{secrets.GITHUB_TOKEN}} workflow: build.yml name: libplist-latest_macOS repo: libimobiledevice/libplist - name: install external dependencies run: | mkdir extract for I in *.tar; do tar -C extract -xvf $I done sudo cp -r extract/* / - uses: actions/checkout@v2 - name: autogen run: | ./autogen.sh PKG_CONFIG_PATH=/usr/local/lib/pkgconfig \ - name: make run: make - name: make install run: sudo make install - name: prepare artifact run: | mkdir -p dest DESTDIR=`pwd`/dest make install tar -C dest -cf libimobiledevice-glue.tar usr - name: publish artifact uses: actions/upload-artifact@v2 with: name: libimobiledevice-glue-latest_macOS path: libimobiledevice-glue.tar build-windows: runs-on: windows-latest defaults: run: shell: msys2 {0} strategy: fail-fast: false matrix: include: [ { msystem: MINGW64, arch: x86_64 }, { msystem: MINGW32, arch: i686 } ] steps: - uses: msys2/setup-msys2@v2 with: msystem: ${{ matrix.msystem }} release: false update: false install: >- base-devel git mingw-w64-${{ matrix.arch }}-gcc make libtool autoconf automake-wrapper - name: prepare environment run: | dest=`echo ${{ matrix.msystem }} |tr [:upper:] [:lower:]` echo "dest=$dest" >> $GITHUB_ENV echo "target_triplet=`gcc -dumpmachine`" >> $GITHUB_ENV - name: fetch libplist uses: dawidd6/action-download-artifact@v2 with: github_token: ${{secrets.GITHUB_TOKEN}} workflow: build.yml name: libplist-latest_${{ matrix.arch }}-${{ env.dest }} repo: libimobiledevice/libplist - name: install external dependencies run: | mkdir extract for I in *.tar; do tar -C extract -xvf $I done cp -r extract/* / - uses: actions/checkout@v2 - name: autogen run: ./autogen.sh CC=gcc CXX=g++ - name: make run: make - name: make install run: make install - name: prepare artifact run: | mkdir -p dest DESTDIR=`pwd`/dest make install tar -C dest -cf libimobiledevice-glue.tar ${{ env.dest }} - name: publish artifact uses: actions/upload-artifact@v2 with: name: libimobiledevice-glue-latest_${{ matrix.arch }}-${{ env.dest }} path: libimobiledevice-glue.tar