-
Notifications
You must be signed in to change notification settings - Fork 7
84 lines (72 loc) · 2.63 KB
/
xubuntu-20.04.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
name: xubuntu-20.04
on:
push:
branches:
- xubuntu-20.04
paths-ignore:
- '.github/workflows/**'
schedule:
- cron: '0 4 * * 6'
env:
BRANCH: xubuntu-20.04
GITHUB_ENDPOINT: netbootxyz/ubuntu-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: xubuntu-20.04
- 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@v1
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