Create Latest/Official Release #4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Create Release | |
on: | |
workflow_dispatch: | |
inputs: | |
is_official_release: | |
type: boolean | |
default: false | |
description: "Official Release?" | |
required: false | |
official_fog_version: | |
type: string | |
description: "Official Release FOG Version" | |
required: false | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
input_checks: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Make sure that the input text field is filled in if the input checkbox is selected and vice versa | |
run: | | |
is_official="${{ inputs.is_official_release }}" | |
fog_version="${{ inputs.official_fog_version }}" | |
if [[ "$is_official" == "true" && "$fog_version" == "" ]]; then | |
echo "Official FOG Version was not entered, but Official Release checkbox was selected!" | |
exit 1 | |
fi | |
if [[ "$is_official" == "false" && "$fog_version" != "" ]]; then | |
echo "Official Release checkbox was not selected, but Official Release FOG Version was entered!" | |
exit 1 | |
fi | |
build_kernel_arm64: | |
needs: input_checks | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: sudo apt update && sudo apt install meld build-essential libncurses5-dev bison flex gcc-aarch64-linux-gnu libelf-dev -y | |
- name: Build arm64 kernel | |
run: ./build.sh -nka arm64 | |
- name: Run sha256 checksum | |
run: | | |
cd dist | |
sha256sum -c ./*.sha256 | |
if [[ $? -ne 0 ]]; then exit 1; fi | |
- name: Save distribution files | |
uses: actions/upload-artifact@v3 | |
with: | |
name: distribution-files | |
path: dist | |
retention-days: 1 | |
build_kernel_x86: | |
needs: input_checks | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: sudo apt update && sudo apt install meld build-essential libncurses5-dev bison flex gcc-aarch64-linux-gnu libelf-dev -y | |
- name: Build x86 kernel | |
run: ./build.sh -nka x86 | |
- name: Run sha256 checksum | |
run: | | |
cd dist | |
sha256sum -c ./*.sha256 | |
if [[ $? -ne 0 ]]; then exit 1; fi | |
- name: Save distribution files | |
uses: actions/upload-artifact@v3 | |
with: | |
name: distribution-files | |
path: dist | |
retention-days: 1 | |
build_kernel_x64: | |
needs: input_checks | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: sudo apt update && sudo apt install meld build-essential libncurses5-dev bison flex gcc-aarch64-linux-gnu libelf-dev -y | |
- name: Build x64 kernel | |
run: ./build.sh -nka x64 | |
- name: Run sha256 checksum | |
run: | | |
cd dist | |
sha256sum -c ./*.sha256 | |
if [[ $? -ne 0 ]]; then exit 1; fi | |
- name: Save distribution files | |
uses: actions/upload-artifact@v3 | |
with: | |
name: distribution-files | |
path: dist | |
retention-days: 1 | |
build_initrd_arm64: | |
needs: input_checks | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: sudo apt update && sudo apt install meld build-essential libncurses5-dev bison flex gcc-aarch64-linux-gnu libelf-dev -y | |
- name: Build arm64 initrd | |
run: ./build.sh -nfa arm64 | |
- name: Run sha256 checksum | |
run: | | |
cd dist | |
sha256sum -c ./*.sha256 | |
if [[ $? -ne 0 ]]; then exit 1; fi | |
- name: Save distribution files | |
uses: actions/upload-artifact@v3 | |
with: | |
name: distribution-files | |
path: dist | |
retention-days: 1 | |
- name: Save log file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Buildroot-logs | |
path: fssourcearm64/buildrootarm64.log | |
retention-days: 30 | |
build_initrd_x86: | |
needs: input_checks | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: sudo apt update && sudo apt install meld build-essential libncurses5-dev bison flex gcc-aarch64-linux-gnu libelf-dev -y | |
- name: Build x86 initrd | |
run: ./build.sh -nfa x86 | |
- name: Run sha256 checksum | |
run: | | |
cd dist | |
sha256sum -c ./*.sha256 | |
if [[ $? -ne 0 ]]; then exit 1; fi | |
- name: Save distribution files | |
uses: actions/upload-artifact@v3 | |
with: | |
name: distribution-files | |
path: dist | |
retention-days: 1 | |
- name: Save log file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Buildroot-logs | |
path: fssourcex86/buildrootx86.log | |
retention-days: 30 | |
build_initrd_x64: | |
needs: input_checks | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: sudo apt update && sudo apt install meld build-essential libncurses5-dev bison flex gcc-aarch64-linux-gnu libelf-dev -y | |
- name: Build x64 initrd | |
run: ./build.sh -nfa x64 | |
- name: Run sha256 checksum | |
run: | | |
cd dist | |
sha256sum -c ./*.sha256 | |
if [[ $? -ne 0 ]]; then exit 1; fi | |
- name: Save distribution files | |
uses: actions/upload-artifact@v3 | |
with: | |
name: distribution-files | |
path: dist | |
retention-days: 1 | |
- name: Save log file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Buildroot-logs | |
path: fssourcex64/buildrootx64.log | |
retention-days: 30 | |
release: | |
needs: | |
[ | |
build_kernel_arm64, | |
build_kernel_x86, | |
build_kernel_x64, | |
build_initrd_arm64, | |
build_initrd_x86, | |
build_initrd_x64, | |
] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Download distribution files | |
uses: actions/download-artifact@v3 | |
- name: Set release name variable | |
run: | | |
echo "RELEASE_NAME=Latest from $(date '+%Y-%m-%d')" >> $GITHUB_ENV | |
- name: Set tag name variable | |
run: | | |
echo "TAG_NAME=$(date '+%Y%m%d')" >> $GITHUB_ENV | |
- name: Get Linux Kernel version from build.sh | |
run: | | |
echo "LINUX_KERNEL_VER=$(cat build.sh | sed -n -e 's/^.*KERNEL_VERSION=//p' | cut -d\' -f 2)" >> $GITHUB_ENV | |
- name: Get Buildroot version from build.sh | |
run: | | |
echo "BUILDROOT_VER=$(cat build.sh | sed -n -e 's/^.*BUILDROOT_VERSION=//p' | cut -d\' -f 2)" >> $GITHUB_ENV | |
- name: Set release name and tag name variable if it is an Official FOG release | |
run: | | |
is_official="${{ inputs.is_official_release }}" | |
fog_version="${{ inputs.official_fog_version }}" | |
if [[ ${{ inputs.is_official_release }} == "true" ]]; then | |
echo "RELEASE_NAME=FOG $fog_version kernels and inits" >> $GITHUB_ENV | |
echo "TAG_NAME=$fog_version" >> $GITHUB_ENV | |
fi | |
- name: Run sha256 checksum on all files | |
run: | | |
cd distribution-files | |
sha256sum -c ./*.sha256 | |
if [[ $? -ne 0 ]]; then exit 1; fi | |
- name: Create release | |
uses: softprops/action-gh-release@v1 | |
with: | |
name: ${{ env.RELEASE_NAME }} | |
body: | | |
Linux kernel ${{ env.LINUX_KERNEL_VER }} | |
Buildroot ${{ env.BUILDROOT_VER }} | |
tag_name: ${{ env.TAG_NAME }} | |
files: | | |
distribution-files/arm_Image | |
distribution-files/arm_Image.sha256 | |
distribution-files/arm_init.cpio.gz | |
distribution-files/arm_init.cpio.gz.sha256 | |
distribution-files/bzImage | |
distribution-files/bzImage.sha256 | |
distribution-files/bzImage32 | |
distribution-files/bzImage32.sha256 | |
distribution-files/init.xz | |
distribution-files/init.xz.sha256 | |
distribution-files/init_32.xz | |
distribution-files/init_32.xz.sha256 |