nativefier/.github/workflows/publish.yml

52 lines
1.7 KiB
YAML

name: publish
on:
release:
types:
- created
jobs:
playwright:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1 # Setup .npmrc file to publish to npm
with:
node-version: '19' # Align the version of Node here with ci.yml.
registry-url: 'https://registry.npmjs.org'
- run: npm ci --no-fund # Will also (via `prepare` hook): 1. install ./app, 2. build
- run: npm run test:playwright
timeout-minutes: 5
build:
needs: playwright
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1 # Setup .npmrc file to publish to npm
with:
node-version: '19' # Align the version of Node here with ci.yml.
registry-url: 'https://registry.npmjs.org'
- run: npm ci --no-fund # Will also (via `prepare` hook): 1. install ./app, 2. build
- run: npm run test:noplaywright
- run: npm run lint
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
docker:
needs: [ playwright, build ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build Docker image
run: docker build . --file Dockerfile --tag "nativefier/nativefier:latest"
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Tag and push Docker image
run: |
docker tag "nativefier/nativefier:latest" "nativefier/nativefier:${GITHUB_REF_NAME}"
docker push "nativefier/nativefier:latest"
docker push "nativefier/nativefier:${GITHUB_REF_NAME}"