Skip to content

ci: test samples and examples with a packaged bolt build #414

ci: test samples and examples with a packaged bolt build

ci: test samples and examples with a packaged bolt build #414

Workflow file for this run

# This workflow runs a TypeScript compilation against slack sample apps built on top of bolt-js
name: Samples Integration Type-checking
on:
push:
branches: [main]
pull_request:
jobs:
examples:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x, 22.x]
example:
- examples/getting-started-typescript
- examples/custom-receiver
- examples/oauth-express-receiver
steps:
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- uses: actions/checkout@v4
- name: Install dependencies and package bolt-js
run: npm i && npm pack .
- name: Install example dependencies and current bolt-js
working-directory: ${{ matrix.example }}
run: npm i && npm i ../../slack-bolt-*.tgz
- name: Compile sample
working-directory: ${{ matrix.example }}
run: npm run build
samples:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x, 22.x]
sample:
- slack-samples/bolt-ts-starter-template
- slack-samples/bolt-ts-custom-function-template
steps:
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Checkout bolt-js
uses: actions/checkout@v4
with:
path: ./bolt-js
- name: Install and package bolt-js
working-directory: ./bolt-js
run: npm i && npm pack .
- name: Checkout ${{ matrix.sample }}
uses: actions/checkout@v4
with:
repository: ${{ matrix.sample }}
path: ./sample
- name: Install sample dependencies and current bolt-js
working-directory: ./sample
run: npm i && npm i ../bolt-js/slack-bolt-*.tgz
- name: Compile sample
working-directory: ./sample
run: npx tsc