mirror of
https://github.com/cloudflare/wrangler-action.git
synced 2024-11-27 12:14:45 +01:00
165 lines
5.4 KiB
YAML
165 lines
5.4 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:
|
|
# Pinned due to compatibility issues on 23.2.0
|
|
node-version: "22"
|
|
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: "./src/test/fixtures/only-build"
|
|
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: "./src/test/fixtures/build-quiet"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: deploy --dry-run
|
|
|
|
- name: Environment support
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./src/test/fixtures/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
|
|
postCommands: npx wrangler delete --name wrangler-action-dev-environment-test --force
|
|
secrets: |
|
|
SECRET1
|
|
SECRET2
|
|
env:
|
|
SECRET1: ${{ secrets.SECRET1 }}
|
|
SECRET2: ${{ secrets.SECRET2 }}
|
|
|
|
# START Setup and teardown of Workers w/ Secrets Tests
|
|
- name: Deploy app secrets w/ hardcoded Wrangler v2
|
|
uses: ./
|
|
with:
|
|
wranglerVersion: "2.20.0"
|
|
workingDirectory: "./src/test/fixtures/secrets-v2"
|
|
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 wrangler-action-test-secrets-v2
|
|
shell: bash
|
|
|
|
- name: Deploy app secrets w/ default version
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./src/test/fixtures/secrets-default"
|
|
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 wrangler-action-test-secrets-default
|
|
shell: bash
|
|
|
|
- name: Clean Up Deployed Workers
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./src/test/fixtures/secrets-default"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: delete --name wrangler-action-test-secrets-v2 --force
|
|
postCommands: npx wrangler delete --name wrangler-action-test-secrets-default --force
|
|
# END Setup and teardown of Workers w/ Secrets Tests
|
|
|
|
- name: Support packageManager variable
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./src/test/fixtures/specify-package-manager"
|
|
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: "./src/test/fixtures/unspecified-package-manager"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: deploy --dry-run
|
|
|
|
- name: Support npm package manager
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./src/test/fixtures/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: "./src/test/fixtures/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: "./src/test/fixtures/pnpm"
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: deploy --dry-run
|
|
|
|
- name: Change directory to pre-installed-wrangler and install dependencies
|
|
run: |
|
|
cd ./src/test/fixtures/pre-installed-wrangler
|
|
npm install
|
|
|
|
- name: Support pre-installed wrangler
|
|
uses: ./
|
|
with:
|
|
workingDirectory: "./src/test/fixtures/pre-installed-wrangler"
|
|
command: action-test
|