└── polot /polot: -------------------------------------------------------------------------------- 1 | name: 🚀 Deployment Tests 2 | 3 | on: 4 | workflow_call: 5 | secrets: 6 | TEST_AWS_ACCESS_KEY_ID: 7 | required: true 8 | TEST_AWS_SECRET_ACCESS_KEY: 9 | required: true 10 | TEST_CF_ACCOUNT_ID: 11 | required: true 12 | TEST_CF_GLOBAL_API_KEY: 13 | required: true 14 | TEST_CF_EMAIL: 15 | required: true 16 | TEST_CF_PAGES_API_TOKEN: 17 | required: true 18 | TEST_CF_API_TOKEN: 19 | required: true 20 | TEST_DENO_DEPLOY_TOKEN: 21 | required: true 22 | TEST_FLY_TOKEN: 23 | required: true 24 | 25 | concurrency: 26 | group: ${{ github.workflow }}-${{ github.ref }} 27 | cancel-in-progress: true 28 | 29 | jobs: 30 | arc_deploy: 31 | name: Architect Deploy 32 | if: github.repository == 'remix-run/remix' 33 | runs-on: ubuntu-latest 34 | steps: 35 | - name: ⬇️ Checkout repo 36 | uses: actions/checkout@v4 37 | 38 | - name: 📦 Setup pnpm 39 | uses: pnpm/action-setup@v3.0.0 40 | 41 | - name: ⎔ Setup node 42 | uses: actions/setup-node@v4 43 | with: 44 | node-version-file: ".nvmrc" 45 | cache: npm 46 | cache-dependency-path: ./scripts/deployment-test/package.json # no lockfile, key caching off package.json 47 | 48 | # some deployment targets require the latest version of npm 49 | # TODO: remove this eventually when the default version we get 50 | # is "latest" enough. 51 | - name: 📦 Install latest version of npm 52 | run: npm install -g npm@latest 53 | working-directory: ./scripts/deployment-test 54 | 55 | - name: 📥 Install deployment-test deps 56 | run: npm install 57 | working-directory: ./scripts/deployment-test 58 | 59 | - name: 🚀 Deploy to Arc 60 | run: node ./arc.mjs 61 | working-directory: ./scripts/deployment-test 62 | env: 63 | CI: true 64 | AWS_ACCESS_KEY_ID: ${{ secrets.TEST_AWS_ACCESS_KEY_ID }} 65 | AWS_SECRET_ACCESS_KEY: ${{ secrets.TEST_AWS_SECRET_ACCESS_KEY }} 66 | 67 | cf_pages_deploy: 68 | name: "CF Pages Deploy" 69 | if: github.repository == 'remix-run/remix' 70 | runs-on: ubuntu-latest 71 | steps: 72 | - name: ⬇️ Checkout repo 73 | uses: actions/checkout@v4 74 | 75 | - name: 📦 Setup pnpm 76 | uses: pnpm/action-setup@v3.0.0 77 | 78 | - name: ⎔ Setup node 79 | uses: actions/setup-node@v4 80 | with: 81 | node-version-file: ".nvmrc" 82 | cache: npm 83 | cache-dependency-path: ./scripts/deployment-test/package.json # no lockfile, key caching off package.json 84 | 85 | # some deployment targets require the latest version of npm 86 | # TODO: remove this eventually when the default version we get 87 | # is "latest" enough. 88 | - name: 📦 Install latest version of npm 89 | run: npm install -g npm@latest 90 | working-directory: ./scripts/deployment-test 91 | 92 | - name: 📥 Install deployment-test deps 93 | run: npm install 94 | working-directory: ./scripts/deployment-test 95 | 96 | - name: 🚀 Deploy to Cloudflare Pages 97 | run: node ./cf-pages.mjs 98 | working-directory: ./scripts/deployment-test 99 | env: 100 | CLOUDFLARE_ACCOUNT_ID: ${{ secrets.TEST_CF_ACCOUNT_ID }} 101 | CLOUDFLARE_GLOBAL_API_KEY: ${{ secrets.TEST_CF_GLOBAL_API_KEY }} 102 | CLOUDFLARE_EMAIL: ${{ secrets.TEST_CF_EMAIL }} 103 | CLOUDFLARE_API_TOKEN: ${{ secrets.TEST_CF_PAGES_API_TOKEN }} 104 | 105 | cf_workers_deploy: 106 | name: "CF Workers Deploy" 107 | if: github.repository == 'remix-run/remix' 108 | runs-on: ubuntu-latest 109 | steps: 110 | - name: ⬇️ Checkout repo 111 | uses: actions/checkout@v4 112 | 113 | - name: 📦 Setup pnpm 114 | uses: pnpm/action-setup@v3.0.0 115 | 116 | - name: ⎔ Setup node 117 | uses: actions/setup-node@v4 118 | with: 119 | node-version-file: ".nvmrc" 120 | cache: npm 121 | cache-dependency-path: ./scripts/deployment-test/package.json # no lockfile, key caching off package.json 122 | 123 | # some deployment targets require the latest version of npm 124 | # TODO: remove this eventually when the default version we get 125 | # is "latest" enough. 126 | - name: 📦 Install latest version of npm 127 | run: npm install -g npm@latest 128 | working-directory: ./scripts/deployment-test 129 | 130 | - name: 📥 Install deployment-test deps 131 | run: npm install 132 | working-directory: ./scripts/deployment-test 133 | 134 | - name: 🚀 Deploy to Cloudflare Workers 135 | run: node ./cf-workers.mjs 136 | working-directory: ./scripts/deployment-test 137 | env: 138 | CLOUDFLARE_ACCOUNT_ID: ${{ secrets.TEST_CF_ACCOUNT_ID }} 139 | CLOUDFLARE_API_TOKEN: ${{ secrets.TEST_CF_API_TOKEN }} 140 | CLOUDFLARE_EMAIL: ${{ secrets.CLOUDFLARE_EMAIL }} 141 | CLOUDFLARE_GLOBAL_API_KEY: ${{ secrets.CLOUDFLARE_GLOBAL_API_KEY }} 142 | 143 | # "deploy deploy" is not a typo, we are deploying to Deno Deploy 144 | deno_deploy_deploy: 145 | name: "Deno Deploy Deploy" 146 | if: github.repository == 'remix-run/remix' 147 | runs-on: ubuntu-latest 148 | steps: 149 | - name: ⬇️ Checkout repo 150 | uses: actions/checkout@v4 151 | 152 | - name: 📦 Setup pnpm 153 | uses: pnpm/action-setup@v3.0.0 154 | 155 | - name: ⎔ Setup node 156 | uses: actions/setup-node@v4 157 | with: 158 | node-version-file: ".nvmrc" 159 | cache: npm 160 | cache-dependency-path: ./scripts/deployment-test/package.json # no lockfile, key caching off package.json 161 | 162 | # some deployment targets require the latest version of npm 163 | # TODO: remove this eventually when the default version we get 164 | # is "latest" enough. 165 | - name: 📦 Install latest version of npm 166 | run: npm install -g npm@latest 167 | working-directory: ./scripts/deployment-test 168 | 169 | - name: 📥 Install deployment-test deps 170 | run: npm install 171 | working-directory: ./scripts/deployment-test 172 | 173 | - name: 🦕 Install Deno 174 | uses: denoland/setup-deno@v1 175 | with: 176 | deno-version: vx.x.x 177 | - name: 🦕 Deno Deploy CLI 178 | run: deno install --allow-read --allow-write --allow-env --allow-net --allow-run --no-check -r -f https://deno.land/x/deploy/deployctl.ts 179 | 180 | - name: 🚀 Deploy to Deno Deploy 181 | run: node ./deno-deploy.mjs 182 | working-directory: ./scripts/deployment-test 183 | env: 184 | DENO_DEPLOY_TOKEN: ${{ secrets.TEST_DENO_DEPLOY_TOKEN }} 185 | 186 | fly_deploy: 187 | name: "Fly Deploy" 188 | if: github.repository == 'remix-run/remix' 189 | runs-on: ubuntu-latest 190 | steps: 191 | - name: ⬇️ Checkout repo 192 | uses: actions/checkout@v4 193 | 194 | - name: 📦 Setup pnpm 195 | uses: pnpm/action-setup@v3.0.0 196 | 197 | - name: ⎔ Setup node 198 | uses: actions/setup-node@v4 199 | with: 200 | node-version-file: ".nvmrc" 201 | cache: npm 202 | cache-dependency-path: ./scripts/deployment-test/package.json # no lockfile, key caching off package.json 203 | 204 | # some deployment targets require the latest version of npm 205 | # TODO: remove this eventually when the default version we get 206 | # is "latest" enough. 207 | - name: 📦 Install latest version of npm 208 | run: npm install -g npm@latest 209 | working-directory: ./scripts/deployment-test 210 | 211 | - name: 📥 Install deployment-test deps 212 | run: npm install 213 | working-directory: ./scripts/deployment-test 214 | 215 | - name: 🎈 Install the Fly CLI 216 | run: curl -L https://fly.io/install.sh | FLYCTL_INSTALL=/usr/local sh 217 | 218 | - name: 🚀 Deploy to Fly 219 | run: node ./fly.mjs 220 | working-directory: ./scripts/deployment-test 221 | env: 222 | FLY_API_TOKEN: ${{ secrets.TEST_FLY_TOKEN }} 223 | --------------------------------------------------------------------------------