bromite-buildtools/.github/workflows/build_bromite.yaml

179 lines
5.8 KiB
YAML
Raw Normal View History

2021-07-11 12:55:43 +02:00
name: Build x86
permissions:
actions: none
checks: none
contents: none
deployments: none
issues: none
packages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none
on:
workflow_dispatch:
2021-07-11 15:12:14 +02:00
env:
2021-07-28 11:29:15 +02:00
BROMITE_SHA: 76745fde6ed75542f005ea5528f486df41c56da4
2021-07-27 22:02:57 +02:00
REMOVEDOCKERSUPPORT: true
2021-07-30 09:30:54 +02:00
USELOCALIMAGE: true
2021-07-11 15:12:14 +02:00
2021-07-11 12:55:43 +02:00
jobs:
check_images:
runs-on: self-hosted
steps:
2021-07-11 15:16:50 +02:00
- name: Checkout repo
uses: actions/checkout@v2
with:
2021-07-11 15:21:44 +02:00
path: bromite-buildtools
2021-07-11 15:16:50 +02:00
fetch-depth: 1
2021-07-29 15:07:10 +02:00
- name: Get current proxy settings
shell: bash
run: |
if ! [[ -z "${HTTP_PROXY}" ]]; then
PROXY_ADDR=http://$(hostname -I | xargs):8118
2021-07-29 17:57:57 +02:00
echo "PROXY_ADDR=$PROXY_ADDR" >> $GITHUB_ENV
2021-07-29 15:07:10 +02:00
fi
2021-07-11 12:55:43 +02:00
- name: Get current chromium version
shell: bash
run: |
mkdir bromite
cd bromite
2021-07-11 13:56:27 +02:00
git init
2021-07-11 14:00:02 +02:00
git remote add origin https://github.com/uazo/bromite
2021-07-11 15:12:14 +02:00
git fetch origin $BROMITE_SHA
2021-07-11 14:00:02 +02:00
git reset --hard FETCH_HEAD
2021-07-11 12:55:43 +02:00
cd ..
export VERSION=$( cat ./bromite/build/RELEASE )
2021-07-11 15:12:14 +02:00
rm -rf bromite
2021-07-11 12:55:43 +02:00
echo Current version is $VERSION
echo "VERSION=$VERSION" >> $GITHUB_ENV
2021-07-11 15:19:19 +02:00
cd bromite-buildtools
2021-07-11 15:12:14 +02:00
- name: Checking build-deps for ${{ env.VERSION }}
shell: bash
run: |
IS_PRESENT=$(docker inspect --type=image uazo/build-deps:$VERSION > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
IS_PRESENT=$(docker manifest inspect uazo/build-deps:$VERSION > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
2021-07-11 15:24:44 +02:00
DOCKER_BUILDKIT=1 docker build -t uazo/build-deps:$VERSION \
--progress plain \
--build-arg VERSION=$VERSION \
2021-07-29 15:07:10 +02:00
--build-arg HTTP_PROXY="$PROXY_ADDR" \
2021-07-12 09:21:47 +02:00
--no-cache \
2021-07-11 15:24:44 +02:00
bromite-buildtools/images/build-deps/.
2021-07-11 15:12:14 +02:00
fi
fi
2021-07-11 12:55:43 +02:00
2021-07-11 15:12:14 +02:00
- name: Checking chromium for ${{ env.VERSION }}
shell: bash
run: |
IS_PRESENT=$(docker inspect --type=image uazo/chromium:$VERSION > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
IS_PRESENT=$(docker manifest inspect uazo/chromium:$VERSION > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
2021-07-11 15:24:44 +02:00
DOCKER_BUILDKIT=1 docker build -t uazo/chromium:$VERSION \
--progress plain \
--build-arg VERSION=$VERSION \
2021-07-29 15:07:10 +02:00
--build-arg HTTP_PROXY="$PROXY_ADDR" \
2021-07-11 15:24:44 +02:00
bromite-buildtools/images/chr-source/.
2021-07-11 15:12:14 +02:00
fi
fi
2021-07-11 12:55:43 +02:00
2021-07-11 15:12:14 +02:00
- name: Checking bromite for ${{ env.BROMITE_SHA }}
shell: bash
run: |
IS_PRESENT=$(docker inspect --type=image uazo/bromite:$BROMITE_SHA > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
IS_PRESENT=$(docker manifest inspect uazo/bromite:$BROMITE_SHA > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
DOCKER_BUILDKIT=1 docker build -t uazo/bromite:$BROMITE_SHA --progress plain \
--build-arg BROMITE_SHA=$BROMITE_SHA \
--build-arg VERSION=$VERSION \
2021-07-29 15:07:10 +02:00
--build-arg HTTP_PROXY="$PROXY_ADDR" \
2021-07-11 15:12:14 +02:00
bromite-buildtools/images/bromite-source/.
fi
fi
- name: Checking bromite-build for ${{ env.BROMITE_SHA }}
shell: bash
run: |
IS_PRESENT=$(docker inspect --type=image uazo/bromite-build:$BROMITE_SHA > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
IS_PRESENT=$(docker manifest inspect uazo/bromite-build:$BROMITE_SHA > /dev/null ; echo $?)
if [ $IS_PRESENT -ne "0" ]; then
DOCKER_BUILDKIT=1 docker build -t uazo/bromite-build:$BROMITE_SHA --progress plain \
--build-arg BROMITE_SHA=$BROMITE_SHA \
2021-07-29 15:07:10 +02:00
--build-arg HTTP_PROXY="$PROXY_ADDR" \
2021-07-12 20:43:47 +02:00
--no-cache \
2021-07-11 15:12:14 +02:00
bromite-buildtools/images/bromite-build/.
fi
fi
2021-07-11 12:55:43 +02:00
build:
runs-on: self-hosted
needs: check_images
if: success()
services:
redis:
image: redis
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
2021-07-27 22:02:57 +02:00
--health-retries 5
2021-07-30 09:38:27 +02:00
env:
REMOVEDOCKERSUPPORT: true
USELOCALIMAGE: true
2021-07-11 12:55:43 +02:00
gomaserver:
image: uazo/goma-server
#ports:
# - 5050:5050
volumes:
- /tmp/proxy:/tmp/proxy
2021-07-30 11:48:20 +02:00
options: >-
--health-cmd "hostname -I >/tmp/proxy/gomaserverip"
2021-07-30 12:06:31 +02:00
--health-interval 30s
2021-07-30 11:48:20 +02:00
--health-timeout 5s
--health-retries 5
2021-07-30 12:06:31 +02:00
2021-07-11 12:55:43 +02:00
env:
REDISHOST: redis
REMOTEEXEC_ADDR: ${{ secrets.REMOTEEXEC_ADDR }}
2021-07-30 09:38:27 +02:00
REMOVEDOCKERSUPPORT: true
USELOCALIMAGE: true
2021-07-11 12:55:43 +02:00
container:
2021-07-28 11:29:15 +02:00
image: uazo/bromite-build:76745fde6ed75542f005ea5528f486df41c56da4 #${{ env.BROMITE_SHA }}
2021-07-11 12:55:43 +02:00
env:
SERVER_HOST_GOMA: gomaserver
2021-07-30 09:38:27 +02:00
REMOVEDOCKERSUPPORT: true
USELOCALIMAGE: true
2021-07-11 12:55:43 +02:00
volumes:
- /storage/bromite/${{ github.sha }}:/home/lg/working_dir/artifacs
- /tmp/proxy:/tmp/proxy
2021-07-30 09:53:16 +02:00
steps:
2021-07-11 12:55:43 +02:00
- name: Build Bromite
shell: bash
2021-07-13 17:27:26 +02:00
env:
GOMAJOBS: 60
2021-07-11 12:55:43 +02:00
run: |
export WORKSPACE=/home/lg/working_dir
2021-07-30 11:48:20 +02:00
cd $WORKSPACE
export SERVER_HOST_GOMA=$(cat /tmp/proxy/gomaserverip | xargs)
# get goma internal server ip
# SERVER_HOST_GOMA=$(docker inspect -f '{{.Config.Image}}={{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq) | grep goma-server | sed 's/[^=]*=\(.*\)/\1/' | xargs)
2021-07-11 12:55:43 +02:00
./start-build.sh