Skip to content

38-SoaS

38-SoaS #45

Workflow file for this run

name: 38-SoaS
on:
push:
branches:
- 38-SoaS
paths-ignore:
- '.github/workflows/**'
schedule:
- cron: '0 4 * * 3'
workflow_dispatch:
env:
BRANCH: 38-SoaS
GITHUB_ENDPOINT: netbootxyz/fedora-assets
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: 38-SoaS
- 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