Browse Source

added linux ci with ccache and not working yet windows ci

pull/14/head
meguminloli 10 months ago
parent
commit
a95be2685b
  1. 55
      .github/workflows/linux.yaml
  2. 58
      .github/workflows/windows.yaml
  3. 1
      mach
  4. 2
      malepoon/configure.in
  5. 1
      malepoon/confvars.sh
  6. 1
      scripts/InstallMozillaBuild.ps1
  7. 7
      scripts/build.sh
  8. 12
      scripts/configure.sh
  9. 16
      scripts/dependencies.sh
  10. 31
      scripts/mozconfig-gtk2
  11. 31
      scripts/mozconfig-gtk3
  12. 27
      scripts/mozconfig-win32
  13. 31
      scripts/mozconfig-win64

55
.github/workflows/linux.yaml

@ -0,0 +1,55 @@
name: linux
on:
push:
pull_request:
jobs:
build:
name: ${{ matrix.config.name }}
runs-on: ubuntu-latest
env:
SHELL: bash
GTK: ${{ matrix.config.gtk }}
CC: ccache gcc
CXX: ccache g++
strategy:
fail-fast: false
matrix:
config:
- name: Ubuntu-GTK3
gtk: GTK3
- name: Ubuntu-GTK2
gtk: GTK2
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Dependencies
run: |
exec bash "scripts/dependencies.sh"
- name: Configure
run: |
exec bash "scripts/configure.sh"
- name: "Set up compiler cache"
uses: actions/cache@v2
with:
path: "~/.ccache"
key: ${{ matrix.config.os }}-${{ matrix.config.gtk }}-${{ github.head_ref }}-${{ github.run_number }}
restore-keys: |
${{ matrix.config.os }}-${{ matrix.config.gtk }}-${{ github.head_ref }}-
- name: Build
run: |
exec bash "scripts/build.sh"
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: Male-Poon_${{matrix.config.name}}
path: |
obj-x86_64-pc-linux-gnu/dist/malepoon-*
LICENSE
if-no-files-found: error

58
.github/workflows/windows.yaml

@ -0,0 +1,58 @@
name: windows
on:
push:
pull_request:
jobs:
build:
name: ${{ matrix.config.name }}
runs-on: windows-latest
env:
WIN: ${{ matrix.config.win }}
strategy:
fail-fast: false
matrix:
config:
- name: Windows-Win64
win: WIN64
arch: amd64
- name: Windows-Win32
win: WIN32
arch: x86
steps:
- name: Checkout
uses: actions/checkout@v2
- name: "MSVC Developer Command Prompt"
uses: seanmiddleditch/gha-setup-vsdevenv@v3
with:
arch: ${{ matrix.config.arch }}
- name: Dependencies
run: |
Invoke-WebRequest -Uri https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-2.2.0.exe -OutFile MozillaBuildSetup-2.2.0.exe
./scripts/InstallMozillaBuild.ps1
shell: pwsh
- name: Configure
run: |
scripts/configure.sh
shell: bash
- name: Build
run: |
scripts/build.sh
shell: bash
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: Male-Poon_${{matrix.config.name}}
path: |
obj-*/dist/malepoon-*
LICENSE
if-no-files-found: error

1
mach

@ -1,4 +1,3 @@
#!/bin/sh
MACH_CMD=./platform/mach
$MACH_CMD $@

2
malepoon/configure.in

@ -7,6 +7,8 @@ dnl file, You can obtain one at http://mozilla.org/MPL/2.0/.
dnl Things we need to carry from confvars.sh
AC_DEFINE(MOZ_PHOENIX)
AC_SUBST(MOZ_PHOENIX)
AC_DEFINE(MOZ_PHOENIX_EXTENSIONS)
AC_SUBST(MOZ_PHOENIX_EXTENSIONS)
AC_DEFINE(MC_PALEMOON)
AC_SUBST(MC_PALEMOON)

1
malepoon/confvars.sh

@ -42,6 +42,7 @@ MC_PALEMOON=1
# Enables conditional code in the platform for historically
# Firefox-like browsers
MOZ_PHOENIX=1
MOZ_PHOENIX_EXTENSIONS=1
# Lightweight Themes
MOZ_PERSONAS=1

1
scripts/InstallMozillaBuild.ps1

@ -0,0 +1 @@
& .\MozillaBuildSetup-2.2.0.exe /S /v/qn | Write-Output

7
scripts/build.sh

@ -0,0 +1,7 @@
#!/bin/bash
BASH="bash"
if [[ ! -z $WIN ]]; then
BASH=/c/mozilla-build/start-shell.bat
fi
$BASH mach build
$BASH mach package

12
scripts/configure.sh

@ -0,0 +1,12 @@
#!/bin/bash
git submodule init && git submodule update
if [ $GTK == "GTK3" ]; then
cp scripts/mozconfig-gtk3 .mozconfig
elif [ $GTK == "GTK2" ]; then
cp scripts/mozconfig-gtk2 .mozconfig
elif [ $WIN == "WIN32"]; then
cp scripts/mozconfig-win32 .mozconfig
else
cp scripts/mozconfig-win64 .mozconfig
fi

