mirror of
				https://github.com/theoludwig/programming-challenges.git
				synced 2025-09-11 23:11:21 +02:00 
			
		
		
		
	feat: rewrite programming-challenges CLI (#3)
This commit is contained in:
		
							
								
								
									
										111
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,111 @@
 | 
			
		||||
name: 'ci'
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    branches: [master]
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches: [master]
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  lint:
 | 
			
		||||
    runs-on: 'ubuntu-latest'
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: 'actions/checkout@v2'
 | 
			
		||||
 | 
			
		||||
      - name: 'Use Node.js'
 | 
			
		||||
        uses: 'actions/setup-node@v2.1.5'
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: '16.x'
 | 
			
		||||
 | 
			
		||||
      - name: 'Cache dependencies'
 | 
			
		||||
        uses: 'actions/cache@v2.1.6'
 | 
			
		||||
        with:
 | 
			
		||||
          path: '.npm'
 | 
			
		||||
          key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
 | 
			
		||||
 | 
			
		||||
      - name: 'Install'
 | 
			
		||||
        run: 'npm ci --cache .npm --prefer-offline'
 | 
			
		||||
 | 
			
		||||
      - run: 'npm run lint:commit -- --to "${{ github.sha }}"'
 | 
			
		||||
      - run: 'npm run lint:editorconfig'
 | 
			
		||||
      - run: 'npm run lint:markdown'
 | 
			
		||||
      - run: 'npm run lint:typescript'
 | 
			
		||||
 | 
			
		||||
  build:
 | 
			
		||||
    runs-on: 'ubuntu-latest'
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: 'actions/checkout@v2'
 | 
			
		||||
 | 
			
		||||
      - name: 'Use Node.js'
 | 
			
		||||
        uses: 'actions/setup-node@v2.1.5'
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: '16.x'
 | 
			
		||||
 | 
			
		||||
      - name: 'Cache dependencies'
 | 
			
		||||
        uses: 'actions/cache@v2.1.6'
 | 
			
		||||
        with:
 | 
			
		||||
          path: '.npm'
 | 
			
		||||
          key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
 | 
			
		||||
 | 
			
		||||
      - name: 'Install'
 | 
			
		||||
        run: 'npm ci --cache .npm --prefer-offline'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      - name: 'Build'
 | 
			
		||||
        run: 'npm run build'
 | 
			
		||||
 | 
			
		||||
  test:
 | 
			
		||||
    runs-on: 'ubuntu-latest'
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: 'actions/checkout@v2'
 | 
			
		||||
 | 
			
		||||
      - name: 'Use Node.js'
 | 
			
		||||
        uses: 'actions/setup-node@v2.1.5'
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: '16.x'
 | 
			
		||||
 | 
			
		||||
      - name: 'Cache dependencies'
 | 
			
		||||
        uses: 'actions/cache@v2.1.6'
 | 
			
		||||
        with:
 | 
			
		||||
          path: '.npm'
 | 
			
		||||
          key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
 | 
			
		||||
 | 
			
		||||
      - name: 'Install'
 | 
			
		||||
        run: 'npm ci --cache .npm --prefer-offline'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      - name: 'Test'
 | 
			
		||||
        run: 'npm run test'
 | 
			
		||||
 | 
			
		||||
  challenges:
 | 
			
		||||
    runs-on: 'ubuntu-latest'
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: 'actions/checkout@v2'
 | 
			
		||||
 | 
			
		||||
      - name: 'Use Docker'
 | 
			
		||||
        uses: 'actions-hub/docker/cli@master'
 | 
			
		||||
        env:
 | 
			
		||||
          SKIP_LOGIN: true
 | 
			
		||||
 | 
			
		||||
      - name: 'Use Node.js'
 | 
			
		||||
        uses: 'actions/setup-node@v2.1.5'
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: '16.x'
 | 
			
		||||
 | 
			
		||||
      - name: 'Cache dependencies'
 | 
			
		||||
        uses: 'actions/cache@v2.1.6'
 | 
			
		||||
        with:
 | 
			
		||||
          path: '.npm'
 | 
			
		||||
          key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
 | 
			
		||||
 | 
			
		||||
      - name: 'Install'
 | 
			
		||||
        run: 'npm ci --cache .npm --prefer-offline'
 | 
			
		||||
 | 
			
		||||
      - name: 'Build'
 | 
			
		||||
        run: 'npm run build'
 | 
			
		||||
 | 
			
		||||
      - name: 'Install programming-challenges'
 | 
			
		||||
        run: 'npm install --global'
 | 
			
		||||
 | 
			
		||||
      - name: 'Test'
 | 
			
		||||
        run: 'programming-challenges run test --affected'
 | 
			
		||||
		Reference in New Issue
	
	Block a user