steps: build: # Build and test image: node commands: - yarn install --frozen-lockfile - yarn build when: event: [ push, pull_request ] branch: [ hotfix/*, feature/*, renovate/*, develop, main ] lint: image: node commands: - yarn lint when: event: [ push, pull_request ] branch: [ hotfix/*, feature/*, renovate/*, develop, main ] test: image: node commands: - yarn test when: event: [ push, pull_request ] branch: [ hotfix/*, feature/*, renovate/*, develop, main ] # Package production build package_prod: image: node commands: - yarn package when: event: tag branch: main rsync_prod: image: alpine secrets: [ ssh_key ] commands: - apk add rsync openssh-client - eval `ssh-agent -s` - echo "$SSH_KEY" | tr -d '\r' | ssh-add - - rsync -e "ssh -o StrictHostKeyChecking=no" -r ./bin vylpes@192.168.68.120:/home/vylpes/apps/random-bunny/random-bunny_prod when: event: tag branch: main # Package stage build package_stage: image: node commands: - yarn package when: event: push branch: develop rsync_stage: image: alpine secrets: [ ssh_key ] commands: - apk add rsync openssh-client - eval `ssh-agent -s` - echo "$SSH_KEY" | tr -d '\r' | ssh-add - - rsync -e "ssh -o StrictHostKeyChecking=no" -r ./bin vylpes@192.168.68.120:/home/vylpes/apps/random-bunny/random-bunny_stage when: event: push branch: develop # Publish to NPM publish: image: plugins/npm settings: username: from_secret: NPM_USERNAME email: from_secret: NPM_EMAIL password: from_secret: NPM_PASSWORD api_key: from_secret: NPM_TOKEN when: event: tag branch: main