aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/nightly.yml
blob: edd351f7b2a85ade355dd927bbfdc22eef0cd3c9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
name: 'Nightly'

on:
  schedule:
    # * is a special character in YAML so you have to quote this string
    - cron:  '0 12 * * *'
  workflow_dispatch:

jobs:
  stat:
    if: github.repository_owner == 'withastro'
    runs-on: ubuntu-latest
    steps:
      - name: Check out code using Git
        uses: actions/checkout@v2
      - name: Set Node version to 16
        uses: actions/setup-node@v2
        with:
          node-version: 16
          cache: 'yarn'
      - name: Install dependencies
        run: yarn install --frozen-lockfile --ignore-engines --ignore-scripts
      - name: Collect stats
        run: node scripts/stats/index.js
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - name: Commit changes
        uses: stefanzweifel/git-auto-commit-action@v4
        with:
          commit_message: '[ci] collect stats'
          branch: ${{ github.head_ref }}

  lockfile:
    if: github.repository_owner == 'withastro'
    runs-on: ubuntu-latest
    steps:
      
      - name: Check out code using Git
        uses: actions/checkout@v2
      
      - name: Set Node version to 16
        uses: actions/setup-node@v2
        with:
          node-version: 16
          cache: 'yarn'
      
      - name: Clear lockfile
        run: rm -rf yarn.lock node_modules 
      
      - name: Install dependencies
        run: yarn install --ignore-engines --ignore-scripts
      
      - name: Create Pull Request
        id: createpr
        uses: peter-evans/create-pull-request@v3
        with:
          token: ${{ secrets.NIGHTLY_PERSONAL_GITHUB_TOKEN }}
          commit-message: '[ci] update lockfile'
          title: '[ci] update lockfile'
          body: >
            This PR is auto-generated by a nightly GitHub action. 
            It should automatically be merged if tests pass.
      
      - name: Mark Pull Request for Auto-Merge
        if: steps.createpr.outputs.pull-request-operation == 'created'
        uses: peter-evans/enable-pull-request-automerge@v1
        with:
          token: ${{ secrets.NIGHTLY_PERSONAL_GITHUB_TOKEN }}
          pull-request-number: ${{ steps.createpr.outputs.pull-request-number }}
          merge-method: squash