mirror of
https://github.com/cloudflare/wrangler-action.git
synced 2024-11-25 19:34:45 +01:00
528687aaf4
and no lockfile is present. Fixes #180
161 lines
4.9 KiB
YAML
161 lines
4.9 KiB
YAML
name: Wrangler Action Self Testing
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
wrangler_action_self_testing:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: "latest"
|
|
cache: "npm"
|
|
|
|
- name: Install modules and build
|
|
run: npm ci && npm run build
|
|
|
|
- name: Unit Tests
|
|
run: npm run test
|
|
|
|
- name: Check Formatting
|
|
run: npm run check
|
|
|
|
- name: Only build app
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./test/base"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: deploy --dry-run
|
|
|
|
- name: Only build app w/ quiet enabled
|
|
uses: ./
|
|
with:
|
|
quiet: true
|
|
workingDirectory: "./test/base"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: deploy --dry-run
|
|
|
|
# START Setup and teardown of Worker Environment Tests
|
|
- name: Environment support
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./test/environment"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
environment: dev
|
|
preCommands: npx wrangler deploy --env dev # https://github.com/cloudflare/wrangler-action/issues/162
|
|
secrets: |
|
|
SECRET1
|
|
SECRET2
|
|
env:
|
|
SECRET1: ${{ secrets.SECRET1 }}
|
|
SECRET2: ${{ secrets.SECRET2 }}
|
|
|
|
- name: Clean up Deployed Environment Worker
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./test/base"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: delete --name wrangler-action-dev-environment-test --force
|
|
|
|
# END Setup and teardown of Worker Environment Tests
|
|
# START Setup and teardown of Workers w/ Secrets Tests
|
|
- name: Deploy app secrets w/ hardcoded Wrangler v2
|
|
uses: ./
|
|
with:
|
|
wranglerVersion: "2.20.0"
|
|
workingDirectory: "./test/base"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
secrets: |
|
|
SECRET1
|
|
SECRET2
|
|
env:
|
|
SECRET1: ${{ secrets.SECRET1 }}
|
|
SECRET2: ${{ secrets.SECRET2 }}
|
|
|
|
- name: Health Check Deployed Worker
|
|
run: node .github/workflows/workerHealthCheck.cjs
|
|
shell: bash
|
|
|
|
- name: Deploy app secrets w/ default version
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./test/base"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
secrets: |
|
|
SECRET1
|
|
SECRET2
|
|
env:
|
|
SECRET1: ${{ secrets.SECRET1 }}
|
|
SECRET2: ${{ secrets.SECRET2 }}
|
|
|
|
- name: Health Check Deployed Worker
|
|
run: node .github/workflows/workerHealthCheck.cjs
|
|
shell: bash
|
|
|
|
- name: Clean Up Deployed Workers
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./test/base"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: delete --name wrangler-action-test --force
|
|
# END Setup and teardown of Workers w/ Secrets Tests
|
|
|
|
- name: Support packageManager variable
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./test/empty"
|
|
packageManager: "npm"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: deploy --dry-run
|
|
|
|
- name: Support unspecified packageManager with no lockfile
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./test/empty"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: deploy --dry-run
|
|
|
|
- name: Support npm package manager
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./test/npm"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: deploy --dry-run
|
|
|
|
- name: Install yarn
|
|
run: npm i -g yarn
|
|
|
|
- name: Support yarn package manager
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./test/yarn"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: deploy --dry-run
|
|
|
|
- name: Install pnpm
|
|
run: npm i -g pnpm
|
|
|
|
- name: Support pnpm package manager
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./test/pnpm"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: deploy --dry-run
|