4 changed files with 34 additions and 11 deletions
@ -15,6 +15,7 @@ jobs: |
|||
matrix: |
|||
arch: [arm, arm64] |
|||
target: [chrome_public_apk, monochrome_public_apk] |
|||
debug: [release, debug] |
|||
|
|||
steps: |
|||
- name: Check Environment |
|||
@ -22,7 +23,7 @@ jobs: |
|||
pwd |
|||
uname -r |
|||
system_profiler SPHardwareDataType |
|||
sleep $((10 + RANDOM % 20)) |
|||
sleep $((5 + RANDOM % 10)) |
|||
- name: Checkout repository |
|||
uses: actions/[email protected] |
|||
- name: Checkout submodules |
|||
@ -31,6 +32,7 @@ jobs: |
|||
git submodule sync --recursive |
|||
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1 |
|||
- name: Install Docker |
|||
if: (matrix.debug == 'release' && (matrix.arch != 'arm64' || matrix.target != 'monochrome_public_apk')) || (matrix.debug == 'debug' && ((matrix.arch == 'arm' && matrix.target == 'monochrome_public_apk') || (matrix.arch == 'arm64' && matrix.target == 'chrome_public_apk'))) |
|||
run: | |
|||
brew install docker docker-compose docker-machine xhyve docker-machine-driver-xhyve |
|||
sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve |
|||
@ -39,6 +41,7 @@ jobs: |
|||
- name: Create Docker Machine |
|||
env: |
|||
machine_config_path: /Users/runner/.docker/machine/machines/default |
|||
if: (matrix.debug == 'release' && (matrix.arch != 'arm64' || matrix.target != 'monochrome_public_apk')) || (matrix.debug == 'debug' && ((matrix.arch == 'arm' && matrix.target == 'monochrome_public_apk') || (matrix.arch == 'arm64' && matrix.target == 'chrome_public_apk'))) |
|||
run: | |
|||
mkdir -p ~/.docker/machine/cache |
|||
curl -Lo ~/.docker/machine/cache/boot2docker.iso https://github.com/boot2docker/boot2docker/releases/download/v19.03.5/boot2docker.iso |
|||
@ -47,6 +50,7 @@ jobs: |
|||
docker-machine ssh default id -un |
|||
docker-machine ssh default mkdir -p /home/docker/work/_temp /home/docker/work/_actions /home/docker/work/_temp/_github_home /home/docker/work/_temp/_github_workflow |
|||
- name: Start Docker |
|||
if: (matrix.debug == 'release' && (matrix.arch != 'arm64' || matrix.target != 'monochrome_public_apk')) || (matrix.debug == 'debug' && ((matrix.arch == 'arm' && matrix.target == 'monochrome_public_apk') || (matrix.arch == 'arm64' && matrix.target == 'chrome_public_apk'))) |
|||
run: | |
|||
docker-machine env default |
|||
eval "$(docker-machine env default)" |
|||
@ -62,6 +66,7 @@ jobs: |
|||
docker inspect --format "{{range .Config.Env}}{{println .}}{{end}}" ${container_name} |
|||
docker start ${container_name} |
|||
- name: Install dependencies |
|||
if: (matrix.debug == 'release' && (matrix.arch != 'arm64' || matrix.target != 'monochrome_public_apk')) || (matrix.debug == 'debug' && ((matrix.arch == 'arm' && matrix.target == 'monochrome_public_apk') || (matrix.arch == 'arm64' && matrix.target == 'chrome_public_apk'))) |
|||
run: | |
|||
docker-machine env default |
|||
eval "$(docker-machine env default)" |
|||
@ -72,12 +77,14 @@ jobs: |
|||
docker exec ${container_name} pacman -S --noconfirm --needed base base-devel json-glib libva protobuf jsoncpp python python2 gperf wget rsync tar unzip curl gnupg maven yasm mesa npm ninja git clang lld gn llvm quilt |
|||
docker exec ${container_name} bash -c 'yes | pacman -Scc' |
|||
- name: Move repository |
|||
if: (matrix.debug == 'release' && (matrix.arch != 'arm64' || matrix.target != 'monochrome_public_apk')) || (matrix.debug == 'debug' && ((matrix.arch == 'arm' && matrix.target == 'monochrome_public_apk') || (matrix.arch == 'arm64' && matrix.target == 'chrome_public_apk'))) |
|||
run: | |
|||
docker-machine env default |
|||
eval "$(docker-machine env default)" |
|||
docker-machine scp -r ../ungoogled-chromium-android [email protected]:/home/docker/work/_temp/_github_home |
|||
docker exec ${container_name} bash -c 'cp -r ${HOME}/ungoogled-chromium-android .' |
|||
- name: Install python environment |
|||
if: (matrix.debug == 'release' && (matrix.arch != 'arm64' || matrix.target != 'monochrome_public_apk')) || (matrix.debug == 'debug' && ((matrix.arch == 'arm' && matrix.target == 'monochrome_public_apk') || (matrix.arch == 'arm64' && matrix.target == 'chrome_public_apk'))) |
|||
run: | |
|||
docker-machine env default |
|||
eval "$(docker-machine env default)" |
|||
@ -87,16 +94,23 @@ jobs: |
|||
docker exec ${container_name} bash -c './Miniconda3-latest-Linux-x86_64.sh -b -p ~/anaconda && rm -rf Miniconda3-latest-Linux-x86_64.sh' |
|||
docker exec ${container_name} bash -c 'source ~/anaconda/bin/activate && conda init && conda create -y --name py2 python=2 && conda activate py2 && pip install six' |
|||
- name: Build |
|||
if: matrix.arch != 'arm64' || matrix.target != 'monochrome_public_apk' |
|||
if: matrix.debug == 'release' && (matrix.arch != 'arm64' || matrix.target != 'monochrome_public_apk') |
|||
run: | |
|||
docker-machine env default |
|||
eval "$(docker-machine env default)" |
|||
docker exec ${container_name} bash -c 'source ~/.bashrc && conda activate py2 && cd ungoogled-chromium-android && ./build.sh -a ${{ matrix.arch }} -t ${{ matrix.target }}' |
|||
docker exec ${container_name} bash -c 'ls ungoogled-chromium-android/src/out/Default/apks' |
|||
- name: Build Debug |
|||
if: matrix.debug == 'debug' && ((matrix.arch == 'arm' && matrix.target == 'monochrome_public_apk') || (matrix.arch == 'arm64' && matrix.target == 'chrome_public_apk')) |
|||
run: | |
|||
docker-machine env default |
|||
eval "$(docker-machine env default)" |
|||
docker exec ${container_name} bash -c 'source ~/.bashrc && conda activate py2 && cd ungoogled-chromium-android && ./build.sh -d -a ${{ matrix.arch }} -t ${{ matrix.target }}' |
|||
docker exec ${container_name} bash -c 'ls ungoogled-chromium-android/src/out/Default/apks' |
|||
- name: Move artifact |
|||
env: |
|||
SUMS: checksums.txt |
|||
if: matrix.arch != 'arm64' || matrix.target != 'monochrome_public_apk' |
|||
if: (matrix.debug == 'release' && (matrix.arch != 'arm64' || matrix.target != 'monochrome_public_apk')) || (matrix.debug == 'debug' && ((matrix.arch == 'arm' && matrix.target == 'monochrome_public_apk') || (matrix.arch == 'arm64' && matrix.target == 'chrome_public_apk'))) |
|||
run: | |
|||
docker-machine env default |
|||
eval "$(docker-machine env default)" |
|||
@ -108,7 +122,7 @@ jobs: |
|||
cat $SUMS |
|||
- uses: actions/[email protected] |
|||
name: Upload artifact |
|||
if: matrix.arch != 'arm64' || matrix.target != 'monochrome_public_apk' |
|||
if: (matrix.debug == 'release' && (matrix.arch != 'arm64' || matrix.target != 'monochrome_public_apk')) || (matrix.debug == 'debug' && ((matrix.arch == 'arm' && matrix.target == 'monochrome_public_apk') || (matrix.arch == 'arm64' && matrix.target == 'chrome_public_apk'))) |
|||
with: |
|||
name: ${{ matrix.target }}-${{ matrix.arch }} |
|||
name: ${{ matrix.target }}-${{ matrix.arch }}-${{ matrix.debug }} |
|||
path: ../artifact/ |
|||
|
Loading…
Reference in new issue