Skip to content

Cloud check in action #1651

Cloud check in action

Cloud check in action #1651

Workflow file for this run

name: Cloud check in action
on:
push:
branches:
- main
watch:
types: started
workflow_dispatch:
schedule:
- cron: 35 3 * * *
jobs:
build-and-deploy:
runs-on: ubuntu-latest
environment: user
steps:
- name: 🔌 Check out code
uses: actions/checkout@main
- name: 🔨 Setup Node.js environment
uses: actions/setup-node@main
with:
node-version: 18
cache: npm
- name: 🗳️ Check if CACHE_COOKIE is true
run: |
if [ "${{ secrets.CACHE_COOKIE }}" == "true" ]; then
echo "CACHE_COOKIE=true" >> $GITHUB_ENV
else
echo "CACHE_COOKIE=false" >> $GITHUB_ENV
fi
echo "CURRENT_DATE=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
echo "CURRENT_IP=$(curl -s https://ipinfo.io/ip)" >> $GITHUB_ENV
- name: 📹 Restore cached Cookie
id: cache-cookie-restore
if: env.CACHE_COOKIE == 'true'
uses: actions/cache/restore@v4
with:
path: .cookie
key: ${{ env.CURRENT_DATE }}-${{ env.CURRENT_IP }}-cookie
- name: 🔧 Init secrets
uses: shine1594/secrets-to-env-action@master
with:
secrets: ${{ toJSON(secrets) }}
secrets_env: production
prefix_prod: ""
file_name_prod: .env
- name: 📡 Init dependencies
run: npm install
- name: 🚀 Run
uses: nick-fields/retry@master
with:
timeout_minutes: 30
max_attempts: 3
command: npm start
- name: 💾 Save cookie
id: cache_primes_save
if: env.CACHE_COOKIE == 'true'
uses: actions/cache/save@v4
with:
path: |
.cookie
key: ${{ steps.cache-cookie-restore.outputs.cache-primary-key }}
- name: 🚗 Keep Running
if: github.event_name == 'schedule'
run: |
git config --local user.email "${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com"
git config --local user.name "${{ github.actor }}"
git remote set-url origin https://${{ github.actor }}:${{ github.token }}@github.com/${{ github.repository }}
git pull --rebase --autostash
git commit --allow-empty -m "Keep Running..."
git push
- name: 🎉 Delete old workflow run
uses: Mattraks/delete-workflow-runs@main
with:
token: ${{ github.token }}
repository: ${{ github.repository }}
retain_days: 0
keep_minimum_runs: 50