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

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