bromite-buildtools/.github/workflows/release.yaml
2023-04-20 07:21:05 -04:00

136 lines
5.4 KiB
YAML

name: Release Bromite CI
permissions:
contents: write
on:
workflow_dispatch:
inputs:
sha:
description: 'uazo/bromite SHA'
required: true
default: '0a8ff322d6e9d738f7b2fa52618b178081bd100d'
build:
description: 'arch [arm64/x64]'
required: true
default: 'arm64'
type:
description: 'runner? [dev/ci]'
required: true
default: 'ci'
env:
BROMITE_SHA: ${{ github.event.inputs.sha }}
REMOVEDOCKERSUPPORT: true
USELOCALIMAGE: true
GOMAJOBS: 60
jobs:
release:
runs-on: ${{ github.event.inputs.type }}
env:
OUTPUTFILE_ARM64: /storage/images/android/arm64/${{ github.event.inputs.build }}/${{ github.event.inputs.sha }}
APK: ${{ github.event.inputs.build }}_ChromePublic.apk
steps:
- name: Prepare container
run: |
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/$BROMITE_SHA | ./pup -p li.branch:last-child a text{} | xargs)
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
wget https://github.com/cli/cli/releases/download/v2.18.1/gh_2.18.1_linux_amd64.tar.gz
tar xfz gh_2.18.1_linux_amd64.tar.gz
- name: Checkout 'uazo/buildtools'
uses: actions/checkout@v2
with:
repository: 'uazo/bromite-buildtools'
path: 'bromite'
fetch-depth: 1
- name: Create release
shell: bash
run: |
GH=gh_2.18.1_linux_amd64/bin/gh
WINOUT=/storage/images/win/x64/$BROMITE_SHA/
VERSION=v$(cat ${{ env.OUTPUTFILE_ARM64 }}/RELEASE)-${{ github.event.inputs.build }}
cd bromite
GH=gh_2.21.1_linux_amd64/bin/gh
wget https://github.com/cli/cli/releases/download/v2.21.1/gh_2.21.1_linux_amd64.tar.gz
tar xfz gh_2.21.1_linux_amd64.tar.gz
echo ${{ secrets.GITHUB_TOKEN }} | $GH auth login --with-token
echo "\`\`\`" >note
echo "this is not the official release of bromite but a test version." >>note
echo "you can try it at your own risk." >>note
echo "\`\`\`" >>note
$GH release create $VERSION-$BROMITE_SHA --notes-file note -d
# android
sudo cp ${{ env.OUTPUTFILE_ARM64 }}/apks/ChromePublic.apk ChromePublic.apk
sudo chown runner ChromePublic.apk
mv ChromePublic.apk $APK
echo Uploading $APK
$GH release upload $VERSION-$BROMITE_SHA $APK
echo Uploading chrome.size
test $VERSION-$BROMITE_SHA $OUTPUTFILE_ARM64/chrome.size && \
$GH release upload $VERSION-$BROMITE_SHA $OUTPUTFILE_ARM64/chrome.size
echo Uploading arm64_ninja_log_trace.html
test $OUTPUTFILE_ARM64/ninja_log_trace.html && \
cp $OUTPUTFILE_ARM64/ninja_log_trace.html arm64_ninja_log_trace.html && \
$GH release upload $VERSION-$BROMITE_SHA arm64_ninja_log_trace.html
# windows
mkdir chrome-win/
cp $WINOUT/*.manifest chrome-win/
cp $WINOUT/chrome.dll chrome-win/
cp $WINOUT/chrome.exe chrome-win/
cp $WINOUT/chrome_100_percent.pak chrome-win/
cp $WINOUT/chrome_200_percent.pak chrome-win/
cp $WINOUT/chrome_elf.dll chrome-win/
cp $WINOUT/chrome_proxy.exe chrome-win/
cp $WINOUT/chrome_pwa_launcher.exe chrome-win/
cp $WINOUT/chrome_wer.dll chrome-win/
cp "/win_sdk/10.0.20348.0/Windows Kits/10/Redist/D3D/x64/d3dcompiler_47.dll" chrome-win/
cp $WINOUT/elevation_service.exe chrome-win/
cp "$WINOUT/First Run" chrome-win/
cp $WINOUT/headless_lib_data.pak chrome-win/
cp $WINOUT/icudtl.dat chrome-win/
cp $WINOUT/libEGL.dll chrome-win/
cp $WINOUT/libGLESv2.dll chrome-win/
cp $WINOUT/Logo.png chrome-win/
cp $WINOUT/mojo_core.dll chrome-win/
cp $WINOUT/notification_helper.exe chrome-win/
cp $WINOUT/resources.pak chrome-win/
cp $WINOUT/SmallLogo.png chrome-win/
cp $WINOUT/snapshot_blob.bin chrome-win/
cp $WINOUT/VkICD_mock_icd.dll chrome-win/
cp $WINOUT/VkLayer_khronos_validation.dll chrome-win/
cp $WINOUT/vk_swiftshader.dll chrome-win/
cp $WINOUT/vulkan-1.dll chrome-win/
cp -r $WINOUT/locales chrome-win/locales
#test chrome-win.zip && rm chrome-win.zip
zip -r chrome-win.zip chrome-win/
echo Uploading chrome-win.zip
$GH release upload $VERSION-$BROMITE_SHA chrome-win.zip
# workaround for https://github.com/cli/cli/issues/6599
sleep 30s
TIMESTAMP=$(date +%s -r chrome-win.zip)
echo >updateurl.txt "browser=chromium;os=windows;architecture=64-bit;timestamp=$TIMESTAMP;editor=uazo;channel=stable;repository=https://github.com/uazo/bromite-buildtools/releases;download=https://github.com/uazo/bromite-buildtools/releases/latest/download/chrome-win.zip;version=$(cat $WINOUT/RELEASE);revision=1;commit=$BROMITE_SHA"
$GH release upload $VERSION-$BROMITE_SHA updateurl.txt
$GH release edit $VERSION-$BROMITE_SHA -t $VERSION-$BROMITE_SHA
$GH release edit $VERSION-$BROMITE_SHA --draft=false