mirror of
				https://code.forgejo.org/actions/cache.git
				synced 2025-11-03 22:09:10 +00:00 
			
		
		
		
	Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
		
			
				
	
	
		
			129 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Tests
 | 
						|
 | 
						|
on:
 | 
						|
  pull_request:
 | 
						|
    branches:
 | 
						|
      - main
 | 
						|
      - releases/**
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - main
 | 
						|
      - releases/**
 | 
						|
 | 
						|
jobs:
 | 
						|
  # Build and unit test
 | 
						|
  build:
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        os: [ubuntu-latest, windows-latest, macOS-latest]
 | 
						|
      fail-fast: false
 | 
						|
    runs-on: ${{ matrix.os }}
 | 
						|
    steps:
 | 
						|
    - name: Checkout
 | 
						|
      uses: actions/checkout@v4
 | 
						|
    - name: Setup Node.js 20.x
 | 
						|
      uses: actions/setup-node@v4
 | 
						|
      with:
 | 
						|
        node-version: 20.x
 | 
						|
        cache: npm
 | 
						|
    - 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, windows-latest, macOS-latest]
 | 
						|
      fail-fast: false
 | 
						|
    runs-on: ${{ matrix.os }}
 | 
						|
    steps:
 | 
						|
    - name: Checkout
 | 
						|
      uses: actions/checkout@v4
 | 
						|
    - 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, windows-latest, macOS-latest]
 | 
						|
      fail-fast: false
 | 
						|
    runs-on: ${{ matrix.os }}
 | 
						|
    steps:
 | 
						|
    - name: Checkout
 | 
						|
      uses: actions/checkout@v4
 | 
						|
    - 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: ubuntu/squid:latest
 | 
						|
        ports:
 | 
						|
          - 3128:3128
 | 
						|
    env:
 | 
						|
      https_proxy: http://squid-proxy:3128
 | 
						|
    steps:
 | 
						|
    - name: Checkout
 | 
						|
      uses: actions/checkout@v4
 | 
						|
    - 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: ubuntu/squid:latest
 | 
						|
        ports:
 | 
						|
          - 3128:3128
 | 
						|
    env:
 | 
						|
      https_proxy: http://squid-proxy:3128
 | 
						|
    steps:
 | 
						|
    - name: Checkout
 | 
						|
      uses: actions/checkout@v4
 | 
						|
    - 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
 |