mirror of
https://github.com/Wolvan/poll.horse.git
synced 2024-11-24 13:47:59 +01:00
Add tests and automatic image publishing
A couple of github action files have been added that (hopefully) run tests and CI for the docker images on push to dev and master.
This commit is contained in:
parent
fbd4dbdc6c
commit
af8163541a
5 changed files with 139 additions and 0 deletions
|
@ -2,6 +2,7 @@
|
|||
**/.dockerignore
|
||||
**/.env
|
||||
**/.git
|
||||
**/.github
|
||||
**/.gitignore
|
||||
**/.project
|
||||
**/.settings
|
||||
|
|
7
.github/dependabot.yml
vendored
Normal file
7
.github/dependabot.yml
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
version: 2
|
||||
updates:
|
||||
# Maintain dependencies for GitHub Actions
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
51
.github/workflows/docker-image-dev.yml
vendored
Normal file
51
.github/workflows/docker-image-dev.yml
vendored
Normal file
|
@ -0,0 +1,51 @@
|
|||
name: Docker Dev Image CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ dev ]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Checkout the Repo
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# Install Node 16
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
# Avoid running prepublish script
|
||||
- run: npm set-script prepublish ""
|
||||
|
||||
# Install dependencies
|
||||
- run: npm install
|
||||
|
||||
# Run tests
|
||||
- run: npm test
|
||||
|
||||
build:
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
-
|
||||
name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_HUB_TOKEN }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
push: true
|
||||
tags: wolvan/poll.horse:dev
|
52
.github/workflows/docker-image-master.yml
vendored
Normal file
52
.github/workflows/docker-image-master.yml
vendored
Normal file
|
@ -0,0 +1,52 @@
|
|||
name: Docker Image CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Checkout the Repo
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# Install Node 16
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
# Avoid running prepublish script
|
||||
- run: npm set-script prepublish ""
|
||||
|
||||
# Install dependencies
|
||||
- run: npm install
|
||||
|
||||
# Run tests
|
||||
- run: npm test
|
||||
|
||||
build:
|
||||
if: startsWith(github.event.ref, 'refs/tags')
|
||||
needs: test
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
-
|
||||
name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_HUB_TOKEN }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
push: true
|
||||
tags: wolvan/poll.horse:latest
|
28
.github/workflows/run-tests.yml
vendored
Normal file
28
.github/workflows/run-tests.yml
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
name: Run tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ dev, master ]
|
||||
pull_request:
|
||||
branches: [ dev ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [10.x, 12.x, 14.x, 15.x, 16.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Install dependencies
|
||||
run: npm set-script prepublish ""
|
||||
- run: npm ci
|
||||
- run: npm run build --if-present
|
||||
- run: npm test
|
Loading…
Reference in a new issue