ㅤ⚡️ BUMP ⚡️ㅤ
ㅤga-create-ramdisk ↑3 ↓3ㅤ
#59
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# eslint-disable yml/no-empty-mapping-value | |
name: Cron | |
on: | |
workflow_dispatch: | |
inputs: | |
debug_enabled: | |
type: boolean | |
description: Enable debugging | |
required: false | |
default: false | |
push: | |
branches: | |
- main | |
- 'feature/**' | |
pull_request: | |
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule | |
# schedule: | |
# - cron: '*/5 * * * *' | |
jobs: | |
# Job ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | |
build: | |
name: job ❯ build & run | |
runs-on: ubuntu-24.04 | |
steps: | |
# - name: Create Ramdrive | |
# run: | | |
# sudo mv /home/runner/work /home/runner/_work | |
# mkdir -p /home/runner/work | |
# sudo mount -o size=6G -t tmpfs none /home/runner/work | |
# sudo rsync -a /home/runner/_work/ /home/runner/work | |
# find . /home/runner/work | |
# - name: Benchmark1 | |
# run: | | |
# curl -sL yabs.sh | bash -s -- -i -g | |
# ───────────────────────────────────────────────────── | |
- name: Bootstrap ❯❯ actions/checkout@v4 | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
# ───────────────────────────────────────────────────── | |
- name: Bootstrap > Optimize Runner | |
run: | | |
.github/scripts/ga-create-ramdisk | |
.github/scripts/ga-optimize-runner | |
# ───────────────────────────────────────────────────── | |
# - name: Bootstrap ❯❯ denoland/setup-deno@v1 | |
# uses: denoland/setup-deno@v1 | |
# with: | |
# deno-version: v1.x | |
# ───────────────────────────────────────────────────── | |
- name: Bootstrap ❯❯ Set env variables | |
run: | | |
echo TEST_SECRET="${{ secrets.TEST_SECRET }}" >> $GITHUB_ENV | |
.github/scripts/ciutil set-env-variables | |
# ───────────────────────────────────────────────────── | |
- uses: actions/cache@v4 | |
name: Bootstrap ❯❯ Restore Lockfile Cache | |
with: | |
path: ${{ env.ACTIONS_CACHE_DIR }} | |
key: ${{ runner.os }}-v1-store-${{ env.CACHE_PREFIX_DAILY }}-${{ hashFiles('**/deno.lock') }} | |
restore-keys: | | |
${{ runner.os }}-v1-store-${{ env.CACHE_PREFIX_DAILY }}-${{ hashFiles('**/deno.lock') }} | |
# ${{ runner.os }}-v1-store-${{ env.CACHE_PREFIX_DAILY }}- | |
# ${{ runner.os }}-v1-store- | |
- uses: actions/cache@v4 | |
name: Bootstrap ❯❯ Restore TTL Cache | |
if: always() | |
with: | |
path: ${{ env.TTL_CACHE_DIR }} | |
key: ${{ runner.os }}-v1-ttl-cache-${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }}-${{ github.run_attempt }} | |
restore-keys: | | |
${{ runner.os }}-v1-ttl-cache-${{ env.CACHE_PREFIX }}- | |
${{ runner.os }}-v1-ttl-cache- | |
# - uses: actions/cache@v4 | |
# name: Bootstrap ❯❯ Restore Files Cache | |
# if: always() | |
# with: | |
# path: ${{ env.FILES_CACHE_DIR }} | |
# key: ${{ runner.os }}-v3-files-cache-${{ env.CACHE_PREFIX_DAILY }}-${{ hashFiles('**/package.json') }} | |
# restore-keys: | | |
# ${{ runner.os }}-v3-files-cache-${{ env.CACHE_PREFIX_DAILY }}-${{ hashFiles('**/package.json') }} | |
# ${{ runner.os }}-v3-files-cache-${{ env.CACHE_PREFIX_DAILY }}- | |
# ───────────────────────────────────────────────────── | |
- name: Bootstrap ❯❯ Preinstall & Prepare Environment | |
run: | | |
. .github/scripts/ciutil | |
✨ "Setup: Preinstall binaries" && preinstall-binaries | |
✨ "Debug: System information" && fastfetch --logo none --structure Title:Separator:OS:Host:Kernel:Uptime:Packages:Shell:CPU:GPU:Memory:Disk:Battery:PowerAdapter:Break:LocalIP:PublicIP --publicip-url icanhazip.com --publicip-timeout 200 || true | |
✨ "Debug: Env variables" && ga-dump-env | |
✨ "Debug: generic cache ($ACTIONS_CACHE_DIR)" && show-cache-structure-default | |
✨ "Debug: ttl cache ($TTL_CACHE_DIR)" && show-cache-structure-ttl | |
✨ "Debug: file cache ($FILES_CACHE_DIR)" && show-cache-structure-files | |
✨ "Debug: apt cache (/var/cache/apt/archives)" && show-cache-structure-apt | |
✨ "pnpm install" && install-nodemodules | |
✨ "Housekeeping:" && cron-housekeeping | |
# ───────────────────────────────────────────────────── | |
- uses: actions/checkout@v4 | |
- name: Setup tmate session | |
if: ${{ runner.debug == '1' }} | |
uses: mxschmitt/action-tmate@v3 | |
with: | |
detached: true | |
# ───────────────────────────────────────────────────── | |
- name: "✨ Docker ❯❯ Job1" | |
# if: github.event.schedule != '*/5 * * * *' | |
run: | | |
pstats docker run hello-world | |
# ───────────────────────────────────────────────────── | |
- name: "✨ Cron ❯❯ Job1" | |
# if: github.event.schedule != '*/5 * * * *' | |
run: | | |
cd .cron && just | |
# ───────────────────────────────────────────────────── | |
- name: Post hooks ❯❯ Commit to repository | |
if: github.ref == 'refs/heads/main' | |
run: | | |
.github/scripts/ciutil git-commit-to-repository | |
git push | |
# ───────────────────────────────────────────────────── | |
- name: "Debug ❯❯ Context Information" | |
id: github_context_step | |
env: | |
JSON_GITHUB: ${{ toJSON(github) }} | |
JSON_JOB: ${{ toJSON(job) }} | |
JSON_STEPS: ${{ toJSON(steps) }} | |
JSON_RUNNER: ${{ toJSON(runner) }} | |
JSON_STRATEGY: ${{ toJSON(strategy) }} | |
JSON_MATRIX: ${{ toJSON(MATRIX) }} | |
run: | | |
. .github/scripts/ciutil | |
ip-public | |
✨ "Debug: generic cache ($ACTIONS_CACHE_DIR)" && show-cache-structure-default | |
✨ "Debug: ttl cache ($TTL_CACHE_DIR)" && show-cache-structure-ttl | |
✨ "Debug: file cache ($FILES_CACHE_DIR)" && show-cache-structure-files | |
___ | |
ga-dump-context # | tee /tmp/ga-dump-context.txt &> /dev/null && cat /tmp/ga-dump-context.txt | |