Added a github CI build
268
.github/workflows/alpha.yml
vendored
Normal file
@@ -0,0 +1,268 @@
|
||||
name: Zen Alpha builds
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-data:
|
||||
name: Generate build data
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
build_date: ${{ steps.data.outputs.builddate }}
|
||||
version: ${{ steps.data.outputs.version }}
|
||||
steps:
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
name: Install pnpm
|
||||
id: pnpm-install
|
||||
with:
|
||||
version: 8
|
||||
run_install: false
|
||||
|
||||
- name: Get pnpm store directory
|
||||
id: pnpm-cache
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||
|
||||
- uses: actions/cache@v3
|
||||
name: Setup pnpm cache
|
||||
with:
|
||||
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Setup gluon
|
||||
run: |
|
||||
npm i -g gluon-build@next
|
||||
|
||||
- name: Bump version
|
||||
run: |
|
||||
pnpm gluon ci --brand alpha --bump prerelease
|
||||
|
||||
- name: Debug
|
||||
run: |
|
||||
gluon get version
|
||||
gluon get version | xargs
|
||||
echo "$(gluon get version | xargs)"
|
||||
|
||||
- name: Export release date
|
||||
id: data
|
||||
shell: bash
|
||||
run: |
|
||||
echo "builddate=$(date +"%Y-%m-%d")" >> $GITHUB_OUTPUT
|
||||
echo "version=$(gluon get version | xargs)" >> $GITHUB_OUTPUT
|
||||
|
||||
- uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
commit_message: 🔖 Update version to ${{ steps.data.outputs.version }}
|
||||
commit_user_name: Fushra Robot
|
||||
commit_user_email: trickypr@gmail.com
|
||||
|
||||
linux:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [build-data]
|
||||
|
||||
steps:
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
# Give the runner some swap space in an attempt to stop gkrust from crashing the build
|
||||
- name: Set Swap Space
|
||||
uses: pierotofy/set-swap-space@v1.0
|
||||
with:
|
||||
swap-size-gb: 6
|
||||
|
||||
- name: Setup git
|
||||
run: |
|
||||
git config --global user.email "mauro-balades@users.noreply.github.com"
|
||||
git config --global user.name "mauro-balades"
|
||||
|
||||
- name: Install system dependencies
|
||||
run: |
|
||||
sudo apt-get update --fix-missing
|
||||
sudo apt-get update
|
||||
sudo apt-get install dos2unix yasm nasm build-essential libgtk2.0-dev libpython3-dev m4 uuid libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdrm-dev libdbus-glib-1-dev libdbus-glib-1-dev libgtk-3-dev libpulse-dev libx11-xcb-dev libxt-dev xvfb lld llvm
|
||||
pip install pycairo testresources
|
||||
|
||||
- name: Disable wasm sandboxing for the sake of my sanity
|
||||
run: |
|
||||
echo "ac_add_options --without-wasm-sandboxed-libraries" >> mozconfig
|
||||
|
||||
- name: Free up space
|
||||
run: |
|
||||
sudo rm -rf /usr/share/dotnet
|
||||
sudo rm -rf /opt/ghc
|
||||
sudo rm -rf "/usr/local/share/boost"
|
||||
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
|
||||
|
||||
- name: Install sccache
|
||||
env:
|
||||
LINK: https://github.com/mozilla/sccache/releases/download
|
||||
SCCACHE_VERSION: 0.2.13
|
||||
run: |
|
||||
SCCACHE_FILE=sccache-$SCCACHE_VERSION-x86_64-unknown-linux-musl
|
||||
mkdir -p $HOME/.local/bin
|
||||
curl -L "$LINK/$SCCACHE_VERSION/$SCCACHE_FILE.tar.gz" | tar xz
|
||||
mv -f $SCCACHE_FILE/sccache $HOME/.local/bin/sccache
|
||||
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Save sccache
|
||||
uses: actions/cache@v3
|
||||
continue-on-error: false
|
||||
with:
|
||||
path: /home/runner/.cache/sccache
|
||||
key: ${{ runner.os }}-sccache
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
name: Install pnpm
|
||||
id: pnpm-install
|
||||
with:
|
||||
version: 8
|
||||
run_install: false
|
||||
|
||||
- name: Get pnpm store directory
|
||||
id: pnpm-cache
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||
|
||||
- uses: actions/cache@v3
|
||||
name: Setup pnpm cache
|
||||
with:
|
||||
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Load gluon CI setup
|
||||
run: pnpm gluon ci --brand alpha --display-version ${{ needs.build-data.outputs.version }}
|
||||
|
||||
- name: Download firefox source and dependencies
|
||||
run: pnpm gluon download
|
||||
|
||||
- name: Import
|
||||
run: pnpm gluon import
|
||||
|
||||
- name: Run Init
|
||||
run: pnpm run init
|
||||
|
||||
- name: Bootstrap
|
||||
run: |
|
||||
cd engine
|
||||
./mach --no-interactive bootstrap --application-choice browser
|
||||
cd ..
|
||||
|
||||
- name: Build
|
||||
run: pnpm build
|
||||
|
||||
- name: Package
|
||||
run: pnpm package
|
||||
|
||||
- name: Rename artifacts
|
||||
run: |
|
||||
mv dist/zen-browser-*.tar.bz2 "zen-browser.linux.tar.bz2"
|
||||
mv dist/output.mar linux.mar
|
||||
|
||||
- name: Upload binary
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: zen-browser.linux.tar.bz2
|
||||
path: ./zen-browser.linux.tar.bz2
|
||||
|
||||
- name: Upload mar
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: linux.mar
|
||||
path: ./linux.mar
|
||||
|
||||
- name: Upload update manifests
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: linux_update_manifest
|
||||
path: ./dist/update
|
||||
|
||||
source:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [build-data]
|
||||
|
||||
steps:
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup git
|
||||
run: |
|
||||
git config --global user.email "mauro-balades@users.noreply.github.com"
|
||||
git config --global user.name "mauro-balades"
|
||||
|
||||
- uses: pnpm/action-setup@v2
|
||||
name: Install pnpm
|
||||
id: pnpm-install
|
||||
with:
|
||||
version: 8
|
||||
run_install: false
|
||||
|
||||
- name: Get pnpm store directory
|
||||
id: pnpm-cache
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||
|
||||
- uses: actions/cache@v3
|
||||
name: Setup pnpm cache
|
||||
with:
|
||||
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Load gluon CI setup
|
||||
run: pnpm gluon ci --brand alpha --display-version ${{ needs.build-data.outputs.version }}
|
||||
|
||||
- name: Download firefox source and dependancies
|
||||
run: pnpm gluon download --verbose
|
||||
|
||||
- name: Import
|
||||
run: pnpm gluon import --verbose
|
||||
|
||||
- name: Run Init
|
||||
run: pnpm run init
|
||||
|
||||
- name: Compress
|
||||
run: |
|
||||
cd engine
|
||||
# -h is used to dereference symlinks
|
||||
tar --use-compress-program=zstd -hcf ../zen-browser.source.tar.gz *
|
||||
cd ..
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: zen-browser.source.tar.gz
|
||||
path: ./zen-browser.source.tar.gz
|
||||
4
configs/branding/alpha/MacOSInstaller.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="320" height="130" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="300" height="100" x="10" y="10" style="fill:rgb(0,0,255);stroke-width:3;stroke:red" />
|
||||
Sorry, your browser does not support inline SVG.
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 228 B |
BIN
configs/branding/alpha/logo.png
Normal file
|
After Width: | Height: | Size: 396 KiB |
BIN
configs/branding/alpha/logo128.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
configs/branding/alpha/logo16.png
Normal file
|
After Width: | Height: | Size: 1014 B |
BIN
configs/branding/alpha/logo22.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
configs/branding/alpha/logo24.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
configs/branding/alpha/logo256.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
configs/branding/alpha/logo32.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
configs/branding/alpha/logo48.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
configs/branding/alpha/logo512.png
Normal file
|
After Width: | Height: | Size: 154 KiB |
BIN
configs/branding/alpha/logo64.png
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
@@ -1,7 +1,6 @@
|
||||
# Browser branding
|
||||
ac_add_options --enable-update-channel=release
|
||||
|
||||
ac_add_options --with-branding=beta
|
||||
ac_add_options --with-app-name=${binName}
|
||||
export MOZ_USER_DIR="${name}"
|
||||
export MOZ_APP_VENDOR="${vendor}"
|
||||
|
||||
15
gluon.json
@@ -22,6 +22,21 @@
|
||||
"release": {
|
||||
"displayVersion": "1.0.0"
|
||||
}
|
||||
},
|
||||
"alpha": {
|
||||
"backgroundColor": "#282A33",
|
||||
"brandShorterName": "Zen",
|
||||
"brandShortName": "Zen Browser",
|
||||
"brandFullName": "Zen Browser",
|
||||
"release": {
|
||||
"displayVersion": "1.0.0-a.17",
|
||||
"github": {
|
||||
"repo": "zen-browser/desktop"
|
||||
},
|
||||
"x86": {
|
||||
"linuxMar": "linux.mar"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"license": {
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"import": "gluon import",
|
||||
"export": "gluon export",
|
||||
"init": "python3 init-browser.py",
|
||||
"package": "gluon package",
|
||||
"update-newtab": "python3 update_newtab.py"
|
||||
},
|
||||
"repository": {
|
||||
|
||||