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 with: key: node_modules - name: Install dependencies run: npm install - name: Cache node_modules uses: ztimson/actions/cache@develop with: key: node_modules pattern: node_modules/* build-dev: name: Build needs: 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 with: key: node_modules - run: ls node_modules - name: Build sources run: npm run build:dev build-prod: name: Build production needs: dependencies container: node:latest steps: - name: Checkout repository uses: ztimson/actions/git/checkout@develop - name: Restore cache uses: ztimson/actions/cache/restore@develop with: key: node_modules - name: Build sources run: npm run build: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}}