add ci
This commit is contained in:
parent
f67df7200d
commit
44a78447db
2 changed files with 109 additions and 12 deletions
94
.gitlab-ci.yml
Normal file
94
.gitlab-ci.yml
Normal 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
|
25
package.json
25
package.json
|
@ -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"
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue