This commit is contained in:
jem 2021-02-23 18:32:00 +01:00
parent f67df7200d
commit 44a78447db
2 changed files with 109 additions and 12 deletions

94
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,94 @@
stages:
- build_and_test
- package
- security
- upload
.cljs-job: &cljs
image: node:lts-buster
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- node_modules/
- .shadow-cljs/
before_script:
- apt update && apt -qqy install openjdk-11-jre-headless
- npm install
- npm install -g shadow-cljs
.js-job: &js-upload
image: node:lts-buster
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- node_modules/
- .shadow-cljs/
before_script:
- echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/.npmrc
- mkdir -p target/npm-build
- cp target/k8s-mastodon-bot.js target/npm-build/
- cp target/k8s-mastodon-bot.js.sha256 target/npm-build/
- cp target/k8s-mastodon-bot.js.sha512 target/npm-build/
- cp README.md target/npm-build/
build_and_test:
<<: *cljs
stage: build_and_test
script:
- shadow-cljs compile test
#activate as soon as https://github.com/thheller/shadow-cljs/issues/843 is implemented
.report:
<<: *cljs
stage: build_and_test
script:
- shadow-cljs run shadow.cljs.build-report app target/build-report.html
artifacts:
paths:
- target/build-report.html
package:
<<: *cljs
stage: package
script:
- shadow-cljs compile app
- chmod a+x target/k8s-mastodon-bot.js
- sha256sum target/k8s-mastodon-bot.js > target/k8s-mastodon-bot.js.sha256
- sha512sum target/k8s-mastodon-bot.js > target/k8s-mastodon-bot.js.sha512
artifacts:
paths:
- target/k8s-mastodon-bot.js
- target/k8s-mastodon-bot.js.sha256
- target/k8s-mastodon-bot.js.sha512
sast:
variables:
SAST_EXCLUDED_ANALYZERS:
bandit, brakeman, flawfinder, gosec, kubesec, phpcs-security-audit,
pmd-apex, security-code-scan, sobelow, spotbugs
stage: security
before_script:
- mkdir -p builds && cp -r target/ builds/
include:
- template: Security/SAST.gitlab-ci.yml
upload-prerelease:
<<: *js-upload
stage: upload
rules:
- if: '$CI_COMMIT_BRANCH == "master" && $CI_COMMIT_TAG == null'
script:
- cp package.json target/npm-build/
- npm publish ./target/npm-build --access public
# unsure wether that's a good idea to bump versions from ci.
#- npm version prerelease -m "[skip-ci] version bump prerelease version"
#- git push
upload-release:
<<: *js-upload
stage: upload
rules:
- if: '$CI_COMMIT_BRANCH == "master" && $CI_COMMIT_TAG != null'
script:
- cp package.json target/npm-build/
- npm publish ./target/npm-build --access public

View file

@ -1,21 +1,24 @@
{
"name": "k8s-mastodon-bot",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+ssh://git@gitlab.com/domaindrivenarchitecture/k8s-mastodon-bot.git"
},
"description": "Generate k8s yaml for a mastodon-bot deployment.",
"author": "meissa GmbH",
"version": "0.1.0",
"homepage": "https://gitlab.com/domaindrivenarchitecture/k8s-mastodon-bot#readme",
"repository": "https://www.npmjs.com/package/k8s-mastodon-bot",
"license": "APACHE2",
"main": "k8s-mastodon-bot.js",
"bin": {
"mastodon-bot": "./k8s-mastodon-bot.js"
},
"keywords": [
"cljs",
"mastodon-bot",
"k8s",
"deplyoment"
],
"bugs": {
"url": "https://gitlab.com/domaindrivenarchitecture/k8s-mastodon-bot/issues"
},
"homepage": "https://gitlab.com/domaindrivenarchitecture/k8s-mastodon-bot#readme",
},
"dependencies": {
"js-yaml": "^4.0.0"
},