-
-
Notifications
You must be signed in to change notification settings - Fork 71
138 lines (126 loc) · 5.07 KB
/
CI.yml
File metadata and controls
138 lines (126 loc) · 5.07 KB
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
---
name: CI
# yamllint disable-line rule:truthy
on:
[push, workflow_dispatch]
jobs:
ISO:
strategy:
matrix:
target:
- image: ubuntu
- image: kubuntu
#- image: ubuntu-unity
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Free up disk space for the CI
uses: AdityaGarg8/remove-unwanted-software@v5
with:
remove-android: 'true'
remove-dotnet: 'true'
remove-haskell: 'true'
- name: Generate Tag
id: tag
run: |
VER=$(egrep ^KERNEL_VERSION build.sh|cut -d= -f2)
REL=$(egrep ^PKGREL build.sh|cut -d= -f2)
echo Version is ${VER}-${REL}
echo "kver=${VER}" >> $GITHUB_ENV
echo "isotag=${VER}-${REL}" >> $GITHUB_ENV
CAPS=$(echo "${{ matrix.target.image }}" | tr '_-' ' ' | awk '{for(i=1;i<=NF;i++) $i=toupper(substr($i,1,1)) substr($i,2); print}')
echo "caps=${CAPS}" >> $GITHUB_ENV
- name: Run build script
run: |
chmod +x ${{ github.workspace }}/build_in_docker.sh
${{ github.workspace }}/build_in_docker.sh ${{ matrix.target.image }}
- name: print sha256sum
run: |
cat ${{ github.workspace }}/output/sha256*
SHA256=$(cat ${{ github.workspace }}/output/sha256* | cut -d " " -f 1)
echo "sha256=${SHA256}" >> $GITHUB_ENV
- name: Upload package artifact
uses: actions/upload-artifact@v7
with:
name: ISO-${{ matrix.target.image }}
path: ${{ github.workspace }}/output/${{ matrix.target.image }}-25.10-${{ env.kver }}-t2-questing.iso
archive: false
- name: Remove unsplit ISO
run: |
sudo rm ${{ github.workspace }}/output/*.iso
- name: Release
if: github.ref == 'refs/heads/mainline'
uses: softprops/action-gh-release@v2
with:
files: ${{ github.workspace }}/output/*
tag_name: v${{ env.isotag }}
#body_path: ${{ github.workspace }}/.github/workflows/instructions.txt
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Publish:
needs: [ISO]
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repo'
uses: actions/checkout@v6
- name: Generate Tag
id: tag
run: |
VER=$(egrep ^KERNEL_VERSION build.sh|cut -d= -f2)
REL=$(egrep ^PKGREL build.sh|cut -d= -f2)
echo Version is ${VER}-${REL}
echo "kver=${VER}" >> $GITHUB_ENV
echo "isotag=${VER}-${REL}" >> $GITHUB_ENV
- name: Update the json
if: github.ref == 'refs/heads/mainline'
id: publish
run: |
git clone https://github.com/t2linux/wiki.git
cd wiki/docs/tools
for i in ubuntu kubuntu
do
wget https://github.com/t2linux/T2-Ubuntu/releases/download/v${{ env.isotag }}/sha256-${i}-25.10
SHA256=$(cat ./sha256-${i} | cut -d " " -f 1)
rm sha256-${i}-25.10
CAPS=$(echo "${i}" | tr '_-' ' ' | awk '{for(i=1;i<=NF;i++) $i=toupper(substr($i,1,1)) substr($i,2); print}')
cat << EOF > update.py
import json
# Define the new links
new_link1 = "https://github.com/t2linux/T2-Ubuntu/releases/download/v${{ env.isotag }}/${i}-25.10-${{ env.kver }}-t2-questing.iso.00"
new_link2 = "https://github.com/t2linux/T2-Ubuntu/releases/download/v${{ env.isotag }}/${i}-25.10-${{ env.kver }}-t2-questing.iso.01"
new_link3 = "https://github.com/t2linux/T2-Ubuntu/releases/download/v${{ env.isotag }}/${i}-25.10-${{ env.kver }}-t2-questing.iso.02"
# Load the JSON file
with open('distro-metadata.json', 'r') as file:
data = json.load(file)
# Function to update the links
def update_links(distros, name, new_links, sha256):
for distro in distros:
if distro['name'] == name:
distro['iso'] = new_links
distro['sha256'] = sha256
# Update the links
update_links(data['all'], "${CAPS} 25.10 - Questing Quokka", [new_link1, new_link2, new_link3], "${SHA256}")
# Save the updated JSON back to the file
with open('distro-metadata.json', 'w') as file:
json.dump(data, file, indent=2)
print("Links updated successfully.")
EOF
python3 update.py
rm update.py
done
cd -
- name: Push changes to apt repo
if: github.ref == 'refs/heads/main'
uses: cpina/github-action-push-to-another-repository@main
env:
API_TOKEN_GITHUB: ${{ secrets.PAT }}
with:
source-directory: 'wiki'
destination-github-username: 't2linux'
destination-repository-name: 'wiki'
user-email: github-actions[bot]@users.noreply.github.com
user-name: github-actions[bot]
target-branch: master
commit-message: Distro metadata - Update Ubuntu 25.10 and its flavours to v${{ env.isotag }}