Skip to content

Merge pull request #44 from helium/feat/test #4

Merge pull request #44 from helium/feat/test

Merge pull request #44 from helium/feat/test #4

name: Test and Deploy to Staging
on:
pull_request:
branches:
- develop
push:
branches:
- develop
workflow_dispatch:
jobs:
tests:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: Install modules
run: npm install
- name: Run tests
run: npm test
staging:
if: ${{ github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.pull_request.merged == true && github.ref_name == 'develop' }}
env:
environment: staging
runs-on: ubuntu-latest
needs: tests
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: Use Node.js 18.x
uses: actions/setup-node@v4
with:
node-version: '20.x'
- name: Install dependencies
run: npm install
- name: Environment
run: |
echo "Environment: $ENVIRONMENT"
env:
NAME: ${{ env.name }}
ENVIRONMENT: ${{ env.environment }}
- name: Publish
uses: cloudflare/[email protected]
with:
apiToken: ${{ secrets.CF_API_TOKEN }}
command: publish --env ${{ env.environment }}
env:
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
production:
if: ${{ github.event_name == 'workflow_dispatch' && github.ref_name == 'main' }}
env:
environment: production
runs-on: ubuntu-latest
timeout-minutes: 60
needs: tests
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20.x
uses: actions/setup-node@v3
with:
node-version: '20.x'
- name: Install dependencies
run: npm install
- name: Environment
run: |
echo "Environment: $ENVIRONMENT"
env:
NAME: ${{ env.name }}
ENVIRONMENT: ${{ env.environment }}
- name: Publish
uses: cloudflare/[email protected]
with:
apiToken: ${{ secrets.CF_API_TOKEN }}
command: publish --env ${{ env.environment }}
env:
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}