Skip to content

Commit

Permalink
Updating workflow automation
Browse files Browse the repository at this point in the history
  • Loading branch information
netboot-ci committed Aug 4, 2024
1 parent 99c1b41 commit f741d55
Show file tree
Hide file tree
Showing 2 changed files with 170 additions and 0 deletions.
85 changes: 85 additions & 0 deletions .github/workflows/vanilla-os.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: vanilla-os

on:
push:
branches:
- vanilla-os
paths-ignore:
- '.github/workflows/**'
schedule:
- cron: '0 4 * * 1'
workflow_dispatch:

env:
BRANCH: vanilla-os
GITHUB_ENDPOINT: netbootxyz/asset-mirror
DISCORD_HOOK_URL: ${{ secrets.DISCORD_HOOK_URL }}
BUILD_TYPE: iso_extraction
DEBIAN_FRONTEND: noninteractive
CI_TOKEN: ${{ secrets.CI_TOKEN }}

jobs:
version-checker:
name: Version Checker
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: vanilla-os

- name: Get SHA of actual branch instead of master
run: |
export GITHUB_SHA=$(git rev-parse HEAD)
echo "GITHUB_SHA=$GITHUB_SHA" >> $GITHUB_ENV
- name: Retrieve latest version from upstream and set vars
run: |
export EXTERNAL_VERSION=$(sudo bash version.sh)
echo "EXTERNAL_VERSION=$EXTERNAL_VERSION" >> $GITHUB_ENV
export GITHUB_TAG=${EXTERNAL_VERSION}-$(echo ${{ env.GITHUB_SHA }} | cut -c1-8)
echo "GITHUB_TAG=$GITHUB_TAG" >> $GITHUB_ENV
wget https://raw.githubusercontent.com/netbootxyz/build-pipelines/master/build.sh && chmod +x build.sh
- name: Compare tag
id: compare
run: ./build.sh compare ${{ env.GITHUB_TAG }}
continue-on-error: true

- name: Build if newer tag is available
if: steps.compare.outcome == 'success' && steps.compare.conclusion == 'success'
run: |
./build.sh build ${{ env.BUILD_TYPE }}
git tag ${{ env.GITHUB_TAG }}
- name: Generate Release Notes
run: |
echo "Release generated for Branch: **${{ env.BRANCH }}**" > ${{ github.workspace }}-CHANGELOG.txt
- name: Create release and upload assets
if: steps.compare.outcome == 'success' && steps.compare.conclusion == 'success'
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ env.GITHUB_TAG }}
name: ${{ env.GITHUB_TAG }}
draft: false
prerelease: false
files: buildout/*
token: ${{ secrets.GITHUB_TOKEN }}
body_path: ${{ github.workspace }}-CHANGELOG.txt

- name: Generate endpoints
if: steps.compare.outcome == 'success' && steps.compare.conclusion == 'success'
run: |
git config --global user.name netboot-ci
git config --global user.email netboot-ci@netboot.xyz
./build.sh endpoints ${{ env.GITHUB_TAG }}
- name: Notify Discord on failure
if: failure()
run: |
./build.sh discord failure
- name: Notify Discord on completion
if: steps.compare.outcome == 'success' && steps.compare.conclusion == 'success' && success()
run: |
./build.sh discord success
85 changes: 85 additions & 0 deletions .github/workflows/zfsbootmenu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: zfsbootmenu

on:
push:
branches:
- zfsbootmenu
paths-ignore:
- '.github/workflows/**'
schedule:
- cron: '0 4 * * 1'
workflow_dispatch:

env:
BRANCH: zfsbootmenu
GITHUB_ENDPOINT: netbootxyz/asset-mirror
DISCORD_HOOK_URL: ${{ secrets.DISCORD_HOOK_URL }}
BUILD_TYPE: direct_file
DEBIAN_FRONTEND: noninteractive
CI_TOKEN: ${{ secrets.CI_TOKEN }}

jobs:
version-checker:
name: Version Checker
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: zfsbootmenu

- name: Get SHA of actual branch instead of master
run: |
export GITHUB_SHA=$(git rev-parse HEAD)
echo "GITHUB_SHA=$GITHUB_SHA" >> $GITHUB_ENV
- name: Retrieve latest version from upstream and set vars
run: |
export EXTERNAL_VERSION=$(sudo bash version.sh)
echo "EXTERNAL_VERSION=$EXTERNAL_VERSION" >> $GITHUB_ENV
export GITHUB_TAG=${EXTERNAL_VERSION}-$(echo ${{ env.GITHUB_SHA }} | cut -c1-8)
echo "GITHUB_TAG=$GITHUB_TAG" >> $GITHUB_ENV
wget https://raw.githubusercontent.com/netbootxyz/build-pipelines/master/build.sh && chmod +x build.sh
- name: Compare tag
id: compare
run: ./build.sh compare ${{ env.GITHUB_TAG }}
continue-on-error: true

- name: Build if newer tag is available
if: steps.compare.outcome == 'success' && steps.compare.conclusion == 'success'
run: |
./build.sh build ${{ env.BUILD_TYPE }}
git tag ${{ env.GITHUB_TAG }}
- name: Generate Release Notes
run: |
echo "Release generated for Branch: **${{ env.BRANCH }}**" > ${{ github.workspace }}-CHANGELOG.txt
- name: Create release and upload assets
if: steps.compare.outcome == 'success' && steps.compare.conclusion == 'success'
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ env.GITHUB_TAG }}
name: ${{ env.GITHUB_TAG }}
draft: false
prerelease: false
files: buildout/*
token: ${{ secrets.GITHUB_TOKEN }}
body_path: ${{ github.workspace }}-CHANGELOG.txt

- name: Generate endpoints
if: steps.compare.outcome == 'success' && steps.compare.conclusion == 'success'
run: |
git config --global user.name netboot-ci
git config --global user.email netboot-ci@netboot.xyz
./build.sh endpoints ${{ env.GITHUB_TAG }}
- name: Notify Discord on failure
if: failure()
run: |
./build.sh discord failure
- name: Notify Discord on completion
if: steps.compare.outcome == 'success' && steps.compare.conclusion == 'success' && success()
run: |
./build.sh discord success

0 comments on commit f741d55

Please sign in to comment.