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 Jan 4, 2025
1 parent 3501ba2 commit a779f98
Show file tree
Hide file tree
Showing 4 changed files with 178 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
name: grml-full
name: grml-full-amd64

on:
push:
branches:
- grml-full
- grml-full-amd64
paths-ignore:
- '.github/workflows/**'
schedule:
- cron: '0 4 * * 5'
workflow_dispatch:

env:
BRANCH: grml-full
BRANCH: grml-full-amd64
GITHUB_ENDPOINT: netbootxyz/debian-squash
DISCORD_HOOK_URL: ${{ secrets.DISCORD_HOOK_URL }}
BUILD_TYPE: initrd_patch
Expand All @@ -25,7 +25,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: grml-full
ref: grml-full-amd64

- name: Get SHA of actual branch instead of master
run: |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
name: grml-small
name: grml-full-arm64

on:
push:
branches:
- grml-small
- grml-full-arm64
paths-ignore:
- '.github/workflows/**'
schedule:
- cron: '0 4 * * 5'
workflow_dispatch:

env:
BRANCH: grml-small
BRANCH: grml-full-arm64
GITHUB_ENDPOINT: netbootxyz/debian-squash
DISCORD_HOOK_URL: ${{ secrets.DISCORD_HOOK_URL }}
BUILD_TYPE: initrd_patch
Expand All @@ -25,7 +25,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: grml-small
ref: grml-full-arm64

- name: Get SHA of actual branch instead of master
run: |
Expand Down
85 changes: 85 additions & 0 deletions .github/workflows/grml-small-amd64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: grml-small-amd64

on:
push:
branches:
- grml-small-amd64
paths-ignore:
- '.github/workflows/**'
schedule:
- cron: '0 4 * * 5'
workflow_dispatch:

env:
BRANCH: grml-small-amd64
GITHUB_ENDPOINT: netbootxyz/debian-squash
DISCORD_HOOK_URL: ${{ secrets.DISCORD_HOOK_URL }}
BUILD_TYPE: initrd_patch
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: grml-small-amd64

- 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/grml-small-arm64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: grml-small-arm64

on:
push:
branches:
- grml-small-arm64
paths-ignore:
- '.github/workflows/**'
schedule:
- cron: '0 4 * * 5'
workflow_dispatch:

env:
BRANCH: grml-small-arm64
GITHUB_ENDPOINT: netbootxyz/debian-squash
DISCORD_HOOK_URL: ${{ secrets.DISCORD_HOOK_URL }}
BUILD_TYPE: initrd_patch
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: grml-small-arm64

- 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 a779f98

Please sign in to comment.