summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml91
-rw-r--r--.github/workflows/curl.yml20
2 files changed, 71 insertions, 40 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 76d4a0b..1cf8636 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,6 +1,10 @@
name: build
-on: [push]
+on:
+ push:
+ pull_request:
+ schedule:
+ - cron: '0 0 1 * *'
jobs:
build-linux-ubuntu:
@@ -14,40 +18,47 @@ jobs:
run: |
echo "target_triplet=`gcc -dumpmachine`" >> $GITHUB_ENV
- name: fetch libirecovery
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libirecovery-latest_${{env.target_triplet}}
repo: libimobiledevice/libirecovery
- name: fetch libplist
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libplist-latest_${{env.target_triplet}}
repo: libimobiledevice/libplist
- name: fetch libusbmuxd
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libusbmuxd-latest_${{env.target_triplet}}
repo: libimobiledevice/libusbmuxd
- name: fetch libimobiledevice-glue
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libimobiledevice-glue-latest_${{env.target_triplet}}
repo: libimobiledevice/libimobiledevice-glue
- name: fetch libimobiledevice
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libimobiledevice-latest_${{env.target_triplet}}
repo: libimobiledevice/libimobiledevice
+ - name: fetch libtatsu
+ uses: dawidd6/action-download-artifact@v6
+ with:
+ github_token: ${{secrets.GITHUB_TOKEN}}
+ workflow: build.yml
+ name: libtatsu-latest_${{env.target_triplet}}
+ repo: libimobiledevice/libtatsu
- name: install external dependencies
run: |
mkdir extract
@@ -88,40 +99,47 @@ jobs:
fi
shell: bash
- name: fetch libirecovery
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libirecovery-latest_macOS
repo: libimobiledevice/libirecovery
- name: fetch libplist
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libplist-latest_macOS
repo: libimobiledevice/libplist
- name: fetch libusbmuxd
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libusbmuxd-latest_macOS
repo: libimobiledevice/libusbmuxd
- name: fetch libimobiledevice-glue
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libimobiledevice-glue-latest_macOS
repo: libimobiledevice/libimobiledevice-glue
- name: fetch libimobiledevice
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libimobiledevice-latest_macOS
repo: libimobiledevice/libimobiledevice
+ - name: fetch libtatsu
+ uses: dawidd6/action-download-artifact@v6
+ with:
+ github_token: ${{secrets.GITHUB_TOKEN}}
+ workflow: build.yml
+ name: libtatsu-latest_macOS
+ repo: libimobiledevice/libtatsu
- name: install external dependencies
run: |
mkdir extract
@@ -144,18 +162,7 @@ jobs:
export CFLAGS="$USEARCHS -isysroot $SDKDIR"
echo "Using CFLAGS: $CFLAGS"
echo "BUILD_CFLAGS=$CFLAGS" >> $GITHUB_ENV
- mkdir -p lib
- curl -o lib/libcrypto.35.tbd -Ls \
- https://gist.github.com/nikias/94c99fd145a75a5104415e5117b0cafa/raw/5209dfbff5a871a14272afe4794e76eb4cf6f062/libcrypto.35.tbd
- curl -o lib/libssl.35.tbd -Ls \
- https://gist.github.com/nikias/94c99fd145a75a5104415e5117b0cafa/raw/5209dfbff5a871a14272afe4794e76eb4cf6f062/libssl.35.tbd
- LIBRESSL_VER=2.2.7
- FILENAME="libressl-$LIBRESSL_VER.tar.gz"
- curl -o $FILENAME -Ls "https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/$FILENAME"
mkdir -p deps
- tar -C deps -xzf $FILENAME
- echo "LIBRESSL_CFLAGS=-I`pwd`/deps/libressl-$LIBRESSL_VER/include" >> $GITHUB_ENV
- echo "LIBRESSL_LIBS=-Xlinker `pwd`/lib/libssl.35.tbd -Xlinker `pwd`/lib/libcrypto.35.tbd" >> $GITHUB_ENV
FILENAME="libzip-static.tar.bz2"
curl -o $FILENAME.b64 -Ls "https://gist.github.com/nikias/3da15d03120382f87b44029cd8495a02/raw/99cd8138fed99e8f6530b6f179f787342c698e1f/libzip-1.7.1_static_macOS.tar.bz2"
base64 -D < $FILENAME.b64 > $FILENAME
@@ -167,7 +174,6 @@ jobs:
export CFLAGS="${{env.BUILD_CFLAGS}} -Wno-nullability-completeness -Wno-expansion-to-defined"
echo "Using CFLAGS: $CFLAGS"
./autogen.sh PKG_CONFIG_PATH=/usr/local/lib/pkgconfig \
- openssl_CFLAGS="$LIBRESSL_CFLAGS" openssl_LIBS="$LIBRESSL_LIBS" \
libcurl_CFLAGS="-I${{env.SDKDIR}}/usr/include" libcurl_LIBS="-lcurl" \
libzip_CFLAGS="$LIBZIP_CFLAGS" libzip_LIBS="$LIBZIP_LIBS" \
zlib_CFLAGS="-I${{env.SDKDIR}}/usr/include" zlib_LIBS="-lz" \
@@ -187,7 +193,7 @@ jobs:
name: idevicerestore-latest_macOS
path: idevicerestore.tar
build-windows:
- runs-on: windows-2019
+ runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
@@ -212,47 +218,57 @@ jobs:
libtool
autoconf
automake-wrapper
- liblzma
+ mingw-w64-${{ matrix.arch }}-xz
+ mingw-w64-${{ matrix.arch }}-bzip2
+ mingw-w64-${{ matrix.arch }}-openssl
+ pkg-config
- 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 libirecovery
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libirecovery-latest_${{ matrix.arch }}-${{ env.dest }}
repo: libimobiledevice/libirecovery
- name: fetch libplist
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libplist-latest_${{ matrix.arch }}-${{ env.dest }}
repo: libimobiledevice/libplist
- name: fetch libusbmuxd
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libusbmuxd-latest_${{ matrix.arch }}-${{ env.dest }}
repo: libimobiledevice/libusbmuxd
- name: fetch libimobiledevice-glue
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libimobiledevice-glue-latest_${{ matrix.arch }}-${{ env.dest }}
repo: libimobiledevice/libimobiledevice-glue
- name: fetch libimobiledevice
- uses: dawidd6/action-download-artifact@v3
+ uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
name: libimobiledevice-latest_${{ matrix.arch }}-${{ env.dest }}
repo: libimobiledevice/libimobiledevice
+ - name: fetch libtatsu
+ uses: dawidd6/action-download-artifact@v6
+ with:
+ github_token: ${{secrets.GITHUB_TOKEN}}
+ workflow: build.yml
+ name: libtatsu-latest_${{ matrix.arch }}-${{ env.dest }}
+ repo: libimobiledevice/libtatsu
- name: install external dependencies
run: |
mkdir extract
@@ -278,7 +294,7 @@ jobs:
echo "LIBCURL_LIBS=`pwd`/deps/lib/libcurl.a /${{env.dest}}/lib/libzstd.a -lws2_32 -lcrypt32 -lwldap32 -lbcrypt -lssl -lcrypto" >> $GITHUB_ENV
- name: autogen
run: |
- ./autogen.sh CC=gcc CXX=g++ \
+ ./autogen.sh PKG_CONFIG_PATH=/${{env.dest}}/lib/pkgconfig \
libzip_VERSION=1.7.1 libzip_CFLAGS="${{env.LIBZIP_CFLAGS}}" libzip_LIBS="${{env.LIBZIP_LIBS}}" \
zlib_LIBS="/${{env.dest}}/lib/libz.a" libcurl_CFLAGS="${{env.LIBCURL_CFLAGS}}" libcurl_LIBS="$LIBCURL_LIBS"
- name: make
@@ -295,3 +311,16 @@ jobs:
with:
name: idevicerestore-latest_${{ matrix.arch }}-${{ env.dest }}
path: idevicerestore.tar
+ build-docker:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: build
+ run: |
+ pushd docker && ./build.sh; popd
+ docker image save -o idevicerestore-docker.tar idevicerestore-docker
+ - name: publish artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: idevicerestore-latest_docker
+ path: idevicerestore-docker.tar
diff --git a/.github/workflows/curl.yml b/.github/workflows/curl.yml
index 87e4459..a1a8016 100644
--- a/.github/workflows/curl.yml
+++ b/.github/workflows/curl.yml
@@ -12,8 +12,9 @@ jobs:
fail-fast: false
matrix:
include: [
- { msystem: MINGW64, arch: x86_64 },
- { msystem: MINGW32, arch: i686 }
+ { msystem: UCRT64, arch: x86_64, flavor: w64-ucrt },
+ { msystem: MINGW64, arch: x86_64, flavor: w64 },
+ { msystem: MINGW32, arch: i686, flavor: w64 }
]
steps:
- uses: msys2/setup-msys2@v2
@@ -24,12 +25,13 @@ jobs:
install: >-
base-devel
git
- mingw-w64-${{ matrix.arch }}-gcc
+ mingw-${{ matrix.flavor }}-${{ matrix.arch }}-gcc
make
libtool
autoconf
automake-wrapper
liblzma
+ mingw-${{ matrix.flavor }}-${{ matrix.arch }}-openssl
- name: prepare environment
run: |
dest=`echo ${{ matrix.msystem }} |tr [:upper:] [:lower:]`
@@ -37,22 +39,22 @@ jobs:
echo "target_triplet=`gcc -dumpmachine`" >> $GITHUB_ENV
- name: fetch curl source
run: |
- curl -Ls -o curl-8.1.0.tar.bz2 https://github.com/curl/curl/releases/download/curl-8_1_0/curl-8.1.0.tar.bz2
- tar xjf curl-8.1.0.tar.bz2
+ curl -Ls -o curl-8.10.1.tar.bz2 https://github.com/curl/curl/releases/download/curl-8_10_1/curl-8.10.1.tar.bz2
+ tar xjf curl-8.10.1.tar.bz2
- name: configure curl
run: |
- cd curl-8.1.0
- ./configure --disable-ldap --disable-ldaps --disable-rtsp --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-mqtt --disable-manual --disable-threaded-resolver --disable-pthreads --disable-sspi --disable-aws --disable-ntlm --disable-ntlm-wb --disable-tls-srp --disable-unix-sockets --disable-doh --disable-mime --disable-bindlocal --disable-dnsshuffle --disable-alt-svc --disable-hsts --disable-websockets --with-openssl --without-brotli --without-libidn2 --without-ngtcp2 --without-quiche --without-msh3 --without-nghttp2 --without-libpsl
+ cd curl-8.10.1
+ ./configure --disable-ldap --disable-ldaps --disable-rtsp --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-mqtt --disable-manual --disable-threaded-resolver --disable-pthreads --disable-sspi --disable-aws --disable-ntlm --disable-ntlm-wb --disable-tls-srp --disable-unix-sockets --disable-doh --disable-mime --disable-dnsshuffle --disable-alt-svc --disable-hsts --disable-websockets --with-openssl --without-brotli --without-libidn2 --without-ngtcp2 --without-quiche --without-msh3 --without-nghttp2 --without-libpsl
- name: build libcurl
run: |
CURDIR=`pwd`
- cd curl-8.1.0/lib
+ cd curl-8.10.1/lib
make
cp .libs/libcurl.a .
cd ..
tar cf $CURDIR/libcurl-static.tar lib/libcurl.a include/curl/*.h
- name: publish artifact
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: libcurl_${{ matrix.arch }}-${{ env.dest }}
path: libcurl-static.tar