Compare commits
29 commits
2023.03.14
...
main
Author | SHA1 | Date | |
---|---|---|---|
75688c852c | |||
68b807832e | |||
c20ef08e74 | |||
447b8f25cf | |||
9c7dcd99c5 | |||
f367fc1e9c | |||
eb983625d6 | |||
32eeeb4b37 | |||
|
a6c8f4f7c3 | ||
|
9a9b52f84e | ||
|
98674ac555 | ||
ff6abe6f79 | |||
|
1c664f79eb | ||
1b51cd8d33 | |||
b32963363c | |||
47b849e8c0 | |||
a2c93bab8e | |||
b463b83017 | |||
c0f3e506c0 | |||
|
c0c22e76bc | ||
|
5ffda4d2a6 | ||
eb631b5f2d | |||
8da382b0f5 | |||
5b18eda7b0 | |||
dadac6de36 | |||
|
5965d28379 | ||
|
e6965035e0 | ||
|
f42ec3d7e5 | ||
|
a6aca078da |
10 changed files with 163 additions and 46 deletions
18
.github/workflows/build.yaml
vendored
18
.github/workflows/build.yaml
vendored
|
@ -9,8 +9,11 @@ env:
|
|||
api_key: ${{ secrets.GITHUB_TOKEN }}
|
||||
name: ${{ github.event.repository.name }}
|
||||
release_name: ${{ github.ref_name }}
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
jobs:
|
||||
build:
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux:latest
|
||||
|
@ -18,10 +21,17 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install Packages via Pacman
|
||||
run: pacman -Sy; pacman --noconfirm -S git archiso python python-pip
|
||||
- name: Install Python packages via pip
|
||||
run: pip install -U pip pyGithub
|
||||
run: pacman -Sy; pacman --noconfirm -S git archiso python python-pygithub github-cli reflector p7zip
|
||||
- name: Change Arch docker mirror
|
||||
run: reflector -c "US" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist
|
||||
- name: Build image
|
||||
run: mkarchiso -v iso/
|
||||
- name: Upload iso to the release
|
||||
run: python tools/upload_asset.py
|
||||
run: |
|
||||
cd ./out
|
||||
mkdir iso_parts
|
||||
# split -d -b 2000M "$(ls *.iso)" iso_parts/"$(ls *.iso)"_part
|
||||
#zip -s 2000m iso_parts/"$(ls *.iso)".zip "$(ls *.iso)"
|
||||
7z -v1000m a iso_parts/"$(ls *.iso)".zip "$(ls *.iso)"
|
||||
md5sum iso_parts/* > iso_parts/md5sums.txt
|
||||
gh release upload ${{ github.event.release.tag_name }} ./iso_parts/* -R ${{ github.repository }}
|
||||
|
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
out/
|
||||
work/
|
60
build.sh
Executable file
60
build.sh
Executable file
|
@ -0,0 +1,60 @@
|
|||
#!/usr/bin/bash
|
||||
main() {
|
||||
set -e
|
||||
local Black DarkGray Red LightRed Green LightGreen Brown Yellow Blue LightBlue Purple Light Purple Cyan LightCyan LightGray White reset
|
||||
## save colors
|
||||
Black="\e[0;30m"
|
||||
DarkGray="\e[1;30m"
|
||||
Red="\e[0;31m"
|
||||
LightRed="\e[1;31m"
|
||||
Green="\e[0;32m"
|
||||
LightGreen="\e[1;32m"
|
||||
Brown="\e[0;33m"
|
||||
Yellow="\e[1;33m"
|
||||
Blue="\e[0;34m"
|
||||
LightBlue="\e[1;34m"
|
||||
Purple="\e[0;35m"
|
||||
Light=Purple="\e[1;35m"
|
||||
Cyan="\e[0;36m"
|
||||
LightCyan="\e[1;36m"
|
||||
LightGray="\e[0;37m"
|
||||
White="\e[1;37m"
|
||||
reset="\e[0m"
|
||||
local reponame
|
||||
reponame=${PWD##*/}
|
||||
|
||||
echo -e "$Green### start install packeges for build $reponame ###$reset"
|
||||
echo -e "$Brown### checking your os ###$reset"
|
||||
if type pacman >/dev/null 2>&1;then
|
||||
if [ "$(id -u)" != "0" ]; then
|
||||
echo -e "$Red### you are not in root$reset"
|
||||
exit 1
|
||||
else
|
||||
install
|
||||
echo -e "$Blue### install complete ###$reset"
|
||||
echo -e "$Green### start build $reponame with archiso ###$reset"
|
||||
build
|
||||
makezip
|
||||
fi
|
||||
else
|
||||
echo -e "$Red###os cant supported###$reset"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
}
|
||||
install() {
|
||||
set -e
|
||||
pacman -Sy; pacman --noconfirm -S --needed git archiso github-cli p7zip
|
||||
}
|
||||
build() {
|
||||
set -e
|
||||
mkarchiso -v iso/
|
||||
}
|
||||
makezip() {
|
||||
cd out
|
||||
7z -v500m a "$(ls *.iso)".zip "$(ls *.iso)"
|
||||
md5sum * > md5sums.txt
|
||||
}
|
||||
|
||||
|
||||
main
|
30
iso/airootfs/etc/pacman.d/mirrorlist
Normal file
30
iso/airootfs/etc/pacman.d/mirrorlist
Normal file
|
@ -0,0 +1,30 @@
|
|||
################################################################################
|
||||
################# Arch Linux mirrorlist generated by Reflector #################
|
||||
################################################################################
|
||||
|
||||
# With: reflector @/etc/xdg/reflector/reflector.conf
|
||||
# When: 2023-11-09 08:09:08 UTC
|
||||
# From: https://archlinux.org/mirrors/status/json/
|
||||
# Retrieved: 2023-11-09 08:06:51 UTC
|
||||
# Last Check: 2023-11-09 07:54:59 UTC
|
||||
Server = https://mirror.arvancloud.ir/archlinux/$repo/os/$arch
|
||||
Server = https://america.mirror.pkgbuild.com/$repo/os/$arch
|
||||
Server = https://sydney.mirror.pkgbuild.com/$repo/os/$arch
|
||||
Server = https://archlinux.thaller.ws/$repo/os/$arch
|
||||
Server = https://mirror.f4st.host/archlinux/$repo/os/$arch
|
||||
Server = https://mirror.cyberbits.eu/archlinux/$repo/os/$arch
|
||||
Server = https://mirror.moson.org/arch/$repo/os/$arch
|
||||
Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch
|
||||
Server = https://mirror.theo546.fr/archlinux/$repo/os/$arch
|
||||
Server = https://london.mirror.pkgbuild.com/$repo/os/$arch
|
||||
Server = https://seoul.mirror.pkgbuild.com/$repo/os/$arch
|
||||
Server = https://archlinux.mailtunnel.eu/$repo/os/$arch
|
||||
Server = https://md.mirrors.hacktegic.com/archlinux/$repo/os/$arch
|
||||
Server = https://mirror.sunred.org/archlinux/$repo/os/$arch
|
||||
Server = https://dist-mirror.fem.tu-ilmenau.de/archlinux/$repo/os/$arch
|
||||
Server = https://mirrors.niyawe.de/archlinux/$repo/os/$arch
|
||||
Server = https://mirror.pseudoform.org/$repo/os/$arch
|
||||
Server = https://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch
|
||||
Server = https://at.arch.mirror.kescher.at/$repo/os/$arch
|
||||
Server = https://de.arch.mirror.kescher.at/$repo/os/$arch
|
||||
Server = https://asia.mirror.pkgbuild.com/$repo/os/$arch
|
|
@ -1,3 +1,3 @@
|
|||
timeout 15
|
||||
default 01-archiso-x86_64-linux.conf
|
||||
beep on
|
||||
beep off
|
||||
|
|
|
@ -7,7 +7,7 @@ base
|
|||
base-devel
|
||||
bind
|
||||
brltty
|
||||
broadcom-wl
|
||||
broadcom-wl-dkms
|
||||
btrfs-progs
|
||||
clonezilla
|
||||
cloud-init
|
||||
|
@ -79,7 +79,6 @@ nmap
|
|||
ntfs-3g
|
||||
nvme-cli
|
||||
open-iscsi
|
||||
open-vm-tools
|
||||
openconnect
|
||||
openssh
|
||||
openvpn
|
||||
|
@ -93,7 +92,6 @@ pv
|
|||
python
|
||||
python-psutil
|
||||
python-systemd
|
||||
qemu-guest-agent
|
||||
refind
|
||||
#reflector
|
||||
reiserfsprogs
|
||||
|
@ -135,9 +133,17 @@ zsh
|
|||
archlinux-keyring
|
||||
openssl-1.1
|
||||
openssl
|
||||
gvfs
|
||||
gvfs-mtp
|
||||
networkmanager
|
||||
android-file-transfer
|
||||
calamares
|
||||
calamares-parch
|
||||
boost
|
||||
boost-libs
|
||||
device-mapper
|
||||
|
||||
#Desktop
|
||||
cutefish
|
||||
sddm
|
||||
cutefish-cursor-themes-git
|
||||
sddm-theme-astronaut
|
||||
|
@ -145,27 +151,37 @@ cutefish-gtk-themes-git
|
|||
plasma-pa
|
||||
plasma-nm
|
||||
konsole
|
||||
chromium
|
||||
firefox
|
||||
|
||||
|
||||
|
||||
#cutefish-desktop
|
||||
cutefish-calculator
|
||||
cutefish-core
|
||||
cutefish-dock
|
||||
cutefish-filemanager
|
||||
cutefish-icons
|
||||
#cutefish-kwin-plugins
|
||||
cutefish-launcher
|
||||
cutefish-qt-plugins
|
||||
cutefish-screenlocker
|
||||
cutefish-settings
|
||||
cutefish-statusbar
|
||||
cutefish-wallpapers
|
||||
konsole
|
||||
parch-cutefish-fix
|
||||
|
||||
|
||||
#systemutils
|
||||
btop
|
||||
xdg-user-dirs
|
||||
packagekit-qt5
|
||||
neofetch-git
|
||||
keepassxc
|
||||
geany
|
||||
gwenview
|
||||
okular
|
||||
mpv
|
||||
|
||||
#parchlinuxstuff
|
||||
calamares
|
||||
parchlinux-cala-config
|
||||
#ParchLinux Core Packages
|
||||
os-prober
|
||||
paru
|
||||
parch-emoji-ios
|
||||
vazirmatn-fonts
|
||||
parch-branding
|
||||
parch-pacman
|
||||
parch-os-wallpapers
|
||||
parch-emoji-ios
|
||||
warpinator
|
||||
estedad-fonts
|
||||
|
|
|
@ -30,12 +30,12 @@ Architecture = auto
|
|||
|
||||
# Misc options
|
||||
#UseSyslog
|
||||
Color
|
||||
#Color
|
||||
#NoProgressBar
|
||||
CheckSpace
|
||||
#VerbosePkgLists
|
||||
ParallelDownloads = 5
|
||||
ILoveCandy
|
||||
#ParallelDownloads = 5
|
||||
|
||||
# By default, pacman accepts packages signed by keys that its local keyring
|
||||
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||
SigLevel = Required DatabaseOptional
|
||||
|
@ -69,19 +69,16 @@ LocalFileSigLevel = Optional
|
|||
# repo name header and Include lines. You can add preferred servers immediately
|
||||
# after the header, and they will be used before the default mirrors.
|
||||
|
||||
#[testing]
|
||||
#[core-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
#[community-testing]
|
||||
#[extra-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# If you want to run 32 bit applications on your x86_64 system,
|
||||
|
@ -90,14 +87,16 @@ Include = /etc/pacman.d/mirrorlist
|
|||
#[multilib-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[multilib]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
#[multilib]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[ppr]
|
||||
SigLevel = Optional TrustedOnly
|
||||
Server = https://raw.githubusercontent.com/parchlinux/ppr/main/x86_64/
|
||||
|
||||
|
||||
[pcp]
|
||||
SigLevel = Optional TrustedOnly
|
||||
Server = https://raw.githubusercontent.com/parchlinux/pcp/main/x86_64/
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
# tips on creating your own repositories.
|
||||
|
|
|
@ -9,8 +9,8 @@ iso_version="$(date +%Y.%m.%d)"
|
|||
install_dir="arch"
|
||||
buildmodes=('iso')
|
||||
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'
|
||||
'uefi-ia32.grub.esp' 'uefi-x64.systemd-boot.esp'
|
||||
'uefi-ia32.grub.eltorito' 'uefi-x64.systemd-boot.eltorito')
|
||||
'uefi-x64.systemd-boot.esp'
|
||||
'uefi-x64.systemd-boot.eltorito')
|
||||
arch="x86_64"
|
||||
pacman_conf="pacman.conf"
|
||||
airootfs_image_type="squashfs"
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 470 KiB After Width: | Height: | Size: 181 KiB |
|
@ -9,7 +9,7 @@ from github import Github
|
|||
|
||||
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
|
||||
|
||||
api_key = os.getenv("api_key", None)
|
||||
api_key = os.getenv("API_KEY", None)
|
||||
current_date = datetime.today().strftime("%Y-%m-%d")
|
||||
|
||||
|
||||
|
@ -28,29 +28,29 @@ file_name = _path.name
|
|||
|
||||
hash = _compute_sha256(path)
|
||||
|
||||
repo_name = os.getenv("name", None)
|
||||
release_name = os.getenv("release_name", None)
|
||||
repo_name = os.getenv("REPO_NAME", None)
|
||||
release_name = os.getenv("RELEASE_NAME", None)
|
||||
|
||||
logging.info("Starting at %s", current_date)
|
||||
|
||||
if not (repo_name and api_key and release_name):
|
||||
logging.error(
|
||||
"'repo_name'/'api_key'/'release_name' not found in your envs."
|
||||
"please add this and run again"
|
||||
"'REPO_NAME'/'API_KEY'/'RELEASE_NAME' not found in your environment vars."
|
||||
"please add this and run again."
|
||||
)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
gh = Github(api_key)
|
||||
print(repo_name, api_key)
|
||||
repo = gh.get_repo(f"parchlinux/{repo_name}")
|
||||
repo = gh.get_repo(repo_name)
|
||||
|
||||
release = repo.get_release(release_name)
|
||||
|
||||
logging.info("statrting Upload ISO to release")
|
||||
logging.info("Statrting upload ISO to release")
|
||||
|
||||
release.upload_asset(path=path)
|
||||
logging.info("ISO upload is done")
|
||||
logging.info("ISO uploaded.")
|
||||
|
||||
# update release
|
||||
msg = (
|
||||
|
@ -60,6 +60,6 @@ msg = (
|
|||
| :---: | :---: |
|
||||
| {file_name} | {hash} |"""
|
||||
)
|
||||
logging.info("Starting Update release msg with: \n %s" % msg)
|
||||
logging.info("Starting update release msg with: \n %s" % msg)
|
||||
release.update_release(name=release.tag_name, message=msg)
|
||||
logging.info("Release Update is done.")
|
||||
logging.info("Release update is done.")
|
||||
|
|
Loading…
Add table
Reference in a new issue