name: Check git apply
  
on:
  workflow_dispatch:
    inputs:
      rtag:
        description: 'uazo/bromite TAG or COMMIT'
        required: true
        default: ''
      branch:
        description: 'uazo/bromite BRANCH'
        required: true
        default: ''
        
env:
  GITHUB_SHA: ${{ github.event.inputs.rtag }}
  USEINTERNALNETWORK: false  # CUSTOM RUNNER: create the docker network as internal
  REMOVEDOCKERSUPPORT: false # CUSTOM RUNNER: remove sharing of docker socket
  https_proxy: http://172.18.0.1:8118
  http_proxy: http://172.18.0.1:8118
jobs:
  get-git-apply:
    runs-on: ci
    container:
      image: uazo/build-deps:latest
      env:
        GITHUB_SHA: ${{ github.event.inputs.rtag }}
        USELOCALIMAGE: true        # CUSTOM RUNNER: permit use of local images
        REMOVEDOCKERSUPPORT: false # CUSTOM RUNNER: remove sharing of docker socket
      volumes:
        - /tmp/proxy:/tmp/proxy
        
    steps:
          
      - name: Prepare container
        run: |
          sudo chown lg /etc/apt/apt.conf.d/proxy.conf
          sudo chown lg .
          sudo echo Acquire::http::Proxy \"http://172.18.0.1:8118\"\; >/etc/apt/apt.conf.d/proxy.conf
          #export HTTPS_PROXY=http://172.18.0.1:8118
          #export HTTP_PROXY=http://172.18.0.1:8118
          #export http_proxy=http://172.18.0.1:8118
          #export https_proxy=http://172.18.0.1:8118
          
          sudo chmod 777 /__w/_temp

          wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
          sudo dpkg -i packages-microsoft-prod.deb
          rm packages-microsoft-prod.deb
          
          sudo apt update
          sudo apt install -y wget unzip tar sed dos2unix patchutils wiggle curl nano aspnetcore-runtime-6.0
          
          wget https://github.com/uazo/superpatch/releases/latest/download/SuperPatchUtils.tar.gz
          tar xfz SuperPatchUtils.tar.gz
          rm SuperPatchUtils.tar.gz
          
          git clone https://github.com/uazo/bromite-buildtools
          
          #wget https://github.com/ericchiang/pup/releases/download/v0.4.0/pup_v0.4.0_linux_amd64.zip
          #unzip pup_v0.4.0_linux_amd64.zip
          #rm pup_v0.4.0_linux_amd64.zip
          #BRANCH=$(curl https://github.com/uazo/bromite/branch_commits/$GITHUB_SHA | ./pup -p li.branch:last-child a text{})
          
          test -d /github/home/.vscode-server || sudo mkdir /github/home/.vscode-server
          sudo chown lg /github/home/.vscode-server
          
      - name: Checkout 'uazo/bromite'
        uses: actions/checkout@v2
        with:
            repository: 'uazo/bromite'
            ref: ${{ github.event.inputs.rtag }}
            path: 'bromite'
            fetch-depth: 1
    
      - name: Download chromium sources
        run: |
          export HTTPS_PROXY=http://172.18.0.1:8118
          export HTTP_PROXY=http://172.18.0.1:8118
          export http_proxy=http://172.18.0.1:8118
          export https_proxy=http://172.18.0.1:8118
          
          VERSION=$(cat bromite/build/RELEASE)
          ./bin/SuperPatchUtils bromite $GITHUB_SHA chromium/src
          cd chromium/src
          git init
          git config user.email "you@example.com"
          git config user.name "Your Name"
          git add .
          git commit -m $VERSION
          git tag -a $VERSION -m $VERSION
          cd ../..
          
      - name: Apply patches ${{ github.event.inputs.rtag }}
        run: |
          export HOME=$(pwd)
          cd ~/chromium/src
          
          export SILENT=true
          export CGA_REMOTE=true
          export SKIPAUTOGENERATED=true
          bash ~/bromite-buildtools/apply-all-patch.sh || sleep 23h
          
          rm -rf ~/bromite/build/patches-new/
          rm ~/bromite/build/bromite_patches_list_new.txt
          
      - name: Export patches
        run: |
          export HOME=$(pwd)
          
          cd ~/chromium/src          
          bash ~/bromite-buildtools/export-all-patch.sh
          
          cd ~/bromite
          rm -rf build/patches/*
          mv build/patches-new/* build/patches
          rm -rf build/patches-new/
          
      - name: Check differences CHANGES=${{ env.CHANGES }}
        run: |
          cd bromite
          CHANGES=0 && git diff --quiet || CHANGES=1
          
          if [[ CHANGES -eq 1 ]]; then
              git add build/patches/*.patch
              git diff --name-only --staged
          fi
          
      - name: Create Pull Request
        uses: peter-evans/create-pull-request@dcd5fd746d53dd8de555c0f10bca6c35628be47a #v3.12.0
        with:
          path: bromite
          base: ${{ github.event.inputs.branch }}
          add-paths: |
            build/patches/*.patch
          commit-message: 'AUTOMATED - git apply results'
          title: Git apply result for ${{ github.event.inputs.branch }} branch
          body: ${{ env.MESSAGE }}
          delete-branch: true
          branch-suffix: short-commit-hash
