mirror of
				https://github.com/actions/cache.git
				synced 2025-11-04 15:48:39 +08:00 
			
		
		
		
	save state
This commit is contained in:
		
							parent
							
								
									0ad6d2d6f2
								
							
						
					
					
						commit
						f0457a10bc
					
				
							
								
								
									
										1
									
								
								.github/CODEOWNERS
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/CODEOWNERS
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
* @actions/artifacts-actions
 | 
					 | 
				
			||||||
							
								
								
									
										52
									
								
								.github/workflows/check-dist.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										52
									
								
								.github/workflows/check-dist.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1,52 +0,0 @@
 | 
				
			||||||
# `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@v2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Set Node.js 12.x
 | 
					 | 
				
			||||||
        uses: actions/setup-node@v1
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          node-version: 12.x
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Install dependencies
 | 
					 | 
				
			||||||
        run: npm ci
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Rebuild the dist/ directory
 | 
					 | 
				
			||||||
        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
 | 
					 | 
				
			||||||
        id: diff
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      # If index.js 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/
 | 
					 | 
				
			||||||
							
								
								
									
										52
									
								
								.github/workflows/codeql.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										52
									
								
								.github/workflows/codeql.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1,52 +0,0 @@
 | 
				
			||||||
name: "Code scanning - action"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
on:
 | 
					 | 
				
			||||||
  push:
 | 
					 | 
				
			||||||
  pull_request:
 | 
					 | 
				
			||||||
  schedule:
 | 
					 | 
				
			||||||
    - cron: '0 19 * * 0'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
  CodeQL-Build:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # CodeQL runs on ubuntu-latest and windows-latest
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
    - name: Checkout repository
 | 
					 | 
				
			||||||
      uses: actions/checkout@v2
 | 
					 | 
				
			||||||
      with:
 | 
					 | 
				
			||||||
        # We must fetch at least the immediate parents so that if this is
 | 
					 | 
				
			||||||
        # a pull request then we can checkout the head.
 | 
					 | 
				
			||||||
        fetch-depth: 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # If this run was triggered by a pull request event, then checkout
 | 
					 | 
				
			||||||
    # the head of the pull request instead of the merge commit.
 | 
					 | 
				
			||||||
    - run: git checkout HEAD^2
 | 
					 | 
				
			||||||
      if: ${{ github.event_name == 'pull_request' }}
 | 
					 | 
				
			||||||
      
 | 
					 | 
				
			||||||
    # Initializes the CodeQL tools for scanning.
 | 
					 | 
				
			||||||
    - name: Initialize CodeQL
 | 
					 | 
				
			||||||
      uses: github/codeql-action/init@v1
 | 
					 | 
				
			||||||
      # Override language selection by uncommenting this and choosing your languages
 | 
					 | 
				
			||||||
      # with:
 | 
					 | 
				
			||||||
      #   languages: go, javascript, csharp, python, cpp, java
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
 | 
					 | 
				
			||||||
    # If this step fails, then you should remove it and run the build manually (see below)
 | 
					 | 
				
			||||||
    - name: Autobuild
 | 
					 | 
				
			||||||
      uses: github/codeql-action/autobuild@v1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # ℹ️ Command-line programs to run using the OS shell.
 | 
					 | 
				
			||||||
    # 📚 https://git.io/JvXDl
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
 | 
					 | 
				
			||||||
    #    and modify them (or add more) to build your code if your project
 | 
					 | 
				
			||||||
    #    uses a compiled language
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    #- run: |
 | 
					 | 
				
			||||||
    #   make bootstrap
 | 
					 | 
				
			||||||
    #   make release
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    - name: Perform CodeQL Analysis
 | 
					 | 
				
			||||||
      uses: github/codeql-action/analyze@v1
 | 
					 | 
				
			||||||
							
								
								
									
										24
									
								
								.github/workflows/licensed.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								.github/workflows/licensed.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1,24 +0,0 @@
 | 
				
			||||||
name: Licensed
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
on:
 | 
					 | 
				
			||||||
  push:
 | 
					 | 
				
			||||||
    branches:
 | 
					 | 
				
			||||||
      - main
 | 
					 | 
				
			||||||
  pull_request:
 | 
					 | 
				
			||||||
    branches:
 | 
					 | 
				
			||||||
      - main
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
  test:
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    name: Check licenses
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - uses: actions/checkout@v2
 | 
					 | 
				
			||||||
      - run: npm ci
 | 
					 | 
				
			||||||
      - name: Install licensed
 | 
					 | 
				
			||||||
        run: |
 | 
					 | 
				
			||||||
          cd $RUNNER_TEMP
 | 
					 | 
				
			||||||
          curl -Lfs -o licensed.tar.gz https://github.com/github/licensed/releases/download/2.12.2/licensed-2.12.2-linux-x64.tar.gz
 | 
					 | 
				
			||||||
          sudo tar -xzf licensed.tar.gz
 | 
					 | 
				
			||||||
          sudo mv licensed /usr/local/bin/licensed
 | 
					 | 
				
			||||||
      - run: licensed status
 | 
					 | 
				
			||||||
							
								
								
									
										143
									
								
								.github/workflows/workflow.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										143
									
								
								.github/workflows/workflow.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1,143 +0,0 @@
 | 
				
			||||||
