Skip to content

Commit

Permalink
Merge pull request #268 from jonfairbanks/fixes/clean-up
Browse files Browse the repository at this point in the history
 Use node.js workflow template
  • Loading branch information
jonfairbanks authored Nov 11, 2024
2 parents 602942d + f13383e commit 314a2a9
Show file tree
Hide file tree
Showing 2 changed files with 91 additions and 91 deletions.
112 changes: 91 additions & 21 deletions .github/workflows/docker-build-develop.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,100 @@
name: Build Docker Image
name: "CI - Development"

on:
push:
branches:
- develop
- "develop"
env:
TERM: 'xterm'
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

jobs:
build:
node-lint:
name: Lint Node.js
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'

- name: Install dependencies
run: npm ci

- name: Lint Code
run: npm run lint

node-audit:
name: Critical Vulnerability Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Log in to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: jonfairbanks/yo:develop
- name: Checkout code
uses: actions/checkout@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'

- name: Install dependencies
run: npm ci

- name: Check for critical vulnerabilities
run: npm audit --audit-level=critical

docker-build:
name: Docker Build
needs: [node-lint, node-audit]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Define sha_short
id: vars
run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"

- name: Set up QEMU
id: setup-qemu
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3

- name: Cache Docker layers
uses: actions/cache@v4
with:
path: /tmp/.buildx-cache/${{ runner.os }}-${{ steps.setup-buildx.outputs.name }}-${{ hashFiles('**/Dockerfile') }}
key: ${{ runner.os }}-buildx-${{ steps.vars.outputs.sha_short }}-{{ hashFiles('**/Dockerfile') }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}

- name: Build & Push Base Image
id: docker_build
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: ./
platforms: linux/amd64,linux/arm64
file: ./Dockerfile
push: true
tags: ${{ github.repository }}:develop
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache

- name: Notify Slack
uses: act10ns/slack@v2
with:
status: ${{ job.status }}
steps: ${{ toJson(steps) }}
if: always()
70 changes: 0 additions & 70 deletions .github/workflows/terraform-aws-lambda-deploy.yml

This file was deleted.

0 comments on commit 314a2a9

Please sign in to comment.