86 lines
2.2 KiB
YAML
86 lines
2.2 KiB
YAML
name: Cast deployment
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: "0 0 * * *"
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
env:
|
|
NODE_OPTIONS: --max_old_space_size=6144
|
|
|
|
jobs:
|
|
deploy_dev:
|
|
runs-on: ubuntu-latest
|
|
name: Deploy Development
|
|
if: github.event_name != 'push'
|
|
environment:
|
|
name: Cast Development
|
|
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
|
|
steps:
|
|
- name: Check out files from GitHub
|
|
uses: actions/checkout@v4.2.2
|
|
with:
|
|
ref: dev
|
|
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v4.1.0
|
|
with:
|
|
node-version-file: ".nvmrc"
|
|
cache: yarn
|
|
|
|
- name: Install dependencies
|
|
run: yarn install --immutable
|
|
|
|
- name: Build Cast
|
|
run: ./node_modules/.bin/gulp build-cast
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Deploy to Netlify
|
|
id: deploy
|
|
uses: netlify/actions/cli@master
|
|
with:
|
|
args: deploy --dir=cast/dist --alias dev
|
|
env:
|
|
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
|
|
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_CAST_SITE_ID }}
|
|
|
|
deploy_master:
|
|
runs-on: ubuntu-latest
|
|
name: Deploy Production
|
|
if: github.event_name == 'push'
|
|
environment:
|
|
name: Cast Production
|
|
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
|
|
steps:
|
|
- name: Check out files from GitHub
|
|
uses: actions/checkout@v4.2.2
|
|
with:
|
|
ref: master
|
|
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v4.1.0
|
|
with:
|
|
node-version-file: ".nvmrc"
|
|
cache: yarn
|
|
|
|
- name: Install dependencies
|
|
run: yarn install --immutable
|
|
|
|
- name: Build Cast
|
|
run: ./node_modules/.bin/gulp build-cast
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Deploy to Netlify
|
|
id: deploy
|
|
uses: netlify/actions/cli@master
|
|
with:
|
|
args: deploy --dir=cast/dist --prod
|
|
env:
|
|
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
|
|
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_CAST_SITE_ID }}
|