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}"