Using [npm ci](https://docs.npmjs.com/cli/ci.html) keeps the builds reproducible. In this PR, we keep the nightly build en par with the [CI build workflow](https://github.com/microsoft/TypeScript/blob/master/.github/workflows/ci.yml#L33) as well as the [releasable package workflow](https://github.com/microsoft/TypeScript/blob/master/.github/workflows/release-branch-artifact.yaml#L24). The used package-lock.json is updated [an hour before this workflow](https://github.com/microsoft/TypeScript/blob/master/.github/workflows/update-package-lock.yaml#L7), there should not be any lockfile conflicts.
35 lines
767 B
YAML
35 lines
767 B
YAML
name: Publish Nightly
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 7 * * *'
|
|
# enable users to manually trigger with workflow_dispatch
|
|
workflow_dispatch: {}
|
|
repository_dispatch:
|
|
types: publish-nightly
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Use node version 12
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 12
|
|
registry-url: https://registry.npmjs.org/
|
|
- name: Setup and publish nightly
|
|
run: |
|
|
npm whoami
|
|
npm ci
|
|
gulp configure-nightly
|
|
gulp LKG
|
|
gulp runtests-parallel
|
|
gulp clean
|
|
npm publish --tag next
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
|
|
CI: true
|
|
|