diff --git a/.github/workflows/magisk.yml b/.github/workflows/magisk.yml index 485d89d..3248403 100644 --- a/.github/workflows/magisk.yml +++ b/.github/workflows/magisk.yml @@ -11,6 +11,16 @@ on: - x64 - arm64 - x64 & arm64 + release_type: + description: "WSA release type" + required: true + default: "retail" + type: choice + options: + - retail + - release preview + - insider slow + - insider fast magisk_apk: description: "Magisk version" required: true @@ -80,9 +90,10 @@ jobs: - name: Dependencies run: | pip3 install beautifulsoup4 lxml - sudo apt-get update && sudo apt-get install setools lzip qemu-utils wine winetricks - wget -qO- "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/archive/$GITHUB_REF.tar.gz" | sudo tar --wildcards -zxvf- -C ~ --strip-component=2 '*/wine/*' + sudo apt-get update && sudo apt-get install setools lzip wine winetricks patchelf + wget -qO- "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/archive/$GITHUB_REF.tar.gz" | sudo tar --wildcards -zxvf- -C ~ --strip-component=2 '*/wine/*' '*/linker/*' winetricks msxml6 + echo "163.172.251.201 store.rg-adguard.net" | sudo tee -a /etc/hosts - name: Download WSA shell: python run: | @@ -94,10 +105,12 @@ jobs: import urllib.request arch = "${{ matrix.arch }}" + release_type_map = {"retail": "Retail", "release preview": "RP", "insider slow": "WIS", "insider fast": "WIF"} + release_type = release_type_map["${{ github.event.inputs.release_type }}"] if "${{ github.event.inputs.release_type }}" != "" else "Retail" - res = requests.post("https://store.rg-adguard.net/api/GetFiles", "type=CategoryId&url=858014f3-3934-4abe-8078-4aa193e74ca8&ring=WIS&lang=en-US", headers={ + res = requests.post("https://store.rg-adguard.net/api/GetFiles", f"type=CategoryId&url=858014f3-3934-4abe-8078-4aa193e74ca8&ring={release_type}&lang=en-US", headers={ "content-type": "application/x-www-form-urlencoded" - }) + }, verify=False) # source site has expired cert html = BeautifulSoup(res.content, "lxml") a = html.find("a", string=re.compile(f"Microsoft\.UI\.Xaml\..*_{arch}_.*\.appx")) @@ -258,13 +271,10 @@ jobs: - name: Mount images run: | sudo mkdir system - sudo mkdir userdata sudo mount -o loop ${{ matrix.arch }}/system.img system sudo mount -o loop ${{ matrix.arch }}/vendor.img system/vendor sudo mount -o loop ${{ matrix.arch }}/product.img system/product sudo mount -o loop ${{ matrix.arch }}/system_ext.img system/system_ext - qemu-img convert -O raw ${{ matrix.arch }}/userdata.vhdx userdata.img - sudo mount -o loop userdata.img userdata - name: Integrate Magisk if: ${{ github.event.inputs.root_sol == 'magisk' || github.event.inputs.root_sol == '' }} run: | @@ -273,13 +283,12 @@ jobs: sudo chown root:root system/sbin sudo chmod 0700 system/sbin sudo cp magisk/* system/sbin/ - sudo mkdir -p userdata/adb/magisk - sudo chmod -R 700 userdata/adb - sudo cp magisk/* userdata/adb/magisk/ - sudo find userdata/adb/magisk -type f -exec chmod 0755 {} \; - sudo cp magisk.zip userdata/adb/magisk/magisk.apk + sudo cp magisk.zip system/sbin/magisk.apk sudo tee -a system/sbin/loadpolicy.sh <