feat: use npm
instead of yarn
(#3447)
#1625
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Docker Release | |
on: | |
push: | |
branches: | |
- master | |
tags-ignore: # prevents to run duplicated on releases | |
- '**' | |
release: | |
types: | |
- created | |
jobs: | |
build-push: | |
permissions: | |
packages: write | |
contents: read | |
runs-on: ubuntu-latest | |
steps: | |
- uses: catchpoint/workflow-telemetry-action@v1 | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: 'npm' | |
- uses: docker/setup-buildx-action@v3 | |
- uses: docker/setup-qemu-action@v3 | |
- name: Login to dockerhub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Login to Github Packages | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Create Docker Meta | |
id: docker_meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: zwavejs/zwave-js-ui,ghcr.io/zwave-js/zwave-js-ui | |
tags: | | |
type=semver,pattern={{version}} | |
type=semver,pattern={{major}}.{{minor}} | |
type=semver,pattern={{major}} | |
type=sha | |
type=ref,event=branch | |
labels: | | |
org.opencontainers.image.vendor=zwave-js | |
org.opencontainers.image.documentation=https://zwave-js.github.io/zwave-js-ui | |
org.opencontainers.image.authors=Daniel Lando <[email protected]> | |
maintainer=robertsLando | |
- name: Create Docker Meta for zwavejs2mqtt | |
id: docker_meta2 | |
uses: docker/metadata-action@v5 | |
with: | |
images: zwavejs/zwavejs2mqtt | |
tags: | | |
type=semver,pattern={{version}} | |
type=semver,pattern={{major}}.{{minor}} | |
type=semver,pattern={{major}} | |
type=sha | |
type=ref,event=branch | |
labels: | | |
org.opencontainers.image.vendor=zwave-js | |
org.opencontainers.image.documentation=https://zwave-js.github.io/zwave-js-ui | |
org.opencontainers.image.authors=Daniel Lando <[email protected]> | |
maintainer=robertsLando | |
- name: Pre-build frontend and backend files | |
run: | | |
npm ci | |
npm run build | |
- name: build+push | |
timeout-minutes: 120 # prevents this to run indeterminatly | |
uses: docker/build-push-action@v5 | |
with: | |
platforms: linux/arm64,linux/amd64,linux/arm/v6,linux/arm/v7 | |
file: docker/Dockerfile | |
context: . # without this it will clone master branch instead of using local | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
push: true | |
tags: ${{ steps.docker_meta.outputs.tags }} | |
labels: ${{ steps.docker_meta.outputs.labels }} | |
- name: build+push zwavejs2mqtt | |
timeout-minutes: 120 | |
uses: docker/build-push-action@v5 | |
with: | |
platforms: linux/arm64,linux/amd64,linux/arm/v6,linux/arm/v7 | |
file: docker/Dockerfile | |
context: . # without this it will clone master branch instead of using local | |
cache-from: type=gha | |
build-args: | | |
image=zwavejs2mqtt | |
cache-to: type=gha,mode=max | |
push: true | |
tags: ${{ steps.docker_meta2.outputs.tags }} | |
labels: ${{ steps.docker_meta2.outputs.labels }} |