Skip to content

chore(deps): update dependencies #11

chore(deps): update dependencies

chore(deps): update dependencies #11

name: 🚀 Publish new beta version
# Run this on every push to staging
on:
push:
branches:
- staging
permissions:
contents: read
jobs:
publish:
# Use the latest version of Ubuntu
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
steps:
# Checkout repository
- name: 📥 Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
# Setup Node
- name: 📦 Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
# Install pnpm
- name: 📦 Install pnpm
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false
# Get pnpm store directory
- name: 📦 Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
# Setup pnpm cache
- name: 📦 Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
# Install dependencies
- name: 📦 Install dependencies
run: |
pnpm install --frozen-lockfile --prefer-frozen-lockfile
# Create semantic release
- name: 🚀 Create semantic beta release
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
run: pnpm run semantic-release
# Build project
- name: 🏗 Build project
run: pnpm run build
# Upload build artifacts
- name: 🚀 Upload beta build artifacts
uses: wlixcc/[email protected]
with:
username: ${{ secrets.FTP_USER }}
server: ${{ secrets.FTP_HOST }}
port: ${{ secrets.FTP_PORT }}
password: ${{ secrets.FTP_PASSWORD }}
local_path: './dist/rainbow-palette/browser'
remote_path: './staging'
sftp_only: true
# Purge unused old Angular files via custom script
- name: 🧹 Purge unused files
uses: fjogeleit/http-request-action@v1
with:
url: ${{ secrets.HTTP_PURGE_STAGING }}
method: 'GET'