refactor: build workflow

This commit is contained in:
Javid izadi 2023-08-30 02:02:31 +03:30
parent ff6abe6f79
commit 98674ac555
No known key found for this signature in database
GPG key ID: EA805A29158D646A
2 changed files with 22 additions and 19 deletions

View file

@ -1,14 +1,10 @@
# This workflow will build an Arch Linux ISO file with the commit on it # This workflow will build an Arch Linux ISO file when a release is created.
name: build parchiso per release name: build parchiso per release
on: on:
release: release:
types: types:
- created - created
env:
api_key: ${{ secrets.GITHUB_TOKEN }}
name: ${{ github.event.repository.name }}
release_name: ${{ github.ref_name }}
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -18,11 +14,18 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Install Packages via Pacman - name: Install Packages via Pacman
run: pacman -Sy; pacman --noconfirm -S git archiso python python-pygithub reflector run: |
- name: Change Arch docker mirror pacman -Suy --noconfirm --noprogressbar
run: reflector -c "US" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist pacman -Sy --noconfirm --noprogressbar --needed git archiso python python-pygithub reflector
- name: Change pacman mirrors
run: |
reflector -n 3 --protocol https --save /etc/pacman.d/mirrorlist
pacman -Syy
- name: Build image - name: Build image
run: mkarchiso -v iso/ run: mkarchiso -v iso/
- name: Upload iso to the release - name: Upload iso to the release
env:
API_KEY: ${{ secrets.GITHUB_TOKEN }}
REPO_NAME: ${{ github.repository }}
RELEASE_NAME: ${{ github.ref_name }}
run: python tools/upload_asset.py run: python tools/upload_asset.py

View file

@ -9,7 +9,7 @@ from github import Github
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") 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") current_date = datetime.today().strftime("%Y-%m-%d")
@ -28,29 +28,29 @@ file_name = _path.name
hash = _compute_sha256(path) hash = _compute_sha256(path)
repo_name = os.getenv("name", None) repo_name = os.getenv("REPO_NAME", None)
release_name = os.getenv("release_name", None) release_name = os.getenv("RELEASE_NAME", None)
logging.info("Starting at %s", current_date) logging.info("Starting at %s", current_date)
if not (repo_name and api_key and release_name): if not (repo_name and api_key and release_name):
logging.error( logging.error(
"'repo_name'/'api_key'/'release_name' not found in your envs." "'REPO_NAME'/'API_KEY'/'RELEASE_NAME' not found in your environment vars."
"please add this and run again" "please add this and run again."
) )
sys.exit(1) sys.exit(1)
gh = Github(api_key) gh = Github(api_key)
print(repo_name, api_key) print(repo_name, api_key)
repo = gh.get_repo(f"parchlinuxB/{repo_name}") repo = gh.get_repo(repo_name)
release = repo.get_release(release_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) release.upload_asset(path=path)
logging.info("ISO upload is done") logging.info("ISO uploaded.")
# update release # update release
msg = ( msg = (
@ -60,6 +60,6 @@ msg = (
| :---: | :---: | | :---: | :---: |
| {file_name} | {hash} |""" | {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) release.update_release(name=release.tag_name, message=msg)
logging.info("Release Update is done.") logging.info("Release update is done.")