2020-12-02 19:13:11 +00:00
|
|
|
name: ci
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
2020-12-02 19:19:46 +00:00
|
|
|
branches: [ main ]
|
2020-12-02 19:13:11 +00:00
|
|
|
pull_request:
|
2020-12-02 19:19:46 +00:00
|
|
|
branches: [ main ]
|
2020-12-02 20:52:43 +00:00
|
|
|
# build weekly for fresh base docker image
|
|
|
|
schedule:
|
|
|
|
- cron: '30 4 * * 1'
|
|
|
|
|
2020-12-02 19:13:11 +00:00
|
|
|
jobs:
|
|
|
|
test_build_push:
|
2020-12-02 20:52:43 +00:00
|
|
|
name: ci - test, build, push
|
2020-12-02 19:13:11 +00:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
strategy:
|
|
|
|
matrix:
|
2022-09-17 14:22:58 +00:00
|
|
|
node-version: [18.x]
|
2020-12-02 19:13:11 +00:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Check out the repo
|
2022-03-07 08:03:32 +00:00
|
|
|
uses: actions/checkout@v3
|
2020-12-02 19:13:11 +00:00
|
|
|
|
2020-12-02 20:52:43 +00:00
|
|
|
- name: Docker meta
|
|
|
|
id: docker_meta
|
2022-05-09 08:03:05 +00:00
|
|
|
uses: docker/metadata-action@v4
|
2020-12-02 20:52:43 +00:00
|
|
|
with:
|
|
|
|
images: michaelwoods/onstar2mqtt
|
2021-06-11 14:35:58 +00:00
|
|
|
flavor: |
|
|
|
|
latest=true
|
2021-06-11 00:23:02 +00:00
|
|
|
tags: |
|
2021-06-11 14:28:53 +00:00
|
|
|
type=ref,event=branch
|
2021-06-11 00:23:02 +00:00
|
|
|
type=schedule,pattern=weekly
|
2020-12-02 20:52:43 +00:00
|
|
|
|
2020-12-02 19:13:11 +00:00
|
|
|
- name: Use Node.js ${{ matrix.node-version }}
|
2022-02-28 08:03:14 +00:00
|
|
|
uses: actions/setup-node@v3
|
2020-12-02 19:13:11 +00:00
|
|
|
with:
|
|
|
|
node-version: ${{ matrix.node-version }}
|
|
|
|
- run: npm ci
|
|
|
|
- run: npm run build --if-present
|
2021-06-11 03:44:31 +00:00
|
|
|
- run: npm run lint
|
2020-12-02 19:13:11 +00:00
|
|
|
- run: npm test
|
2020-12-02 19:23:59 +00:00
|
|
|
|
|
|
|
- name: Set up QEMU
|
2022-10-17 08:06:29 +00:00
|
|
|
uses: docker/setup-qemu-action@v2.1.0
|
2020-12-02 19:23:59 +00:00
|
|
|
- name: Set up Docker Buildx
|
2022-05-19 15:17:15 +00:00
|
|
|
uses: docker/setup-buildx-action@v2
|
2020-12-02 19:23:59 +00:00
|
|
|
- name: Login to DockerHub
|
2020-12-02 20:52:43 +00:00
|
|
|
if: github.event_name != 'pull_request'
|
2022-05-09 08:03:01 +00:00
|
|
|
uses: docker/login-action@v2
|
2020-12-02 19:23:59 +00:00
|
|
|
with:
|
2020-12-02 19:30:02 +00:00
|
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
2020-12-02 21:18:46 +00:00
|
|
|
- name: Push to DockerHub
|
2022-05-09 08:02:59 +00:00
|
|
|
uses: docker/build-push-action@v3
|
2020-12-02 19:23:59 +00:00
|
|
|
with:
|
2022-01-02 01:54:25 +00:00
|
|
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
2020-12-02 20:52:43 +00:00
|
|
|
push: ${{ github.event_name != 'pull_request' }}
|
|
|
|
tags: ${{ steps.docker_meta.outputs.tags }}
|
2022-09-17 14:22:58 +00:00
|
|
|
labels: ${{ steps.docker_meta.outputs.labels }}
|