Skip to content

Merge branch 'dev' of github.com:casual-simulation/casualcatalog into… #1885

Merge branch 'dev' of github.com:casual-simulation/casualcatalog into…

Merge branch 'dev' of github.com:casual-simulation/casualcatalog into… #1885

Workflow file for this run

name: Publish casualcatalog [DEV]
on:
push:
branches: [dev]
workflow_dispatch:
inputs:
version:
description: 'Version tag to publish (e.g. dev/vNEXT or dev/v123)'
required: true
default: 'dev/vNEXT'
type: string
concurrency:
group: deploy-dev
cancel-in-progress: true
jobs:
deploy:
name: Publishing casualcatalog dev
environment: casualcatalog-dev
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build (dev)
run: pnpm run pack:dev
- name: Fetch all remote branches
run: git fetch --prune --unshallow || git fetch --prune --all
- name: Show version info
run: |
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
echo "🔧 Manual publish for version: ${{ github.event.inputs.version }}"
else
echo "🚀 Push triggered publish on branch: ${GITHUB_REF#refs/heads/}"
echo "🔁 Commit: ${GITHUB_SHA}"
fi
- name: Configure AWS credentials
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: |
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile bootstrap
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile bootstrap
aws configure set region us-east-1 --profile bootstrap
- name: Upload to S3 and Create Invalidation
env:
S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }}
CF_DISTRIBUTION_ID: ${{ secrets.CF_DISTRIBUTION_ID }}
run: |
aws s3 sync dist s3://$S3_BUCKET_NAME \
--delete \
--cache-control no-cache \
--exclude "*.aux" \
--profile bootstrap
aws s3 sync dist s3://$S3_BUCKET_NAME \
--delete \
--exclude "*" --include "*.aux" \
--content-type application/json \
--cache-control no-cache \
--profile bootstrap
aws cloudfront create-invalidation \
--distribution-id $CF_DISTRIBUTION_ID \
--paths "/*" \
--profile bootstrap