mbp-ubuntu/.github/workflows/CI.yml

97 lines
3.6 KiB
YAML

---
name: CI
# yamllint disable-line rule:truthy
on:
push:
workflow_dispatch:
inputs:
KERNEL_VERSION:
required: false
type: string
default: ''
description: (optional) Choose kernel version to use from T2Linux. Without the "v".
workflow_call:
inputs:
KERNEL_VERSION:
required: true
type: string
env:
KERNEL_VERSION: ${{ github.event.inputs.KERNEL_VERSION || inputs.KERNEL_VERSION }}
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configure variables
id: variables
env:
KERNEL_VERSION: ${{ env.KERNEL_VERSION }}
run: |
if [ -z "${KERNEL_VERSION}" ]; then
echo "KERNEL_VERSION not set, calculating it"
KERNEL_VERSION=$(curl -Ls https://github.com/t2linux/T2-Ubuntu-Kernel/releases/ | grep deb | grep download | cut -d'/' -f6 | head -n1 | cut -d'v' -f2)
fi
echo "::set-output name=build::${KERNEL_VERSION}"
- name: Download kernel packages
env:
KERNEL_VERSION: ${{ steps.variables.outputs.build }}
run: |
KERNEL_PACKAGES=()
if [[ -n "${KERNEL_VERSION:-}" ]]; then
MBP_KERNEL_TAG=${KERNEL_VERSION}
echo >&2 "===]> Info: Downloading specified kernel: ${MBP_KERNEL_TAG}";
else
MBP_VERSION=t2
MBP_KERNEL_TAG=$(curl -Ls https://github.com/t2linux/T2-Ubuntu-Kernel/releases/ | grep deb | grep download | grep "${MBP_VERSION}" | cut -d'/' -f6 | head -n1 | cut -d'v' -f2)
echo >&2 "===]> Info: Downloading latest ${MBP_VERSION} kernel: ${MBP_KERNEL_TAG}";
fi
while IFS='' read -r line; do KERNEL_PACKAGES+=("$line"); done < <(curl -sL https://github.com/t2linux/T2-Ubuntu-Kernel/releases/tag/v"${MBP_KERNEL_TAG}" | grep deb | grep span | cut -d'>' -f2 | cut -d'<' -f1)
mkdir -p "${{ github.workspace }}/files/kernels"
for i in "${KERNEL_PACKAGES[@]}"; do
curl -L https://github.com/t2linux/T2-Ubuntu-Kernel/releases/download/v"${MBP_KERNEL_TAG}"/"${i}" -o "${{ github.workspace }}/files/kernels/${i}"
done
- name: Check kernel files
run: ls -al "${{ github.workspace }}/files/kernels"
- name: Build
run: sudo ./build.sh
- name: print sha256sum
run: cat output/sha256
- name: Upload iso artifact
uses: actions/upload-artifact@v2
with:
name: mbp-ubuntu-${{ steps.variables.outputs.build }}
path: ${{ github.workspace }}/output/*
- name: Instructions for putting it back together
run: |
echo "${{ github.workspace }}/Release.txt"
echo 'Download all the artifacts, and put them in a folder' > ${{ github.workspace }}/Release.txt
echo 'without other files. Then run:' >> ${{ github.workspace }}/Release.txt
echo '`unzip "*.z??.zip"`' >> ${{ github.workspace }}/Release.txt
echo '`cat livecd-${{ steps.variables.outputs.build }}-mbp.z?? > cd.zip`' >> ${{ github.workspace }}/Release.txt
echo '`unzip cd.zip`' >> ${{ github.workspace }}/Release.txt
- name: Test release text
run: cat ${{ github.workspace }}/Release.txt
- name: Release
if: github.ref == 'refs/heads/master'
uses: softprops/action-gh-release@v1
with:
files: ${{ github.workspace }}/output/*
body_path: ${{ github.workspace }}/Release.txt
tag_name: v20.04-${{ steps.variables.outputs.build }}
draft: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}