Compare commits

...

38 commits

Author SHA1 Message Date
75688c852c edit bootmodes 2024-03-20 14:49:03 +03:30
68b807832e add device mapper 2024-03-20 04:27:43 +03:30
c20ef08e74 add boost libs 2024-03-20 03:39:54 +03:30
447b8f25cf recover calamares 2024-03-17 02:17:52 +03:30
9c7dcd99c5 sync with template repo 2024-03-16 13:43:57 +03:30
f367fc1e9c synced source with latest profile 2024-03-14 18:15:31 +03:30
eb983625d6 synced source with latest profile 2024-03-14 18:14:17 +03:30
32eeeb4b37 parch cutefish 2023-08-30 13:31:12 +03:30
Sohrab Behdani
a6c8f4f7c3
Merge pull request #1 from javidizadi/main
Refactor & fix upload error
2023-08-30 09:59:11 +00:00
Javid izadi
9a9b52f84e
fix: write permission for apply changes to release 2023-08-30 13:17:56 +03:30
Javid izadi
98674ac555
refactor: build workflow 2023-08-30 13:16:06 +03:30
ff6abe6f79 cutefish beta 2023-08-27 13:11:38 +03:30
komeil Parseh
1c664f79eb
Update upload_asset.py 2023-08-27 11:59:36 +03:30
1b51cd8d33 added cutefish fix 2023-08-26 19:15:56 +03:30
b32963363c fixed action 2023-08-26 19:15:07 +03:30
47b849e8c0 fixed upload 2023-08-26 18:29:31 +03:30
a2c93bab8e fixed issue with repo 2023-08-26 17:37:06 +03:30
b463b83017 fixes for cutefish 2023-08-26 17:31:15 +03:30
c0f3e506c0 modified: .github/workflows/build.yaml 2023-06-12 16:47:19 +03:30
ArshA
c0c22e76bc
adding qterminal 2023-06-12 16:33:57 +03:30
ArshA
5ffda4d2a6
adding ark archive manager 2023-06-12 16:32:01 +03:30
eb631b5f2d workflow update 2023-06-08 13:58:40 -04:00
8da382b0f5 Happy new release 2023-06-01 13:27:39 -04:00
5b18eda7b0 some fixes 2023-05-30 06:03:11 -04:00
dadac6de36 updated pacman config 2023-05-30 03:04:01 -04:00
Sohrab Behdani
5965d28379
Add files via upload 2023-05-16 09:01:55 -04:00
Sohrab Behdani
e6965035e0
Add files via upload 2023-05-16 09:01:28 -04:00
Sohrab Behdani
f42ec3d7e5
Update packages.x86_64 2023-05-15 13:17:11 -04:00
Sohrab Behdani
a6aca078da
fixed slowboot and added ibus for keyboard 2023-04-15 22:10:53 +03:30
komeil Parseh
6b1d0e15ca
update upload asset 2023-03-14 19:21:53 +03:30
komeil Parseh
1591c5ac21
Update build.yaml 2023-03-08 16:44:13 +03:30
fe6e7df76a added chromium removed parch-dorood 2023-03-04 21:12:10 +03:30
3802cfe81e added chromium removed parch-dorood 2023-03-04 21:08:47 +03:30
Sohrab Behdani
f8e9d909fa
Update README.md 2023-03-04 20:58:18 +03:30
komeil Parseh
421d5c3c71
tools: update upload asset to 'update release's msg' with 'ISO hash' 2023-02-26 21:58:22 +03:30
komeil Parseh
f61146d0df
Update workflow 2023-02-24 00:56:36 +03:30
7349b5dd6d fix 2023-02-24 00:01:36 +03:30
1788bd3d54 cutefish fixes 2023-02-23 23:57:48 +03:30
12 changed files with 223 additions and 79 deletions

View file

@ -1,33 +1,37 @@
# This workflow will build an Arch Linux ISO file with the commit on it
name: build parchiso per release
on:
release:
types:
- created
workflow_dispatch:
env:
api_key: ${{ secrets.GITHUB_TOKEN }}
name: ${{ github.event.repository.name }}
release_name: ${{ github.event.release.name }}
release_name: ${{ github.ref_name }}
GH_TOKEN: ${{ github.token }}
jobs:
build:
permissions:
contents: write
runs-on: ubuntu-latest
container:
image: archlinux:latest
options: --privileged
steps:
- uses: actions/checkout@v3
- name: print variable
run: |
echo $name
echo $release_name
- 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_assest.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
View file

@ -0,0 +1,2 @@
out/
work/

View file

@ -1 +1 @@
# Parch-os iso template
# Parch Linux cutefish

60
build.sh Executable file
View 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

View 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

View file

@ -1,3 +1,3 @@
timeout 15
default 01-archiso-x86_64-linux.conf
beep on
beep off

View file

@ -7,7 +7,7 @@ base
base-devel
bind
brltty
broadcom-wl
broadcom-wl-dkms
btrfs-progs
clonezilla
cloud-init
@ -29,7 +29,6 @@ ethtool
exfatprogs
f2fs-tools
fatresize
falkon
fsarchiver
git
gnu-netcat
@ -80,7 +79,6 @@ nmap
ntfs-3g
nvme-cli
open-iscsi
open-vm-tools
openconnect
openssh
openvpn
@ -94,7 +92,6 @@ pv
python
python-psutil
python-systemd
qemu-guest-agent
refind
#reflector
reiserfsprogs
@ -136,32 +133,55 @@ 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
cutefish-gtk-themes-git
#plasma-pa
plasma-pa
plasma-nm
konsole
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
keepassxc
octopi-git
geany
neofetch-git
#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
parch-sddm

View file

@ -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.

View file

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

View file

@ -1,36 +0,0 @@
import logging
import os
import sys
from datetime import datetime
from pathlib import Path
from github import Github
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
api_key = os.getenv("api_key", None)
current_date = datetime.today().strftime("%Y-%m-%d")
path = list(Path().cwd().glob("out/*.iso"))[0].as_posix()
repo_name = os.getenv("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"
)
sys.exit(1)
gh = Github(api_key)
repo = gh.get_repo(f"parchlinux/{repo_name}")
release = repo.get_release(release_name)
logging.info("statrting Upload ISO to release")
release.upload_asset(path=path)
logging.info("ISO upload is done")

65
tools/upload_asset.py Normal file
View file

@ -0,0 +1,65 @@
import hashlib
import logging
import os
import sys
from datetime import datetime
from pathlib import Path
from github import Github
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
api_key = os.getenv("API_KEY", None)
current_date = datetime.today().strftime("%Y-%m-%d")
def _compute_sha256(file_name):
hash_sha256 = hashlib.sha256()
with open(file_name, "rb") as f:
for chunk in iter(lambda: f.read(4096), b""):
hash_sha256.update(chunk)
return hash_sha256.hexdigest()
_path = list(Path().cwd().glob("out/*.iso"))[0]
path = _path.as_posix()
file_name = _path.name
hash = _compute_sha256(path)
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 environment vars."
"please add this and run again."
)
sys.exit(1)
gh = Github(api_key)
print(repo_name, api_key)
repo = gh.get_repo(repo_name)
release = repo.get_release(release_name)
logging.info("Statrting upload ISO to release")
release.upload_asset(path=path)
logging.info("ISO uploaded.")
# update release
msg = (
release.body
+ f"""
| name | sha256 |
| :---: | :---: |
| {file_name} | {hash} |"""
)
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.")