Bump node from 20.6.0-bullseye-slim to 23.3.0-bullseye-slim #263
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: Build and publish to Github Container Registry | |
on: | |
push: | |
branches: [ main ] | |
tags: [ 'v*.*.*' ] | |
pull_request: | |
branches: | |
- main | |
env: | |
REGISTRY: ghcr.io | |
IMAGE_NAME: ${{ github.repository }} | |
jobs: | |
lint: | |
name: Lint code | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: ⬇️ Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install Node.js | |
uses: actions/setup-node@v4 | |
with: | |
cache: npm | |
cache-dependency-path: ./package.json | |
node-version: 20 | |
- name: Install project dependencies | |
run: npm install | |
- name: 🔬 Lint | |
run: npm run lint:ci | |
test: | |
name: Run tests | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: ⬇️ Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install Node.js | |
uses: actions/setup-node@v4 | |
with: | |
cache: npm | |
cache-dependency-path: ./package.json | |
node-version: 20 | |
- name: Install project dependencies | |
run: | | |
npm install --include=dev | |
- name: ⚡ Execute tests | |
run: | | |
export MQTTS_TEST_URL=${{ secrets.MQTTS_URL }} | |
export WSS_TEST_URL=${{ secrets.WSS_URL }} | |
npm run test | |
build-and-push-images: | |
runs-on: ubuntu-latest | |
# Depends on lint and test jobs | |
needs: [lint, test] | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Log in to the Container registry | |
uses: docker/[email protected] | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GHCR_TOKEN }} | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/[email protected] | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
flavor: | | |
latest=auto | |
prefix= | |
suffix= | |
- name: Build and push Docker image | |
uses: docker/[email protected] | |
with: | |
context: . | |
push: true | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} |