**Investigation:** - According to [here](https://github.com/microsoft/playwright/actions/runs/8351676198), the job got cancelled, because someone force-pushed and another commit took priority. - We have `if: always()` for uploading the blobs, even if they are cancelled. We expect, that the task before (`npx playwright test`) finished writing the blob, but it didn't - cancelled in between. We still upload - a broken one. - We download the broken zip and it breaks from there on. Proposed change: Instead of uploading always, upload if it did not get cancelled. Quoting from the GitHub Actions docs about `always()`: > Warning: Avoid using always for any task that could suffer from a critical failure, for example: getting sources, otherwise the workflow may hang until it times out. If you want to run a job or step regardless of its success or failure, use the recommended alternative: if: `${{ !cancelled() }}` This is phase 1/2 where it changes our code to use this new condition. The actual roll-out happens once it works for us. Relates https://github.com/microsoft/playwright/issues/29451
35 lines
886 B
YAML
35 lines
886 B
YAML
name: "publish release - NPM"
|
||
|
||
on:
|
||
release:
|
||
types: [published]
|
||
|
||
env:
|
||
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
|
||
|
||
jobs:
|
||
publish-npm-release:
|
||
name: "publish to NPM"
|
||
runs-on: ubuntu-20.04
|
||
if: github.repository == 'microsoft/playwright'
|
||
permissions:
|
||
contents: read
|
||
id-token: write
|
||
steps:
|
||
- uses: actions/checkout@v4
|
||
- uses: actions/setup-node@v4
|
||
with:
|
||
node-version: 18
|
||
registry-url: 'https://registry.npmjs.org'
|
||
- run: npm ci
|
||
- run: npm run build
|
||
- run: npx playwright install-deps
|
||
- run: utils/publish_all_packages.sh --release-candidate
|
||
if: ${{ github.event.release.prerelease }}
|
||
env:
|
||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||
- run: utils/publish_all_packages.sh --release
|
||
if: ${{ !github.event.release.prerelease }}
|
||
env:
|
||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|