name: Tests
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
on:
 | 
					 | 
				
			||||||
  pull_request:
 | 
					 | 
				
			||||||
    branches:
 | 
					 | 
				
			||||||
      - main
 | 
					 | 
				
			||||||
      - releases/**
 | 
					 | 
				
			||||||
    paths-ignore:
 | 
					 | 
				
			||||||
      - '**.md'
 | 
					 | 
				
			||||||
  push:
 | 
					 | 
				
			||||||
    branches:
 | 
					 | 
				
			||||||
      - main
 | 
					 | 
				
			||||||
      - releases/**
 | 
					 | 
				
			||||||
    paths-ignore:
 | 
					 | 
				
			||||||
      - '**.md'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
  # Build and unit test
 | 
					 | 
				
			||||||
  build:
 | 
					 | 
				
			||||||
    strategy:
 | 
					 | 
				
			||||||
      matrix:
 | 
					 | 
				
			||||||
        os: [ubuntu-latest, ubuntu-16.04, windows-latest, macOS-latest]
 | 
					 | 
				
			||||||
      fail-fast: false
 | 
					 | 
				
			||||||
    runs-on: ${{ matrix.os }}
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
    - name: Checkout
 | 
					 | 
				
			||||||
      uses: actions/checkout@v2
 | 
					 | 
				
			||||||
    - name: Setup Node.js
 | 
					 | 
				
			||||||
      uses: actions/setup-node@v1
 | 
					 | 
				
			||||||
      with:
 | 
					 | 
				
			||||||
        node-version: '12.x'
 | 
					 | 
				
			||||||
    - name: Determine npm cache directory
 | 
					 | 
				
			||||||
      id: npm-cache
 | 
					 | 
				
			||||||
      run: |
 | 
					 | 
				
			||||||
        echo "::set-output name=dir::$(npm config get cache)"
 | 
					 | 
				
			||||||
    - name: Restore npm cache
 | 
					 | 
				
			||||||
      uses: actions/cache@v2
 | 
					 | 
				
			||||||
      with:
 | 
					 | 
				
			||||||
        path: ${{ steps.npm-cache.outputs.dir }}
 | 
					 | 
				
			||||||
        key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
 | 
					 | 
				
			||||||
        restore-keys: |
 | 
					 | 
				
			||||||
          ${{ runner.os }}-node-
 | 
					 | 
				
			||||||
    - run: npm ci
 | 
					 | 
				
			||||||
    - name: Prettier Format Check
 | 
					 | 
				
			||||||
      run: npm run format-check
 | 
					 | 
				
			||||||
    - name: ESLint Check
 | 
					 | 
				
			||||||
      run: npm run lint
 | 
					 | 
				
			||||||
    - name: Build & Test
 | 
					 | 
				
			||||||
      run: npm run test
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # End to end save and restore
 | 
					 | 
				
			||||||
  test-save:
 | 
					 | 
				
			||||||
    strategy:
 | 
					 | 
				
			||||||
      matrix:
 | 
					 | 
				
			||||||
        os: [ubuntu-latest, ubuntu-16.04, windows-latest, macOS-latest]
 | 
					 | 
				
			||||||
      fail-fast: false
 | 
					 | 
				
			||||||
    runs-on: ${{ matrix.os }}
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
    - name: Checkout
 | 
					 | 
				
			||||||
      uses: actions/checkout@v2
 | 
					 | 
				
			||||||
    - name: Generate files in working directory
 | 
					 | 
				
			||||||
      shell: bash
 | 
					 | 
				
			||||||
      run: __tests__/create-cache-files.sh ${{ runner.os }} test-cache
 | 
					 | 
				
			||||||
    - name: Generate files outside working directory
 | 
					 | 
				
			||||||
      shell: bash
 | 
					 | 
				
			||||||
      run: __tests__/create-cache-files.sh ${{ runner.os }} ~/test-cache
 | 
					 | 
				
			||||||
    - name: Save cache
 | 
					 | 
				
			||||||
      uses: ./
 | 
					 | 
				
			||||||
      with:
 | 
					 | 
				
			||||||
        key: test-${{ runner.os }}-${{ github.run_id }}
 | 
					 | 
				
			||||||
        path: |
 | 
					 | 
				
			||||||
          test-cache
 | 
					 | 
				
			||||||
          ~/test-cache
 | 
					 | 
				
			||||||
  test-restore:
 | 
					 | 
				
			||||||
    needs: test-save
 | 
					 | 
				
			||||||
    strategy:
 | 
					 | 
				
			||||||
      matrix:
 | 
					 | 
				
			||||||
        os: [ubuntu-latest, ubuntu-16.04, windows-latest, macOS-latest]
 | 
					 | 
				
			||||||
      fail-fast: false
 | 
					 | 
				
			||||||
    runs-on: ${{ matrix.os }}
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
    - name: Checkout
 | 
					 | 
				
			||||||
      uses: actions/checkout@v2
 | 
					 | 
				
			||||||
    - name: Restore cache
 | 
					 | 
				
			||||||
      uses: ./
 | 
					 | 
				
			||||||
      with:
 | 
					 | 
				
			||||||
        key: test-${{ runner.os }}-${{ github.run_id }}
 | 
					 | 
				
			||||||
        path: |
 | 
					 | 
				
			||||||
          test-cache
 | 
					 | 
				
			||||||
          ~/test-cache
 | 
					 | 
				
			||||||
    - name: Verify cache files in working directory
 | 
					 | 
				
			||||||
      shell: bash
 | 
					 | 
				
			||||||
      run: __tests__/verify-cache-files.sh ${{ runner.os }} test-cache
 | 
					 | 
				
			||||||
    - name: Verify cache files outside working directory
 | 
					 | 
				
			||||||
      shell: bash
 | 
					 | 
				
			||||||
      run: __tests__/verify-cache-files.sh ${{ runner.os }} ~/test-cache
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # End to end with proxy
 | 
					 | 
				
			||||||
  test-proxy-save:
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    container:
 | 
					 | 
				
			||||||
      image: ubuntu:latest
 | 
					 | 
				
			||||||
      options: --dns 127.0.0.1
 | 
					 | 
				
			||||||
    services:
 | 
					 | 
				
			||||||
      squid-proxy:
 | 
					 | 
				
			||||||
        image: datadog/squid:latest
 | 
					 | 
				
			||||||
        ports:
 | 
					 | 
				
			||||||
          - 3128:3128
 | 
					 | 
				
			||||||
    env:
 | 
					 | 
				
			||||||
      https_proxy: http://squid-proxy:3128
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
    - name: Checkout
 | 
					 | 
				
			||||||
      uses: actions/checkout@v2
 | 
					 | 
				
			||||||
    - name: Generate files
 | 
					 | 
				
			||||||
      run: __tests__/create-cache-files.sh proxy test-cache
 | 
					 | 
				
			||||||
    - name: Save cache
 | 
					 | 
				
			||||||
      uses: ./
 | 
					 | 
				
			||||||
      with:
 | 
					 | 
				
			||||||
        key: test-proxy-${{ github.run_id }}
 | 
					 | 
				
			||||||
        path: test-cache
 | 
					 | 
				
			||||||
  test-proxy-restore:
 | 
					 | 
				
			||||||
    needs: test-proxy-save
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    container:
 | 
					 | 
				
			||||||
      image: ubuntu:latest
 | 
					 | 
				
			||||||
      options: --dns 127.0.0.1
 | 
					 | 
				
			||||||
    services:
 | 
					 | 
				
			||||||
      squid-proxy:
 | 
					 | 
				
			||||||
        image: datadog/squid:latest
 | 
					 | 
				
			||||||
        ports:
 | 
					 | 
				
			||||||
          - 3128:3128
 | 
					 | 
				
			||||||
    env:
 | 
					 | 
				
			||||||
      https_proxy: http://squid-proxy:3128
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
    - name: Checkout
 | 
					 | 
				
			||||||
      uses: actions/checkout@v2
 | 
					 | 
				
			||||||
    - name: Restore cache
 | 
					 | 
				
			||||||
      uses: ./
 | 
					 | 
				
			||||||
      with:
 | 
					 | 
				
			||||||
        key: test-proxy-${{ github.run_id }}
 | 
					 | 
				
			||||||
        path: test-cache
 | 
					 | 
				
			||||||
    - name: Verify cache
 | 
					 | 
				
			||||||
      run: __tests__/verify-cache-files.sh proxy test-cache
 | 
					 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user