mirror of
				https://github.com/actions/checkout.git
				synced 2025-11-04 12:03:35 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# `dist/index.js` is a special file in Actions.
 | 
						|
# When you reference an action with `uses:` in a workflow,
 | 
						|
# `index.js` is the code that will run.
 | 
						|
# For our project, we generate this file through a build process
 | 
						|
# from other source files.
 | 
						|
# We need to make sure the checked-in `index.js` actually matches what we expect it to be.
 | 
						|
name: Check dist
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - main
 | 
						|
    paths-ignore:
 | 
						|
      - '**.md'
 | 
						|
  pull_request:
 | 
						|
    paths-ignore:
 | 
						|
      - '**.md'
 | 
						|
  workflow_dispatch:
 | 
						|
 | 
						|
jobs:
 | 
						|
  check-dist:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v3
 | 
						|
 | 
						|
      - name: Set Node.js 16.x
 | 
						|
        uses: actions/setup-node@v1
 | 
						|
        with:
 | 
						|
          node-version: 16.x
 | 
						|
 | 
						|
      - name: Install dependencies
 | 
						|
        run: npm ci
 | 
						|
 | 
						|
      - name: Rebuild the index.js file
 | 
						|
        run: npm run build
 | 
						|
 | 
						|
      - name: Compare the expected and actual dist/ directories
 | 
						|
        run: |
 | 
						|
          if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then
 | 
						|
            echo "Detected uncommitted changes after build.  See status below:"
 | 
						|
            git diff
 | 
						|
            exit 1
 | 
						|
          fi
 | 
						|
 | 
						|
      # If dist/ was different than expected, upload the expected version as an artifact
 | 
						|
      - uses: actions/upload-artifact@v2
 | 
						|
        if: ${{ failure() && steps.diff.conclusion == 'failure' }}
 | 
						|
        with:
 | 
						|
          name: dist
 | 
						|
          path: dist/
 |