fix windows npm cache issue #220
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: deploy | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches: | |
| - 'main' | |
| pull_request: {} | |
| jobs: | |
| setup: | |
| name: 🔧 Setup | |
| timeout-minutes: 10 | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: ⎔ Setup node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| - name: ▶️ Add repo | |
| run: | | |
| npx --yes epicshop@latest add ${{ github.event.repository.name }} ./workshop | |
| env: | |
| # Kept getting npm ECOMPROMISED errors on windows. This fixed it. | |
| npm_config_cache: ${{ runner.temp }}/npm-cache | |
| - name: ʦ TypeScript | |
| run: npm run typecheck | |
| working-directory: ./workshop | |
| - name: ⬣ ESLint | |
| run: npm run lint | |
| working-directory: ./workshop | |
| tests: | |
| name: 🧪 Test | |
| timeout-minutes: 10 | |
| runs-on: ubuntu-latest | |
| # Use continue-on-error to ensure this job doesn't fail the workflow | |
| continue-on-error: true | |
| steps: | |
| - name: ⬇️ Checkout repo | |
| uses: actions/checkout@v4 | |
| - name: ⎔ Setup node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| - name: 📦 Install dependencies | |
| run: npm ci | |
| - name: 🧪 Run tests | |
| id: run_tests | |
| run: node ./epicshop/test.js ..s | |
| deploy: | |
| name: 🚀 Deploy | |
| timeout-minutes: 10 | |
| runs-on: ubuntu-latest | |
| # only deploy main branch on pushes on non-forks | |
| if: | |
| ${{ github.ref == 'refs/heads/main' && github.event_name == 'push' && | |
| github.repository_owner == 'epicweb-dev' }} | |
| steps: | |
| - name: ⬇️ Checkout repo | |
| uses: actions/checkout@v4 | |
| - name: 🎈 Setup Fly | |
| uses: superfly/flyctl-actions/setup-flyctl@1.5 | |
| - name: 🚀 Deploy | |
| run: | |
| flyctl deploy --remote-only --build-arg | |
| EPICSHOP_GITHUB_REPO=https://github.com/${{ github.repository }} | |
| --build-arg EPICSHOP_COMMIT_SHA=${{ github.sha }} | |
| working-directory: ./epicshop | |
| env: | |
| FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} |