Skip to content

Commit

Permalink
Create ci.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
macdonst authored May 13, 2024
1 parent bce51d0 commit 2269704
Showing 1 changed file with 93 additions and 0 deletions.
93 changes: 93 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: Node CI

# Push tests pushes; PR tests merges
on: [ push, pull_request ]

defaults:
run:
shell: bash

jobs:
# Run tests on PR branches
build_prs:
name: Run tests on PR branch
if: github.ref != 'refs/heads/main' || github.event_name == 'pull_request'
runs-on: ubuntu-latest

steps:
- name: Check out repo
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4

- name: Install
run: npm install

- name: Typescript compile
run: tsc

- name: Run tests
run: npm run test

# Deploy the build
deploy_staging:
name: Deploy staging
if: github.ref == 'refs/heads/main' && github.event_name == 'push' # Don't run twice for PRs (for now)
runs-on: ubuntu-latest
concurrency:
group: staging_${{ github.repository }}

steps:
- name: Check out repo
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4

- name: Install
run: npm install

- name: Typescript compile
run: tsc

- name: Run tests
run: npm run test

- name: Deploy to staging
uses: beginner-corp/actions/deploy@main
with:
begin_token: ${{ secrets.BEGIN_TOKEN }}
begin_env_name: staging
channel: 'main'

# Deploy the build
deploy_production:
name: Deploy production
if: startsWith(github.ref, 'refs/tags/v') && github.event_name == 'push' # Don't run twice for PRs (for now)
runs-on: ubuntu-latest
concurrency:
group: production_${{ github.repository }}

steps:
- name: Check out repo
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4

- name: Install
run: npm install

- name: Typescript compile
run: tsc

- name: Run tests
run: npm run test

- name: Deploy to production
uses: beginner-corp/actions/deploy@main
with:
begin_token: ${{ secrets.BEGIN_TOKEN }}
begin_env_name: production
channel: 'main'

0 comments on commit 2269704

Please sign in to comment.