File: sync-branch.yaml

package info (click to toggle)
node-typescript 5.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 497,488 kB
  • sloc: javascript: 2,107,274; makefile: 6; sh: 1
file content (44 lines) | stat: -rw-r--r-- 1,165 bytes parent folder | download
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
name: Sync branch with master

on:
  repository_dispatch:
    types: sync-branch
  workflow_dispatch:
    inputs:
      branch_name:
        description: 'Target Branch Name'
        required: true

permissions:
  contents: read

# Ensure scripts are run with pipefail. See:
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference
defaults:
  run:
    shell: bash

jobs:
  build:
    runs-on: ubuntu-latest

    permissions:
      contents: write

    steps:
    - uses: actions/setup-node@v3
    - uses: actions/checkout@v3
      with:
        ref: ${{ github.event.inputs.branch_name || github.event.client_payload.branch_name }}
        fetch-depth: 0
    # This does a test post-merge and only pushes the result if the test succeeds
    # required client_payload members:
    # branch_name - the target branch
    - run: |
        git config user.email "typescriptbot@microsoft.com"
        git config user.name "TypeScript Bot"
        git fetch origin main
        git merge origin/main --no-ff
        npm ci
        npm test
        git push