name: Wrangler Action Self Testing on: push: branches: - main 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 Dependencies run: npm install - name: Unit Tests run: npm run test - name: Check Formatting run: npm run check - name: Build Action run: npm run build - name: Only build app uses: ./ with: 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 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