Skip to content

πŸ¦€ Gen Data 🧬 #596

πŸ¦€ Gen Data 🧬

πŸ¦€ Gen Data 🧬 #596

Workflow file for this run

name: πŸ¦€ Gen Data 🧬
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
on:
workflow_dispatch:
schedule:
#- cron: "0 */2 * * *" #@every 2hrs
- cron: "30 1 * * *" #7:15 AM NPT
- cron: "30 13 * * *" #7:15 PM NPT
#------------------------------------------------------------------------------------#
jobs:
gen-data:
name: Gen Data
runs-on: ubuntu-latest
timeout-minutes: 120
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: main
fetch-depth: 1
filter: "blob:none"
- name: Setup Env
run: |
#Presets
set +x ; set +e
#--------------#
##Install coreutils
sudo apt-get update -y -qq && sudo apt-get install curl coreutils dos2unix file findutils gawk git jq moreutils rsync tar xz-utils util-linux wget zip -y -qq
##Install Addons
#https://github.com/pkgforge/devscripts/blob/main/Linux/install_bins_curl.sh
bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/refs/heads/main/Linux/install_bins_curl.sh")
##Create Output Dir
mkdir -p "${GITHUB_WORKSPACE}/main/data"
echo "GIT_TERMINAL_PROMPT=0" >> "${GITHUB_ENV}"
echo "GIT_ASKPASS=/bin/echo" >> "${GITHUB_ENV}"
git config --global "user.email" "[email protected]"
git config --global "user.name" "Azathothas"
##tmp
SYSTMP="$(dirname $(mktemp -u))" && export SYSTMP="${SYSTMP}"
echo "SYSTMP=${SYSTMP}" >> "${GITHUB_ENV}"
continue-on-error: true
- name: Debloat Runner
run: |
#Presets
set +x ; set +e
#--------------#
bash <(curl -qfsSL "https://raw.githubusercontent.com/pkgforge/devscripts/main/Github/Runners/debloat_ubuntu.sh")
continue-on-error: true
## Too Slow & Expensive
#- name: Generate Metadata (CRATES_DUMP.json)
# run: |
# #Presets
# set +x ; set +e
# #--------------#
# ##Main
# dos2unix --quiet "${GITHUB_WORKSPACE}/main/scripts/_get_initial_list.sh"
# chmod +x "${GITHUB_WORKSPACE}/main/scripts/_get_initial_list.sh"
# bash "${GITHUB_WORKSPACE}/main/scripts/_get_initial_list.sh"
# ##Copy
# if [[ -s "${SYSTMP}/CRATES_DUMP.json" && $(stat -c%s "${SYSTMP}/CRATES_DUMP.json") -gt 1024 ]]; then
# PKG_COUNT="$(jq -r '.[] | .name' "${SYSTMP}/CRATES_DUMP.json" | grep -iv 'null' | sort -u | wc -l | tr -d '[:space:]')"
# if [[ "${PKG_COUNT}" -ge 1000 ]]; then
# cp -fv "${SYSTMP}/CRATES_DUMP.json" "${GITHUB_WORKSPACE}/main/data/CRATES_DUMP.json"
# fi
# fi
# continue-on-error: true
- name: Generate Metadata (CRATES_CMDLINE_ONLY.json)
run: |
#Presets
set +x ; set +e
#--------------#
##Main
dos2unix --quiet "${GITHUB_WORKSPACE}/main/scripts/_get_process_cmdline_dump.sh"
chmod +x "${GITHUB_WORKSPACE}/main/scripts/_get_process_cmdline_dump.sh"
bash "${GITHUB_WORKSPACE}/main/scripts/_get_process_cmdline_dump.sh"
##Copy
if [[ -s "${SYSTMP}/CRATES_CMDLINE_ONLY.json" && $(stat -c%s "${SYSTMP}/CRATES_CMDLINE_ONLY.json") -gt 1024 ]]; then
PKG_COUNT="$(jq -r '.[] | .name' "${SYSTMP}/CRATES_CMDLINE_ONLY.json" | grep -iv 'null' | sort -u | wc -l | tr -d '[:space:]')"
if [[ "${PKG_COUNT}" -ge 1000 ]]; then
cp -fv "${SYSTMP}/CRATES_CMDLINE_ONLY.json" "${GITHUB_WORKSPACE}/main/data/CRATES_CMDLINE_ONLY.json"
fi
fi
continue-on-error: true
- name: Generate Metadata (CRATES_PROCESSED.json)
run: |
#Presets
set +x ; set +e
#--------------#
##Main
#dos2unix --quiet "${GITHUB_WORKSPACE}/main/scripts/_process_final_cmdline.sh"
#chmod +x "${GITHUB_WORKSPACE}/main/scripts/_process_final_cmdline.sh"
#export USE_GH_LOCAL="YES"
#bash "${GITHUB_WORKSPACE}/main/scripts/_process_final_cmdline.sh"
##Copy
if [[ -s "${SYSTMP}/CRATES_PROCESSED.json" && $(stat -c%s "${SYSTMP}/CRATES_PROCESSED.json") -gt 1024 ]]; then
PKG_COUNT="$(jq -r '.[] | .name' "${SYSTMP}/CRATES_PROCESSED.json" | grep -iv 'null' | sort -u | wc -l | tr -d '[:space:]')"
if [[ "${PKG_COUNT}" -ge 1000 ]]; then
cp -fv "${SYSTMP}/CRATES_PROCESSED.json" "${GITHUB_WORKSPACE}/main/data/CRATES_PROCESSED.json"
fi
fi
continue-on-error: true
- name: Get DateTime
run: |
#Presets
set +x ; set +e
#--------------#
NEPALI_TIME="$(TZ='Asia/Kathmandu' date +'%Y-%m-%d (%I:%M:%S %p)')"
echo "NEPALI_TIME=${NEPALI_TIME}" >> "${GITHUB_ENV}"
continue-on-error: true
- name: Pull & Push (1)
run: |
#Presets
set +x ; set +e
#--------------#
cd "${GITHUB_WORKSPACE}/main"
git pull origin main --no-edit 2>/dev/null
git pull origin main --ff-only ; git merge --no-ff -m "Merge & Sync"
continue-on-error: true
- uses: stefanzweifel/git-auto-commit-action@v6
with:
repository: ./main
commit_user_name: Azathothas
commit_user_email: [email protected]
commit_message: "πŸ¦€ Generated Data 🧬 <-- [${{ env.NEPALI_TIME }}] ⌚"
- name: Pull & Push (2)
run: |
#Presets
set +x ; set +e
#--------------#
cd "${GITHUB_WORKSPACE}/main"
git pull origin main --no-edit 2>/dev/null
git pull origin main --ff-only ; git merge --no-ff -m "Merge & Sync"
continue-on-error: true
- uses: stefanzweifel/git-auto-commit-action@v6
with:
repository: ./main
commit_user_name: Azathothas
commit_user_email: [email protected]
commit_message: "πŸ¦€ Generated Data 🧬 <-- [${{ env.NEPALI_TIME }}] ⌚"