Verified Commit b5a10445 authored by BARBIER Jean-Matthieu's avatar BARBIER Jean-Matthieu
Browse files

feat: first working draft

parents
Loading
Loading
Loading
Loading
Loading

.gitignore

0 → 100644
+4 −0
Original line number Diff line number Diff line
.idea
server/bin
server/pkged.go
 No newline at end of file

.gitlab-ci.yml

0 → 100644
+84 −0
Original line number Diff line number Diff line
include:
  - template: Security/Secret-Detection.gitlab-ci.yml
  - template: Security/Dependency-Scanning.gitlab-ci.yml
  - template: Security/SAST.gitlab-ci.yml

stages:
  - test
  - build
  - publish

build:
  stage: build
  tags:
    - indocker
  image: docker:latest
  services:
    - docker:dind
  script:
    - cd server
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
    - docker pull "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:latest" || true
    - docker build --cache-from "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:latest"
      -t "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:latest"
      -t "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA"
      .
    - docker push "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:latest"
    - docker push "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA"
  except:
    - tags

release:
  stage: build
  tags:
    - indocker
  image: docker:latest
  services:
    - docker:dind
  script:
    - cd server
    - VERSION=${CI_COMMIT_TAG/v/}
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
    - docker pull "$CI_REGISTRY_IMAGE/releases:latest" || true
    - docker build --cache-from "$CI_REGISTRY_IMAGE/releases:latest"
      -t "$CI_REGISTRY_IMAGE/releases:latest"
      -t "$CI_REGISTRY_IMAGE/releases:$VERSION"
      .
    - docker push "$CI_REGISTRY_IMAGE/releases:latest"
    - docker push "$CI_REGISTRY_IMAGE/releases:$VERSION"
  only:
    - tags


publish:
  stage: publish
  image: registry.solidev.net/solidev/docker-baseutils/master:latest
  script:
    - cd server/helm
    - PACKAGE=stripmonitor
    - helm package $PACKAGE
    - VERSION=${CI_COMMIT_TAG/v/}
    - HELM_REPO_ID=309
    - echo "Publishing ${PACKAGE} helm chart version ${VERSION} to helm repo, project ID ${HELM_REPO_ID}"
    - curl --request POST --user gitlab-ci-token:$CI_JOB_TOKEN --form "chart=@${PACKAGE}-${VERSION}.tgz" "${CI_API_V4_URL}/projects/${HELM_REPO_ID}/packages/helm/api/stable/charts"
  only:
    - tags

pages:
  image: registry.solidev.net/solidev/mkdocs-docker/main:latest
  stage: publish
  only:
    - tags
  tags:
    - indocker
  script:
    - touch doc/docs/assets/stripmonitor.pdf
    - ENABLE_PDF_EXPORT=1 mkdocs build --theme mkdocs
    - mkdir -p doc/pdf/
    - cp doc/site/pdf/document.pdf doc/docs/assets/stripmonitor.pdf
    - mkdocs build
    - mv doc/site ./public
  artifacts:
    paths:
      - public
 No newline at end of file

.versionrc.js

0 → 100644
+40 −0
Original line number Diff line number Diff line
const helmUpdater = {
    readVersion: (contents) => {
        const yaml = require('js-yaml');
        let chart;
        try {
            chart = yaml.load(contents, 'utf-8');
        } catch (e) {
            console.error(e);
            throw e;
        }
        return chart.version;
    },
    writeVersion: (contents, version) => {
        const yaml = require('js-yaml');
        let chart = yaml.load(contents, 'utf8');
        chart.version = version;
        chart.appVersion = version;
        return yaml.dump(chart, {indent: 2});
    }
}


module.exports = {
    "packageFiles": [
        {
            "filename": "VERSION",
            "type": "plain-text"
        }],
    "bumpFiles": [
        {
            "filename": "VERSION",
            "type": "plain-text"
        },
        {
            "filename": "server/helm/stripmonitor/Chart.yaml",
            "updater": helmUpdater
        }
    ]
}
 No newline at end of file

Makefile

0 → 100644
+21 −0
Original line number Diff line number Diff line
.PHONY: build server docs pdf

DOCSOURCES := $(shell find ./doc/docs)

build: docs server
docs: doc/site/index.html
pdf: doc/pdf/document.pdf

server:
	cd server && $(MAKE) build

doc/site/index.html: $(SOURCES) $(DOCSOURCES) doc/mkdocs.yml doc/pdf/document.pdf
	# docker run --rm -e ENABLE_PDF_EXPORT=1 --user=$(shell id -u):$(shell id -g) -v $(abspath ./doc):/docs registry.solidev.net/solidev/mkdocs-docker/main:latest
	cp doc/pdf/document.pdf doc/docs/assets/stripmonitor.pdf
	docker run --rm --user=$(shell id -u):$(shell id -g) -v $(abspath ./doc):/docs registry.solidev.net/solidev/mkdocs-docker/main:latest mkdocs build

doc/pdf/document.pdf: $(SOURCES) $(DOCSOURCES) doc/mkdocs.yml
	docker run --rm -e ENABLE_PDF_EXPORT=1 --user=$(shell id -u):$(shell id -g) -v $(abspath ./doc):/docs registry.solidev.net/solidev/mkdocs-docker/main:latest  mkdocs build --theme mkdocs
	mkdir -p doc/pdf/
	cp doc/site/pdf/document.pdf doc/pdf/document.pdf
 No newline at end of file

README.md

0 → 100644
+14 −0
Original line number Diff line number Diff line
# Stripmonitor

Led strip monitoring.

## Dev

Don't forget to bump version before releases :

```bash
# fish
env NODE_PATH=(npm root -g) standard-version --dry-run
# bash
NODE_PATH=$(npm root -g) standard-version --dry-run
```