diff options
| -rw-r--r-- | .github/workflows/build.yml | 169 | 
1 files changed, 169 insertions, 0 deletions
| diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..8b155e1 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,169 @@ +name: build + +on: [push] + +jobs: +  build-linux-ubuntu: +    runs-on: ubuntu-latest +    steps: +    - 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: fetch libimobiledevice-glue +      uses: dawidd6/action-download-artifact@v2 +      with: +        github_token: ${{secrets.GITHUB_TOKEN}} +        workflow: build.yml +        name: libimobiledevice-glue-latest_${{env.target_triplet}} +        repo: libimobiledevice/libimobiledevice-glue +    - 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 libusbmuxd.tar usr +    - name: publish artifact +      uses: actions/upload-artifact@v2 +      with: +        name: libusbmuxd-latest_${{env.target_triplet}} +        path: libusbmuxd.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: fetch libimobiledevice-glue +      uses: dawidd6/action-download-artifact@v2 +      with: +        github_token: ${{secrets.GITHUB_TOKEN}} +        workflow: build.yml +        name: libimobiledevice-glue-latest_macOS +        repo: libimobiledevice/libimobiledevice-glue +    - 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 libusbmuxd.tar usr +    - name: publish artifact +      uses: actions/upload-artifact@v2 +      with: +        name: libusbmuxd-latest_macOS +        path: libusbmuxd.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: fetch libimobiledevice-glue +      uses: dawidd6/action-download-artifact@v2 +      with: +        github_token: ${{secrets.GITHUB_TOKEN}} +        workflow: build.yml +        name: libimobiledevice-glue-latest_${{ matrix.arch }}-${{ env.dest }} +        repo: libimobiledevice/libimobiledevice-glue +    - 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 libusbmuxd.tar ${{ env.dest }} +    - name: publish artifact +      uses: actions/upload-artifact@v2 +      with: +        name: libusbmuxd-latest_${{ matrix.arch }}-${{ env.dest }} +        path: libusbmuxd.tar | 
