RSS Git Download  Clone
Raw Blame History
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions

name: build

on:
    schedule:
        - cron: '0 0 1 * *'
    push:
        branches: [ master, docker-buildx ]
    pull_request:
        branches: [ master ]

jobs:
    build:

        runs-on: ubuntu-latest

        strategy:
            matrix:
                node-version: ['lts/*']
                # See supported Node.js release schedule at https://nodejs.org/en/about/releases/

        steps:
            - uses: actions/checkout@v2
            - name: Use Node.js ${{ matrix.node-version }}
              uses: actions/setup-node@v2
              with:
                  node-version: ${{ matrix.node-version }}
            - run: npm i -g grunt-cli
            - run: npm install
            - run: grunt
    deploy-image:

        runs-on: ubuntu-latest

        needs: [ build ]

        steps:
            - name: Checkout
              uses: actions/checkout@v2
            - name: get-npm-version
              id: package-version
              uses: martinbeentjes/npm-get-version-action@main
            - name: Set up QEMU
              uses: docker/setup-qemu-action@v2
            - name: Set up Docker Buildx
              uses: docker/setup-buildx-action@v2
            - name: Login to Docker Hub
              uses: docker/login-action@v2
              with:
                  username: ${{ secrets.DOCKERHUB_USERNAME }}
                  password: ${{ secrets.DOCKERHUB_TOKEN }}
            - name: Build Image
              run: |
                docker buildx build . \
                    --platform linux/amd64,linux/arm64,linux/arm/v7 \
                    -t bi0416/p3x-redis-ui:latest \
                    -t bi0416/p3x-redis-ui:$version \
                    --push
              env:
                  version: ${{ steps.package-version.outputs.current-version}}