mirror of https://github.com/lukechilds/umbrel.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.2 KiB
68 lines
2.2 KiB
name: Build OS image on PR
|
|
|
|
on: [pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v1
|
|
|
|
- name: Setting env vars
|
|
env:
|
|
PR: ${{ github.event.number }}
|
|
run: |
|
|
UMBREL_OS_VERSION="dev"
|
|
IMAGE_NAME="umbrel-os-dev"
|
|
UMBREL_REPO="$(curl -s https://api.github.com/repos/getumbrel/umbrel/pulls/${PR} | jq .head.repo.clone_url | sed 's/"//g')"
|
|
TMP=$(git show HEAD | head -n 2 | tail -n 1)
|
|
UMBREL_BRANCH=${TMP:15:7}
|
|
echo "Building commit $UMBREL_BRANCH of $UMBREL_REPO"
|
|
echo "UMBREL_OS_VERSION=$UMBREL_OS_VERSION" >> $GITHUB_ENV
|
|
echo "IMAGE_NAME=$IMAGE_NAME" >> $GITHUB_ENV
|
|
echo "UMBREL_REPO=$UMBREL_REPO" >> $GITHUB_ENV
|
|
echo "UMBREL_BRANCH=$UMBREL_BRANCH" >> $GITHUB_ENV
|
|
|
|
|
|
- name: Run apt update
|
|
run: sudo apt update
|
|
|
|
- name: Install dependencies
|
|
run: sudo apt -y install quilt qemu-user-static debootstrap libarchive-tools jq
|
|
|
|
- name: Nuke current Docker installation
|
|
run: |
|
|
sudo systemctl stop docker
|
|
sudo apt-get purge docker-ce docker-ce-cli containerd.io moby-engine moby-cli
|
|
sudo rm -rf /var/lib/docker
|
|
- name: Re-install Docker
|
|
run: |
|
|
curl -fsSL https://get.docker.com | sudo sh
|
|
docker --version
|
|
- name: Enable experimental features in Docker
|
|
run: |
|
|
sudo rm -rf /etc/docker/daemon.json
|
|
echo '{"experimental": true}' | sudo tee -a /etc/docker/daemon.json
|
|
sudo systemctl restart docker
|
|
- name: Download Umbrel OS build scripts
|
|
run: |
|
|
git clone git://github.com/getumbrel/umbrel-os.git
|
|
|
|
- name: Build Umbrel OS
|
|
run: |
|
|
cd umbrel-os
|
|
echo "Building $IMAGE_NAME"
|
|
sudo IMG_FILENAME=$IMAGE_NAME ZIP_FILENAME=$IMAGE_NAME UMBREL_OS_VERSION=$UMBREL_OS_VERSION UMBREL_REPO=$UMBREL_REPO UMBREL_BRANCH=$UMBREL_BRANCH ./build.sh
|
|
cd ..
|
|
|
|
- name: Copy ZIP to current working dir
|
|
run: cp umbrel-os/deploy/*.zip ./
|
|
|
|
- name: Uploading artifacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
path: ${{ env.IMAGE_NAME }}.zip
|
|
name: ${{ env.IMAGE_NAME }}.zip
|
|
|