16
scripts/dependencies.sh

@ -0,0 +1,16 @@
#!/bin/bash
if [[ ! -z "${GTK}" ]]; then
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install ccache -y
if [ $GTK == "GTK3" ]; then
sudo apt-get install build-essential libgtk2.0-dev libdbus-glib-1-dev autoconf2.13 \
yasm libegl1-mesa-dev libasound2-dev libxt-dev zlib1g-dev libssl-dev \
libsqlite3-dev libbz2-dev libpulse-dev libgconf2-dev libx11-xcb-dev \
zip python2.7 python-dbus libgtk-3-dev -y
elif [ $GTK == "GTK2" ]; then
sudo apt-get install build-essential libgtk2.0-dev libdbus-glib-1-dev autoconf2.13 \
yasm libegl1-mesa-dev libasound2-dev libxt-dev zlib1g-dev libssl-dev \
libsqlite3-dev libbz2-dev libpulse-dev libgconf2-dev libx11-xcb-dev \
zip python2.7 python-dbus -y
fi
fi

31
scripts/mozconfig-gtk2

@ -0,0 +1,31 @@
_BUILD_64=1
_GTK_VERSION=2
ac_add_options --enable-application=malepoon
ac_add_options --enable-optimize="-O3 -w"
ac_add_options --enable-default-toolkit=cairo-gtk$_GTK_VERSION
ac_add_options --enable-jemalloc
ac_add_options --enable-strip
ac_add_options --enable-devtools
ac_add_options --enable-av1
ac_add_options --disable-eme
ac_add_options --disable-webrtc
ac_add_options --disable-gamepad
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-necko-wifi
ac_add_options --disable-updater
ac_add_options --with-pthreads
ac_add_options --enable-official-branding
export MOZILLA_OFFICIAL=1
if [ -n "$_BUILD_64" ]; then
ac_add_options --x-libraries=/usr/lib64
else
ac_add_options --x-libraries=/usr/lib
fi
export MOZ_PKG_SPECIAL=gtk$_GTK_VERSION

31
scripts/mozconfig-gtk3

@ -0,0 +1,31 @@
_BUILD_64=1
_GTK_VERSION=3
ac_add_options --enable-application=malepoon
ac_add_options --enable-optimize="-O3 -w"
ac_add_options --enable-default-toolkit=cairo-gtk$_GTK_VERSION
ac_add_options --enable-jemalloc
ac_add_options --enable-strip
ac_add_options --enable-devtools
ac_add_options --enable-av1
ac_add_options --disable-eme
ac_add_options --disable-webrtc
ac_add_options --disable-gamepad
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-necko-wifi
ac_add_options --disable-updater
ac_add_options --with-pthreads
ac_add_options --enable-official-branding
export MOZILLA_OFFICIAL=1
if [ -n "$_BUILD_64" ]; then
ac_add_options --x-libraries=/usr/lib64
else
ac_add_options --x-libraries=/usr/lib
fi
export MOZ_PKG_SPECIAL=gtk$_GTK_VERSION

27
scripts/mozconfig-win32

@ -0,0 +1,27 @@
_BUILD_64=
ac_add_options --enable-application=malepoon
ac_add_options --enable-optimize="-O2 -GS-"
ac_add_options --enable-jemalloc
ac_add_options --enable-strip
ac_add_options --enable-devtools
ac_add_options --enable-av1
ac_add_options --disable-accessibility
ac_add_options --disable-eme
ac_add_options --disable-webrtc
ac_add_options --disable-gamepad
ac_add_options --disable-parental-controls
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-updater
ac_add_options --enable-official-branding
export MOZILLA_OFFICIAL=1
if [ -n "$_BUILD_64" ]; then
_BUILD_ARCH=x64
ac_add_options --target=x86_64-pc-mingw32
ac_add_options --host=x86_64-pc-mingw32
else
_BUILD_ARCH=x86
fi

31
scripts/mozconfig-win64

@ -0,0 +1,31 @@
_BUILD_64=1
ac_add_options --enable-application=malepoon
ac_add_options --enable-optimize="-O2 -GS-"
ac_add_options --enable-jemalloc
ac_add_options --enable-strip
ac_add_options --enable-devtools
ac_add_options --enable-av1
ac_add_options --disable-accessibility
ac_add_options --disable-eme
ac_add_options --disable-webrtc
ac_add_options --disable-gamepad
ac_add_options --disable-parental-controls
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-updater
ac_add_options --enable-official-branding
export MOZILLA_OFFICIAL=1
if [ -n "$_BUILD_64" ]; then
_BUILD_ARCH=x64
ac_add_options --target=x86_64-pc-mingw32
ac_add_options --host=x86_64-pc-mingw32
else
_BUILD_ARCH=x86
fi
WIN32_REDIST_DIR=$VCINSTALLDIR/redist/$_BUILD_ARCH/Microsoft.VC140.CRT
WIN_UCRT_REDIST_DIR="C:/Program Files (x86)/Windows Kits/10/Redist/10.0.19041.0/ucrt/DLLs/$_BUILD_ARCH"
Loading…
Cancel
Save