90 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Continues Integration
 | 
						|
on: [push, workflow_dispatch]
 | 
						|
 | 
						|
jobs:
 | 
						|
  dependencies:
 | 
						|
    name: Install dependencies
 | 
						|
    container:
 | 
						|
      image: node:latest
 | 
						|
      volumes:
 | 
						|
        - /mnt/swarm/gitea/runner/cache:/cache
 | 
						|
    steps:
 | 
						|
 | 
						|
      - name: Checkout repository
 | 
						|
        uses: ztimson/actions/git/checkout@develop
 | 
						|
 | 
						|
      - name: Restore cache
 | 
						|
        uses: ztimson/actions/cache/restore@develop
 | 
						|
 | 
						|
      - name: Install dependencies
 | 
						|
        run: npm install
 | 
						|
 | 
						|
      - name: Cache node_modules
 | 
						|
        uses: ztimson/actions/cache/store@develop
 | 
						|
        with:
 | 
						|
          pattern: node_modules/*
 | 
						|
 | 
						|
  build-dev:
 | 
						|
    name: Build
 | 
						|
    needs: dependencies
 | 
						|
    container: git.zakscode.com/ztimson/runner
 | 
						|
    steps:
 | 
						|
 | 
						|
      - name: Checkout repository
 | 
						|
        uses: ztimson/actions/git/checkout@develop
 | 
						|
 | 
						|
      - name: Restore node_modules
 | 
						|
        uses: actions/cache/restore@v3
 | 
						|
        with:
 | 
						|
          path: node_modules
 | 
						|
          key: ${{runner.os}}-node_modules
 | 
						|
 | 
						|
      - name: Build sources
 | 
						|
        run: npm run build:dev
 | 
						|
 | 
						|
      - name: Cache build artifacts
 | 
						|
        uses: actions/cache/save@v3
 | 
						|
        with:
 | 
						|
          path: ./dist
 | 
						|
          key: dist-dev
 | 
						|
 | 
						|
  build-prod:
 | 
						|
    name: Build production
 | 
						|
    needs: dependencies
 | 
						|
    container: git.zakscode.com/ztimson/runner
 | 
						|
    steps:
 | 
						|
 | 
						|
      - name: Checkout repository
 | 
						|
        uses: actions/checkout@v3
 | 
						|
 | 
						|
      - name: Restore node_modules
 | 
						|
        uses: actions/cache/restore@v3
 | 
						|
        with:
 | 
						|
          path: node_modules
 | 
						|
          key: ${{runner.os}}-node_modules
 | 
						|
 | 
						|
      - name: Build sources
 | 
						|
        run: npm run build:prod
 | 
						|
 | 
						|
      - name: Cache build artifacts
 | 
						|
        uses: actions/cache/save@v3
 | 
						|
        with:
 | 
						|
          path: ./dist
 | 
						|
          key: dist-prod
 | 
						|
 | 
						|
  docker:
 | 
						|
    name: Build docker image
 | 
						|
    container: docker
 | 
						|
    steps:
 | 
						|
 | 
						|
      - name: Checkout repository
 | 
						|
        uses: ztimson/actions/git/checkout@develop
 | 
						|
 | 
						|
      - name: Build docker image
 | 
						|
        uses: ztimson/actions/docker/build@develop
 | 
						|
 | 
						|
      - name: Push docker image
 | 
						|
        uses: ztimson/actions/docker/push@develop
 | 
						|
        with:
 | 
						|
          registry_pass: ${{secrets.DEPLOY_TOKEN}}
 |