Compare commits

..

195 Commits
master ... test

Author SHA1 Message Date
Kreyren
5b1b0ebbbc fdhfdj 2020-02-09 19:26:27 +00:00
Kreyren
8170c9a6ef dshsdah 2020-02-09 19:24:27 +00:00
Kreyren
ee6dd8e50c fhfgjfg 2020-02-09 19:23:49 +00:00
Kreyren
f945b9f0be asgsa 2020-02-09 19:10:44 +00:00
Kreyren
0c0a61ce0e hkgjkgh 2020-02-09 19:03:18 +00:00
Kreyren
814aab09e3 fdhsfdj 2020-02-09 18:53:31 +00:00
Kreyren
5f4667e9c7 dhsfh 2020-02-09 18:48:11 +00:00
Kreyren
0b7c3dbec2 gjghk 2020-02-09 18:44:38 +00:00
Kreyren
4978158fe3 sdgasdg 2020-02-09 18:35:35 +00:00
Kreyren
8490247207 saasga 2020-02-09 18:29:43 +00:00
Kreyren
9ce917d935 jk'jkl' 2020-02-09 18:16:46 +00:00
Kreyren
b5bb810393 kljlk'j 2020-02-09 18:14:32 +00:00
Kreyren
ca38ef44d5 nm,;n 2020-02-09 18:07:18 +00:00
Kreyren
d724458e9c gfjdfgj 2020-02-09 18:02:36 +00:00
Kreyren
1ed8f68e66 gfghkg 2020-02-09 17:58:46 +00:00
Kreyren
9d2fdb1797 jklhj 2020-02-09 17:52:58 +00:00
Kreyren
c0a671f428 gjhlghl 2020-02-09 17:50:14 +00:00
Kreyren
88794e46d2 saagsga 2020-02-09 17:47:20 +00:00
Kreyren
42415d8730 sdgdsfh 2020-02-09 17:44:28 +00:00
Kreyren
6ec1c9a2d2 sagasga 2020-02-09 17:40:39 +00:00
Kreyren
b75dd0317b safsa 2020-02-09 17:38:27 +00:00
Kreyren
414e050084 fhdfjh 2020-02-09 17:32:20 +00:00
Kreyren
f08e44eeed fghkjgh 2020-02-09 17:30:10 +00:00
Kreyren
ca6414bd21 fdhhsf 2020-02-09 17:26:56 +00:00
Kreyren
b8e1dbb060 fgkfhg 2020-02-09 17:24:40 +00:00
Kreyren
d4a408f1a6 dfhfgdj 2020-02-09 17:18:57 +00:00
Kreyren
684695247f gfgj 2020-02-09 17:06:35 +00:00
Kreyren
b0be7a415b shfdhsfd 2020-02-09 16:48:58 +00:00
Kreyren
e986a637e8 IT'S YOUR TURN TRAVIS MUHAHAH 2020-02-09 16:45:47 +00:00
Kreyren
15051a2cf9 gagsd 2020-02-09 15:34:26 +00:00
Kreyren
2ad353e4b0 safsa 2020-02-09 15:29:33 +00:00
Kreyren
4416bb962f asasg 2020-02-09 15:29:08 +00:00
Kreyren
e31e90fa7b sdgasdg 2020-02-08 11:53:54 +00:00
Kreyren
3510e5cd12 djknsfdjknh 2020-02-08 11:26:45 +00:00
Kreyren
d7165bc76b stub 2020-02-08 08:20:16 +00:00
Kreyren
da9321065b gjfkf 2020-02-08 06:19:48 +00:00
Kreyren
279c912d76 safsaf 2020-02-08 06:17:04 +00:00
Kreyren
cfcd9a770c gjkghkf 2020-02-08 06:11:21 +00:00
Kreyren
2289db1b1f sagas 2020-02-08 05:59:15 +00:00
Kreyren
5d9137d54e hghkh 2020-02-08 05:57:42 +00:00
Kreyren
beef2b1bdb dgasdga 2020-02-08 05:55:44 +00:00
Kreyren
cf54385748 sdgsdag 2020-02-08 05:54:03 +00:00
Kreyren
f65c112423 hfgj 2020-02-07 20:39:47 +00:00
Kreyren
2f2927f042 sagag 2020-02-07 20:27:28 +00:00
Kreyren
fe3e9f0cda sagsag 2020-02-07 20:22:43 +00:00
Kreyren
fda3629148 fdhgj 2020-02-07 20:12:07 +00:00
Kreyren
49cb01e2ed dsadsh 2020-02-07 20:09:19 +00:00
Kreyren
5663b7579d
Create jekyll.yml 2020-02-07 21:01:46 +01:00
Kreyren
992d24d9fb
Bump termcolor from 1.0.0 to 1.1.0 2020-02-07 20:53:28 +01:00
Kreyren
d91dd4ed2f
Update cargo-make requirement from 0.26.2 to 0.27.0 2020-02-07 20:52:13 +01:00
Kreyren
3b50b75f9c fdhsfh 2020-02-07 19:51:05 +00:00
dependabot-preview[bot]
9005f623ae
Bump termcolor from 1.0.0 to 1.1.0
Bumps [termcolor](http://pypi.python.org/pypi/termcolor) from 1.0.0 to 1.1.0.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-07 19:48:39 +00:00
Kreyren
40275436ff test 2020-02-07 19:47:32 +00:00
dependabot-preview[bot]
b735429ee2
Update cargo-make requirement from 0.26.2 to 0.27.0
Updates the requirements on [cargo-make](https://github.com/sagiegurari/cargo-make) to permit the latest version.
- [Release notes](https://github.com/sagiegurari/cargo-make/releases)
- [Changelog](https://github.com/sagiegurari/cargo-make/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sagiegurari/cargo-make/compare/0.26.2...0.27.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-07 19:46:18 +00:00
Kreyren
a44cf5723f dfhfgd 2020-02-07 19:41:20 +00:00
Kreyren
3b76728b79 sdagsdag 2020-02-07 19:38:19 +00:00
Kreyren
d1cf4f1a1e shfdh 2020-02-07 19:36:21 +00:00
Kreyren
459e47b983 sdagasdg 2020-02-07 19:30:30 +00:00
Kreyren
7a140c553a vcmvmvb 2020-02-07 19:23:09 +00:00
Kreyren
2c3e50e327 dshas 2020-02-07 18:22:07 +00:00
Kreyren
ab9d973d7c sdgag 2020-02-07 18:17:53 +00:00
Kreyren
7de8bc8376 fghdfgh 2020-02-07 18:15:59 +00:00
Kreyren
7af21dc164 fdhsfdh 2020-02-07 18:14:15 +00:00
Kreyren
9c12c3bd31 fdhfgj 2020-02-07 17:51:12 +00:00
Kreyren
984ef7ba67 hdhsfdh 2020-02-07 17:38:34 +00:00
Kreyren
004aa87a56 jghjfh 2020-02-07 16:44:04 +00:00
Kreyren
344593d3a7 jghkfg 2020-02-07 16:39:02 +00:00
Kreyren
cbe46fb8f3 ffgjghjfgh 2020-02-07 16:32:13 +00:00
Kreyren
2bbaa32d01 agsah 2020-02-07 16:25:07 +00:00
Kreyren
f880b2734f
Update vlang_init.sh 2020-02-07 16:53:28 +01:00
Kreyren
15986f2ff1
Update vlang_init.sh 2020-02-07 16:50:45 +01:00
Kreyren
792541a1b9 ffhdfgj 2020-02-07 15:45:38 +00:00
Kreyren
410b32f1bc hgkgk 2020-02-07 15:37:46 +00:00
Kreyren
88c64cb464 dshsfd 2020-02-07 15:29:16 +00:00
Kreyren
100dc5a376
Update gitpod.Dockerfile 2020-02-07 16:19:18 +01:00
Kreyren
9e901d81e0 dgsdfhsdf 2020-02-07 14:51:14 +00:00
Kreyren
c2bc4a23de hfgdj 2020-02-07 14:43:55 +00:00
Kreyren
999d425555 jfhjgh 2020-02-07 14:38:44 +00:00
Kreyren
25b5465c18 shash 2020-02-07 14:34:42 +00:00
Kreyren
98d4a7db0d sagaga 2020-02-07 14:33:00 +00:00
Kreyren
9af4d019a4 shebang test 2020-02-07 13:42:32 +00:00
Kreyren
2c5daf0d7d dsgasdg 2020-02-07 13:39:56 +00:00
Kreyren
20eee0d278 xdgad 2020-02-07 13:37:52 +00:00
Kreyren
9e6733e0cc gjhfhghk 2020-02-07 13:20:50 +00:00
Kreyren
6e18eb316e
Merge pull request #39 from Klairm/multilang_experiment_C 2020-02-07 13:38:44 +01:00
Kreyren
7425043f68 fixes 2020-02-07 12:37:25 +00:00
Kreyren
20065df6c6
Merge pull request #37 from Uniminin/multilang_experiment 2020-02-07 13:26:14 +01:00
Kreyren
129db45535 fixes 2020-02-07 12:24:03 +00:00
Kreyren
4747aabd2e Merge branch 'multilang_experiment' of https://github.com/RXT0112/Zernit into init-new 2020-02-07 11:53:52 +00:00
Kreyren
7d0a5f6092
Update gitpod.Dockerfile 2020-02-07 11:22:06 +01:00
Kreyren
80be465a99 fdhfhfgj 2020-02-07 10:19:50 +00:00
Kreyren
799806a823 gjfgjfd 2020-02-07 08:34:50 +00:00
Kreyren
4135d1d108 dgsghafh 2020-02-07 08:31:32 +00:00
Kreyren
fb20e55c9d hjfghkf 2020-02-07 08:30:32 +00:00
Kreyren
9c8c9aaab3 gjghfj 2020-02-07 08:26:34 +00:00
Kreyren
a8d65e50b8 sagsdag 2020-02-07 07:59:40 +00:00
Kreyren
c9f4dd043d sdgasdg 2020-02-07 06:17:04 +00:00
Kreyren
80467364c6 hkghkgh 2020-02-07 05:04:02 +00:00
Kreyren
d6b9b7edaf add vlang 2020-02-07 04:53:27 +00:00
Klairm
230b90cecf Adapted code 2020-02-06 14:30:49 +01:00
Kreyren
bdaa0c7cc9 jksdhgjkasdnh 2020-02-06 06:06:53 +00:00
Kreyren
8d773126c1 sgassg 2020-02-06 05:37:28 +00:00
Kreyren
5585484059 fgdfjfghj 2020-02-06 03:32:56 +00:00
Kreyren
5f509b6a13 jghkfghkf 2020-02-06 02:34:01 +00:00
Kreyren
3b692c8a00 fdjfgjdfg 2020-02-06 01:49:13 +00:00
Kreyren
40034b1b89 dsdga 2020-02-06 01:32:59 +00:00
Klairm
d31f2dfcb1 Initial commit 2020-02-05 19:58:05 +01:00
Uniminin
e931843579
Update makefile 2020-02-05 19:41:13 +06:00
Uniminin
e5cabe260b
Create README.md 2020-02-05 19:18:12 +06:00
Kreyren
ebd676f82b fghdfghdfgh 2020-02-05 13:12:24 +00:00
Uniminin
a72e502cc3
Create makefile 2020-02-05 19:12:19 +06:00
Uniminin
2ad3b81fe3
Create zernit.py 2020-02-05 19:10:24 +06:00
Uniminin
0ea413cc68
Delete main.py 2020-02-05 19:10:04 +06:00
Uniminin
be6591da21
Create requirements.txt 2020-02-05 19:09:48 +06:00
Kreyren
bff5e3a3b1 dshfdsh 2020-02-05 13:01:20 +00:00
Kreyren
e379eb0805 dhdfhs 2020-02-05 12:54:19 +00:00
Kreyren
eadd4761c0
Create pythonapp.yml 2020-02-05 13:51:03 +01:00
Kreyren
c30a947156 sdashdh 2020-02-05 12:35:03 +00:00
Kreyren
888a0c105d agadgadg 2020-02-05 12:22:44 +00:00
Kreyren
11c449edd8 ping 2020-02-05 12:17:15 +00:00
Kreyren
6b8bf6b858 dsghasdha 2020-02-05 12:15:02 +00:00
Kreyren
40aa8f3370 fhdfhsj 2020-02-05 11:25:10 +00:00
Kreyren
d2d1a14f7a
actions: ccpp init 2020-02-05 12:17:52 +01:00
Kreyren
a729c90eab
actions: pytest init 2020-02-05 12:16:27 +01:00
Kreyren
a4c9938506
actions: rust ci init 2020-02-05 12:15:39 +01:00
Uniminin
0346f906af
Update main.py 2020-02-05 17:02:42 +06:00
Uniminin
8e66bf1270
idk. 2020-02-05 17:01:55 +06:00
Kreyren
30b9d83dde gjfghkg 2020-02-05 09:19:58 +00:00
Kreyren
09da48eaa7 xcfdh 2020-02-05 09:14:01 +00:00
Kreyren
b3bdeb2021 fhsfhd 2020-02-05 09:13:19 +00:00
Kreyren
7736a7b98f dsagsdag 2020-02-05 09:10:18 +00:00
Kreyren
3cd88eafd3 sagas 2020-02-05 09:06:21 +00:00
Kreyren
302cc1842e shdtuat 2020-02-04 02:38:35 +00:00
Kreyren
4e92724cc1 sdasdh 2020-02-03 09:30:11 +00:00
Kreyren
0b6d0f8e13 fgjghfj 2020-02-03 08:48:17 +00:00
Kreyren
cc34fc23b7 add example of langs 2020-02-03 07:02:47 +00:00
Kreyren
1027b9de85 gitpod: add references to avoid build issues
Reaction on https://github.com/gitpod-io/gitpod/issues/1171
2020-02-03 03:59:00 +00:00
Kreyren
a9d0e8888e
gitpod: Fix docker stuffs
relevant https://github.com/gitpod-io/gitpod/issues/1171
2020-02-03 04:48:21 +01:00
Sean Hellum
1f6b4aa489
Update gitpod.Dockerfile 2020-02-02 20:46:29 -06:00
Sean Hellum
c837e67831
Update gitpod.Dockerfile 2020-02-02 20:45:54 -06:00
Sean Hellum
98c31e7fc6
Update gitpod.Dockerfile 2020-02-02 20:43:01 -06:00
Kreyren
b583dd90b0
Update README.md 2020-02-03 03:30:28 +01:00
Kreyren
ab89261e06 fdhsfh 2020-01-31 09:31:54 +00:00
Kreyren
566203be68 fhdjfg 2020-01-31 06:09:32 +00:00
Kreyren
0cce54368a fdhsfd 2020-01-31 06:06:13 +00:00
Kreyren
e6c096952e Add mindmaster for mindmap 2020-01-31 05:55:23 +00:00
Kreyren
b2ea48bf1d More documentation and stub for alternative repository management 2020-01-31 05:48:58 +00:00
Kreyren
78f55d661d gitpod: fixed syntax err 2020-01-25 16:36:24 +00:00
Kreyren
f60e7866da gitpod: Added xclip and muted sterr of curl 2020-01-25 16:33:29 +00:00
Kreyren
ff67137522 gitpod: add custom functions 2020-01-25 16:30:26 +00:00
Kreyren
964a109f9b gitpod: Added tree command 2020-01-25 16:02:29 +00:00
Kreyren
4279da6684 gitpod: add vnc 2020-01-25 15:45:04 +00:00
Kreyren
ad06db5789 i hate this 2020-01-25 15:44:45 +00:00
Kreyren
91ac248e81 fdhsfdjdgf 2020-01-25 15:02:39 +00:00
Kreyren
754d09698b stub 2020-01-25 14:56:00 +00:00
Kreyren
77a876481b stub 2020-01-25 14:34:43 +00:00
Kreyren
6d9ece6f06 stub 2020-01-20 08:18:18 +00:00
Kreyren
3e5f23550e stub 2020-01-20 07:55:10 +00:00
Kreyren
7adb5e177e stub 2020-01-20 05:51:34 +00:00
Kreyren
c03c7e39c2 stub 2020-01-20 05:21:25 +00:00
Kreyren
3e5b93a629 stub 2020-01-19 16:57:26 +00:00
Kreyren
43e522e563 stub 2020-01-19 14:17:39 +00:00
Kreyren
131dc3e0e3 stub 2020-01-19 06:39:12 +00:00
Kreyren
a52bd65ee9 stub 2020-01-18 11:43:35 +00:00
Kreyren
fb91ff2307
gitpod: minor 2020-01-14 09:17:11 +01:00
Kreyren
9821c8f166 gitpod: Add dependencies for linting 2020-01-14 08:16:11 +00:00
Kreyren
9d034e9f9d submodules: Attempt for hotfix for gitpod
Gitpod doesn't support SSH submodules (https://github.com/gitpod-io/gitpod/issues/1076)
2020-01-14 07:22:36 +00:00
3f1b58e98e git: modules fix 2020-01-14 08:08:13 +01:00
93e5b69aa4 git: Nuked gitignore since it's used in .git/info/exclude now 2020-01-14 07:44:45 +01:00
Kreyren
f17753c7a2 tests: init from HELL 2020-01-14 06:31:47 +00:00
Kreyren
fb29d1d8f9
LICENSE: Adapt markdown formatting
Credit: https://github.com/TheFox/GPLv3.md/blob/master/gplv3.md
2020-01-12 14:05:15 +01:00
Kreyren
7df0826ab1
docs: Move _config.ymp to docs directory 2020-01-12 14:02:24 +01:00
Kreyren
778a304c15
README: Remove unsed file 2020-01-12 14:01:04 +01:00
Kreyren
cef4c85314 src: attempt to make the hierachy more nice 2020-01-12 12:50:51 +00:00
Kreyren
82d0363a39 post-initial commit 2020-01-12 10:24:10 +00:00
Kreyren
987cc3585a Initial commit 2020-01-12 09:53:09 +00:00
Kreyren
dea6ff73ef docs: stub 2020-01-12 09:46:57 +00:00
Kreyren
74efa15353 README: Experimenting with README.md 2020-01-12 09:44:21 +00:00
Kreyren
620422b9a5 minor changes preparing for init release 2020-01-12 09:15:55 +00:00
Kreyren
0a4057e011 Various documentation stubs 2020-01-12 09:13:10 +00:00
Kreyren
33a24de9aa
gitpod: remove bloat and used different port 2020-01-12 09:44:20 +01:00
Kreyren
d4344ab9db
gitpod: fix path for dockerfile 2020-01-12 09:43:12 +01:00
bdde6ab74d test 2020-01-12 08:54:58 +01:00
Kreyren
dc0e0a2fb3 README: stub for open in gitpod 2020-01-12 04:19:06 +00:00
Kreyren
aadb4aebc3 stub for name to support forks 2020-01-12 04:11:45 +00:00
Kreyren
8d7d8a6e65
stale: init 2020-01-12 04:48:03 +01:00
Kreyren
c610dd549f
label: init 2020-01-12 04:47:34 +01:00
Kreyren
cc7a8c3273
greetings: init 2020-01-12 04:47:07 +01:00
Kreyren
4110ee17ef funding: adapt funding 2020-01-12 03:38:35 +00:00
Kreyren
02b7cad533 docs: init 2020-01-12 03:03:58 +00:00
Kreyren
49ff37e302 csdgh 2020-01-12 02:54:14 +00:00
Kreyren
db31105017
Create LICENSE.md 2020-01-12 03:52:04 +01:00
Kreyren
e2f223c093 Add method to handle arguments 2020-01-12 02:33:49 +00:00
Kreyren
c59f3839dc minor 2020-01-12 01:06:16 +00:00
Kreyren
1b119d43e6 init 2020-01-12 00:57:48 +00:00
203 changed files with 581 additions and 5193 deletions

@ -2,8 +2,4 @@
FIXME: Preamble needed
FIXME: Do not assign translate variables in fixme messages
### Translate the project
Search the code for `FIXME-TRANSLATE` and add logic for your language
FIXME: Do not assign translate variables in fixme messages

3
.github/FUNDING.yml vendored

@ -16,5 +16,4 @@ issuehunt: rixotstudio
otechie: rixotstudio
# Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
# Referer link on github.com/kreyren
custom: https://my.fsf.org/join?referrer=3706032
custom: https://my.fsf.org/join

@ -1,33 +0,0 @@
---
name: Bug report
about: if Something is not working as expected
title: 'bug:'
labels: 'bug'
assignees: '@Zernit/bugwranglers'
---
### Describe the bug
<!-- Give us a **short** summary of what the issue is -->
text
### To Reproduce
<!-- Provide steps to reproduce otherwise the issue will be considered as invalid -->
1. ...
2. ...
### Expected behavior
<!-- What do you expect to happend instead of current behavior? -->
text
### Additional context
<!-- Add any other context about the issue here -->
text
### What do you expect to happend to solve this issue?
<!-- To specify expected behavior from an upstream -->
text

@ -1,10 +0,0 @@
# Disable blank issues
blank_issues_enabled: false
contact_links:
- name: IRC
url: https://webchat.freenode.net/#zernit
about: For simple questions and brainstorming
- name: Discord
url: https://discord.gg/5V4psY
about: Community maintained support in Zernit section

@ -1,20 +0,0 @@
---
name: Feature request
about: For feature proposals
title: 'REQUEST:'
labels: 'feature-request'
assignees: '@Zernit/bugwranglers'
---
### Describe the feature
<!-- Give us a **short** summary of your proposed feature -->
### Expected behavior
<!-- What do you expect to happend instead of current behavior? -->
### Additional context
<!-- Add any other context about the issue here -->

@ -1,8 +0,0 @@
---
name: Legal request
about: To propose changes in the license
labels: 'license'
assignees: '@Zernit/legal-team'
---
<!-- Please keep your request as short as possible, the longer the request the longer it's going to take for us to process it -->

@ -1,9 +0,0 @@
---
name: Other
about: If none of the above fits your request
labels: 'assign-me'
assignees: '@Zernit/helpers'
---
<!-- Please keep your request as short as possible, the longer the request the longer it's going to take for us to process it -->

@ -1,10 +0,0 @@
---
name: Question
about: In case you need upstream help
title: 'Q:'
labels: 'question'
assignees: '@Zernit/helpers'
---
<!-- Please keep your question as short as possible, the longer the question the longer it's going to take for us to process it -->

88
.github/README.md vendored

@ -1,86 +1,20 @@
**FIXME:** Markdownlint has to be optimized for this file<br>
**FIXME:** Source the header in different markdown file to make GitHub README different from GitLab.
**NOTICE:** This project in in "init phase" so everything will be remade into a new orphen branch once methods for quality assurance, documentation, automatization and code is decided to be used as a foundation for new commits
**FIXME:** Change the name based on name repository used.
fixme: Source the header in different markdown file to make GitHub README different from GitLab
<h1 align="center">
<a href=https://github.com/RXT0112/Zernit>Zernit</a> (RXT0112)
</h1>
<h4 align="center">Community maintained (FIXME: Unknown clarification) designed to work cross-platform and using multiple programming languages depending on which one provides the most efficiency per required runtime on target system</h4>
fixme: Change the name based on repository used.
<p align="center">
<img src="https://img.shields.io/badge/Maintained%3F-Yes-green?style=for-the-badge">
<img src="https://img.shields.io/github/license/RXT0112/Zernit?style=for-the-badge">
<img src="https://img.shields.io/github/issues/RXT0112/Zernit?color=violet&style=for-the-badge">
<img src="https://img.shields.io/github/stars/RXT0112/Zernit?style=for-the-badge">
<img src="https://img.shields.io/github/forks/RXT0112/Zernit?color=teal&style=for-the-badge">
</p>
# RXT0112 (WIP name)
**NOTICE:** Code-related implementation merge requests are currently not accepted due to the lack of repository management for multi-language project which is currently being worked on, however merge request will be processed if submitted with a priority affected by this restriction.
Package manager for unix and windows written in rustlang
**FIXME:** Change the URL based on the website used<br>
fixme: Change the URL based on the website used<br>
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/RXT0112/RXT0112)
**FIXME:** Add a pretty button<br>
**FIXME:** codesandbox currently cannot be used for zernit<br>
**FIXME:** Add tracking for scodsandbox usage on zernit<br>
https://codesandbox.io/sgithub/RXT0112/RXT0112
fixme: Add prety button<br>
https://codesandbox.io/s/github/RXT0112/RXT0112
**FIXME:** Change the URL based on the website used<br>
**FIXME:** repl.it currently cannot be used for zernit<br>
**FIXME:** Add tracking for scodsandbox usage on zernit<br>
[![Run on Repl.it](https://repl.it/badge/github/RXT0112/Zernit)](https://repl.it/github/RXT0112/Zernit)
## ABSTRACT
Package manager capable of source and binary import/export with tracking in `world` file and options.
## When to make a new issue?
### Questions
All relavant questions are welcomed and will be answered as soon as possible depending on the lenght of the question and the understanding of the supporter.
### Bugs
Everything relevant that does not work as expected or can be improved. The more issues we are aware of the more work we can put in to resolve them.
### Feature requests
Propose anything we will listen and consider it as long as it's relevant.
### Legal requests
**NOTICE:** This is currently being implemented so there might be a delay in responses due to the lack of resources
This project has custom community maintained license which is designed to avoid common issues related to FSF/GNU/OSS-endorsed licenses while directing the workflow, see License below for more info.
Anything relevant to legal is welcomed in:
- Our bug tracker
- Mentioning `@RXT0112/legal-team` in your relevant GitHub tickets
- Sending an e-mail on [zernit-legal@rixotstudio.cz](mailto:zernit-legal@rixotstudio.cz)
## Mentoring program
**NOTICE:** This is currently work in progress and provided with limited resources
This project provides a free mentoring program for anyone who makes a new merge request with (TBD)
This mentoring support is provided by the community for the community to provide a free education to improve the community-wide code quality and to ensure that everyone who wants to code has the resources to start and learn.
If you need a help on projects outside of project RXT0112 then mension `@RXT0112/mentors` in your GitHub tickets.
Mentoring support is also provided on community server (TBD)
Project RXT0112 hopes to provide an environment for everyone to learn, freel free to mension our mentoring program in your repositories.
## Where to get support
1. For simple questions, guidance and mentoring use chat on https://webchat.freenode.net/#zernit-support
2. For complicated issues either:
- Mension `@RXT0112/support` in your issues or relevant merge requests on GitHub
- Make a new issue in relevant RXT0112 organization (anything relevant is welcomed!)
3. Sent an email on [zernit-support@rixotstudio.cz](mailto:zernit-support@rixotstudio.cz)
## License
This project is designed around a community maintained license that is used to direct a workflow while preserving end-user's freedoms to fix common FSF/GNU/OSS-endorsed license issues (FIXME: Reference the issues) that would allow blockchain implementation and for-profit business plan.
**NOTICE:** The for-profit business plan is currently being investigated to make it suitable for this project, might be turned in non-profit
Developed with GUI in mind

@ -1,8 +0,0 @@
# Container image that runs your code
FROM alpine:3.10
# Copies your code file from your action repository to the filesystem path `/` of the container
COPY entrypoint.sh /entrypoint.sh
# Code file to execute when the docker container starts up (`entrypoint.sh`)
ENTRYPOINT ["/entrypoint.sh"]

@ -1,21 +0,0 @@
MIT License
Copyright (c) 2019 GitHub Actions
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

@ -1,23 +0,0 @@
# Hello world docker action
This action prints "Hello World" to the log or "Hello" + the name of a person to greet. To learn how this action was built, see "[Creating a Docker container action](https://help.github.com/en/articles/creating-a-docker-container-action)" in the GitHub Help documentation.
## Inputs
### `who-to-greet`
**Required** The name of the person to greet. Default `"World"`.
## Outputs
### `time`
The time we greeted you.
## Example usage
```yaml
uses: actions/hello-world-docker-action@master
with:
who-to-greet: 'Mona the Octocat'
```

@ -1,17 +0,0 @@
# FIXME: Hook https://man.sr.ht/builds.sr.ht/api.md so that we can use sourcehub in GitHub action
name: 'Hello World'
description: 'Greet someone and record the time'
inputs:
who-to-greet: # id of input
description: 'Who to greet'
required: true
default: 'World'
outputs:
time: # id of output
description: 'The time we greeted you'
runs:
using: 'docker'
image: 'Dockerfile'
args:
- ${{ inputs.who-to-greet }}

@ -1,5 +0,0 @@
#!/bin/sh -l
echo "Hello $1"
time=$(date)
echo ::set-output name=time::$time

13
.github/label-pr.yml vendored

@ -29,21 +29,18 @@
- regExp: ".*\\.cs+$"
labels: ["csharp"]
- regExp: "^/tests/.*"
- regExp: ".*tests.*"
labels: ["tests"]
- regExp: "^/benches/.*"
- regExp: "benches"
labels: ["benches"]
- regExp: "^/LICENSE/.*"
- regExp: "LICENSE.md"
labels: ["license"]
- regExp: ".*\\.md+$"
labels: ["markdown"]
- regExp: "^(Cargo\\.toml|requirements\\.txt)$"
- regExp: "^(.*\\Cargo.toml\\requirements.txt)$"
labels: ["dependencies"]
# Repository specific
- regExp: "^/docs/.*"
- regExp: ".*docs.*"
labels: ["docs"]

65
.github/labels.yml vendored

@ -1,42 +1,8 @@
# This file handles labels on GitHub
# Priority handling
- name: P - SHTF
color: ae00ff
description: "Stop whatever you are doing and focus on this"
- name: P - Very High
color: ff2f00
description: "FIXME"
- name: P - High
color: 910f00
description: "FIXME"
- name: P - Med
color: ffd000
description: "FIXME"
- name: P - Low
color: b3ff00
description: "FIXME"
- name: P - Very Low
color: 73ff00
description: "FIXME"
# MISC
- name: bug
color: d73a4a
description: "Something isn't working"
- name: question
color: 7300ff
description: "For questions"
- name: feature-request
color: 03fc5a
description: "Feature requests"
- name: docs
color: 0075ca
@ -66,6 +32,31 @@
color: cc1250
description: "Relevant to benchmarks"
# Priority handling
- name: P - SHTF
color: ae00ff
description: "Stop whatever you are doing and focus on this"
- name: P - Very High
color: ff2f00
description: "FIXME"
- name: P - High
color: 910f00
description: "FIXME"
- name: P - Med
color: ffd000
description: "FIXME"
- name: P - Low
color: b3ff00
description: "FIXME"
- name: P - Very Low
color: 73ff00
description: "FIXME"
# Programming language specific
- name: python
color: 00aeff
@ -105,8 +96,4 @@
- name: java
color: ad690a
description: "Relevant to java"
- name: markdown
color: 454545
description: "Relevant to markdown"
description: "Relevant to java"

@ -1,9 +0,0 @@
on: [push]
jobs:
hello_world_job:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Hello world action step
uses: ./.github/custom-actions/sourcehub-layer

@ -1,176 +0,0 @@
# Workflow for cpp
name: cpp
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- '**.cpp'
jobs:
# Linting
lint-cpp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Installing dependencies..
run: if ! apt list --installed | grep -qP ".*cppcheck.*"; then sudo apt install -y cppcheck; fi
- name: Linting..
run: cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.cpp$''); do cppcheck "$file"; done
# Kernel specific builds
build-macos-gcc-cpp:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-cpp
build-windows-gcc-cpp:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-cpp
build-macos-clang-cpp:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: building..
run: make build-clang-cpp
build-windows-clang-cpp:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: building..
run: make build-clang-cpp
# Docker builds
## Debian - testing
build-gcc-cpp-debian:
runs-on: ubuntu-latest
steps:
- uses: docker://debian/testing:latest
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-cpp
build-clang-cpp-debian:
runs-on: ubuntu-latest
steps:
- uses: docker://debian/testing:latest
- uses: actions/checkout@v2
- name: building..
run: make build-clang-cpp
## Fedora - latest
build-gcc-cpp-fedora:
runs-on: ubuntu-latest
steps:
- uses: docker://fedora/latest:latest
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-cpp
build-clang-cpp-fedora:
runs-on: ubuntu-latest
steps:
- uses: docker://fedora/latest:latest
- uses: actions/checkout@v2
- name: building..
run: make build-clang-cpp
## Archlinux - latest
build-gcc-cpp-archlinux:
runs-on: ubuntu-latest
steps:
- uses: docker://archlinux/latest:latest
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-cpp
build-clang-cpp-archlinux:
runs-on: ubuntu-latest
steps:
- uses: docker://archlinux/latest:latest
- uses: actions/checkout@v2
- name: building..
run: make build-clang-cpp
## Gentoo stage3-amd64
build-gcc-cpp-gentoo:
runs-on: ubuntu-latest
steps:
- uses: docker://gentoo/stage3-amd64:latest
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-cpp
build-clang-cpp-gentoo:
runs-on: ubuntu-latest
steps:
- uses: docker://gentoo/stage3-amd64:latest
- uses: actions/checkout@v2
- name: building..
run: make build-clang-cpp
## Exherbo
build-gcc-cpp-exherbo:
runs-on: ubuntu-latest
steps:
- uses: docker://exherbo/exherbo_ci:latest
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-cpp
build-clang-cpp-exherbo:
runs-on: ubuntu-latest
steps:
- uses: docker://exherbo/exherbo_ci:latest
- uses: actions/checkout@v2
- name: building..
run: make build-clang-cpp
# Run tests
## Exherbo (Linux representative)
check-exherbo-gcc-cpp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://exherbo/exherbo_ci:latest
- run: make check-gcc-cpp
check-exherbo-clang-cpp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://exherbo/exherbo_ci:latest
- run: make check-clang-cpp
## Windows
check-windows-gcc-cpp:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- run: make check-gcc-cpp
check-windows-clang-cpp:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- run: make check-clang-cpp
## Darwin
check-darwin-gcc-cpp:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- run: make check-gcc-cpp
check-darwin-clang-cpp:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- run: make check-clang-cpp
# Benchmarks
## Exherbo
bench-exherbo-gcc-cpp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://exherbo/exherbo_ci:latest
- name: running benchmarks..
run: make bench-gcc-cpp
bench-exherbo-clang-cpp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://exherbo/exherbo_ci:latest
- name: running benchmarks..
run: make bench-clang-cpp

@ -1,22 +0,0 @@
# Workflow for CPP
name: Jekyll
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- 'docs/**'
jobs:
jekyll:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get dependencies (FIXME-UPSTREAM)
run: sudo gem install jekyll
- name: Building..
# FIXME: Avoid using `cd`
run: cd docs && jekyll build

@ -1,31 +0,0 @@
# Workflow for CPP
name: Jekyll Publish
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
push:
branches:
- master
- init-new
paths:
- 'docs/_posts/**'
jobs:
jekyll:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get dependencies (FIXME-UPSTREAM)
run: sudo gem install jekyll
- name: Building..
# FIXME: Avoid using `cd`
run: cd docs && jekyll build
- name: Deploying..
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ secrets.GITHUB_REPOSITORY }}
GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }}
uses: BryanSchuetz/jekyll-deploy-gh-pages@master

@ -1,91 +0,0 @@
# Workflow for vlang
name: vlang
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- '**.v'
jobs:
# Kernel specific builds
build-ubuntu-vlang:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
if ! command -v v >/dev/null; then
wget https://github.com/vlang/v/releases/latest/download/v_linux.zip -O "$HOME/.cache/vlang.zip"
[ ! -d /opt/vlang ] && mkdir /opt/vlang
[ ! -d "$HOME/.cache/" ] && mkdir "$HOME/.cache/"
[ ! -f /opt/vlang/v ] && unzip "$HOME/.cache/vlang.zip" -d /opt/vlang/v
[ ! -x /usr/bin/v ] && ln -sf /usr/bin/v /opt/vlang/v
fi
- name: Building..
run: make build-vlang
build-darwin-vlang:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
if ! command -v v >/dev/null; then
wget https://github.com/vlang/v/releases/latest/download/v_linux.zip -O "$HOME/.cache/vlang.zip"
[ ! -d /opt/vlang ] && mkdir /opt/vlang
[ ! -d "$HOME/.cache/" ] && mkdir "$HOME/.cache/"
[ ! -f /opt/vlang/v ] && unzip "$HOME/.cache/vlang.zip" -d /opt/vlang/v
[ ! -x /usr/bin/v ] && ln -sf /usr/bin/v /opt/vlang/v
fi
- name: Building..
run: make build-vlang
build-windows-vlang:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
ECHO fixme
EXIT
- name: Building..
run: make build-vlang
# Docker builds
build-vlang-debian:
runs-on: ubuntu-latest
steps:
- uses: docker://debian/testing:latest
- uses: actions/checkout@v2
- name: building..
run: make build-vlang
build-vlang-fedora:
runs-on: ubuntu-latest
steps:
- uses: docker://fedora/latest:latest
- uses: actions/checkout@v2
- name: building..
run: make build-vlang
# Run tests
check-vlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: running tests..
run: make check-vlang
# Benchmarks
bench-vlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: running benchmarks..
run: make bench-vlang

@ -1,67 +0,0 @@
name: Bash
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- '**.bash'
- "tools/dockerfreeze"
jobs:
# Linting
lint:
runs-on: ubuntu-latest
container: debian:stable
steps:
- name: Installing dependencies..
run: |
# Sync repos
# Check for git
if ! apt list --installed 2>/dev/null | grep -qP "^git\/stable.*"; then
# Check if we can install git
if ! apt list | grep -qP "^git\/stable.*"; then
apt update
elif apt list | grep -qP "^git\/stable.*"; then
true
else
exit 255
fi
# Install git
apt install -y git
elif apt list --installed 2>/dev/null | grep -qP "^git\/stable.*"; then
true
else
exit 255
fi
# Check for shellcheck
if ! apt list --installed 2>/dev/null | grep -qP "^shellcheck\s{1}-.*"; then
# Check if we can install shellcheck
if ! apt list | grep -qP "^shellcheck\s{1}-.*"; then
apt update
elif apt list | grep -qP "^shellcheck\s{1}-.*"; then
true
else
exit 255
fi
# Install shellcheck
apt install -y shellcheck
elif apt list --installed 2>/dev/null | grep -qP "^shellcheck\s{1}-.*"; then
true
else
exit 255
fi
- name: Pulling git dir..
uses: actions/checkout@v2
- name: Processing files..
# Make sure that bash is used
shell: bash
run: |
cd "$GITHUB_WORKSPACE"
# Process files
## NOTICE: Do not use for loop to avoid pitfall https://mywiki.wooledge.org/BashPitfalls#pf1
git --git-dir="$GITHUB_WORKSPACE/.git" ls-files -z -- '*.bash' tools/dockerfreeze | while IFS= read -rd '' file; do
printf 'linting bash file %s\n' "$file"
shellcheck --external-sources --shell=bash "$file"
done

@ -1,208 +0,0 @@
# Workflow for CPP
name: C
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- '**.c'
jobs:
# Linting
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Installing dependencies..
run: if ! apt-list --installed cppcheck | grep -q ".*cppcheck.*"; then sudo apt install -y cppcheck; fi
- name: Linting..
run: cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.c$'); do cppcheck "$file"; done
## Valgrind test on gcc
valgrind-gcc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Installing dependencies..
run: if ! apt list --installed | grep -q ".*valgrind.*"; then sudo apt install -y valgrind; fi
- name: Linting..
run: |
make build-gcc-c
# NOTICE: This requires to input the arguments invidually
# FIXME: Use regex to gather arguments
valgrind --leak-check=full -v build/build-gcc-c/zernit-gcc-c -h -unexpected
## Valgrind on clang
valgrind-clang:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Installing dependencies..
run: if ! apt list --installed | grep -qP ".*valgrind.*"; then sudo apt install -y valgrind; fi
- name: Linting..
run: |
make build-clang-c
# NOTICE: This requires to input the arguments invidually
# FIXME: Use regex to gather arguments
valgrind --leak-check=full -v build/build-clang-c/zernit-clang-c -h -unexpected
# Kernel specific builds
build-macos-gcc-c:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-c
build-windows-gcc-c:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-c
build-macos-clang-c:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Building..
run: make build-clang-c
build-windows-clang-c:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Downloading dependencies..
run: Invoke-WebRequest -OutFile LLVM-3.7.0-win64.exe https://releases.llvm.org/3.7.0/LLVM-3.7.0-win64.exe
- name: Install dependencies..
run: |
echo FIXME_INSTALL_CLANG
EXIT
- name: Building..
run: make build-clang-c
# Docker builds
## Debian - testing
build-gcc-c-debian:
runs-on: ubuntu-latest
steps:
- uses: docker://debian/testing:latest
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-c
build-clang-c-debian:
runs-on: ubuntu-latest
steps:
- uses: docker://debian/testing:latest
- uses: actions/checkout@v2
- name: building..
run: make build-clang-c
## Fedora - latest
build-gcc-c-fedora:
runs-on: ubuntu-latest
steps:
- uses: docker://fedora/latest:latest
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-c
build-clang-c-fedora:
runs-on: ubuntu-latest
steps:
- uses: docker://fedora/latest:latest
- uses: actions/checkout@v2
- name: building..
run: make build-clang-c
## Archlinux - latest
build-gcc-c-archlinux:
runs-on: ubuntu-latest
steps:
- uses: docker://archlinux/latest:latest
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-c
build-clang-c-archlinux:
runs-on: ubuntu-latest
steps:
- uses: docker://archlinux/latest:latest
- uses: actions/checkout@v2
- name: building..
run: make build-clang-c
## Gentoo stage3-amd64
build-gcc-c-gentoo:
runs-on: ubuntu-latest
steps:
- uses: docker://gentoo/stage3-amd64:latest
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-c
build-clang-c-gentoo:
runs-on: ubuntu-latest
steps:
- uses: docker://gentoo/stage3-amd64:latest
- uses: actions/checkout@v2
- name: building..
run: make build-clang-c
## Exherbo
build-gcc-c-exherbo:
runs-on: ubuntu-latest
steps:
- uses: docker://exherbo/exherbo_ci:latest
- uses: actions/checkout@v2
- name: building..
run: make build-gcc-c
build-clang-c-exherbo:
runs-on: ubuntu-latest
steps:
- uses: docker://exherbo/exherbo_ci:latest
- uses: actions/checkout@v2
- name: building..
run: make build-clang-c
# Run tests
## Exherbo (Linux representative)
check-exherbo-gcc-cpp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://exherbo/exherbo_ci:latest
- run: make check-gcc-c
check-exherbo-clang-cpp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://exherbo/exherbo_ci:latest
- run: make check-clang-c
## Windows
check-windows-gcc-cpp:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- run: make check-gcc-c
check-windows-clang-cpp:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- run: make check-clang-c
## Darwin
check-darwin-gcc-cpp:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- run: make check-gcc-c
check-darwin-clang-cpp:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- run: make check-clang-c
# Benchmarks
## Exherbo
bench-exherbo-gcc-cpp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://exherbo/exherbo_ci:latest
- name: running benchmarks..
run: make bench-gcc-cpp
bench-exherbo-clang-cpp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://exherbo/exherbo_ci:latest
- name: running benchmarks..
run: make bench-clang-cpp

302
.github/workflows/cona-isa.yml vendored Normal file

@ -0,0 +1,302 @@
name: ConaIsa
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
pull_request:
branches: [master]
types: [synchronize, opened, reopened, ready_for_review]
jobs:
# Rustlang
build-rustlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: building..
run: make build-rustlang
check-rustlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: checking..
run: make check-rustlang
bench-rustlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: running benchmarks..
run: make bench-rustlang
# gcc-c
build-gcc-c:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make build-gcc-c
run: make build-gcc-c
check-gcc-c:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make check-gcc-c
run: make check-gcc-c
bench-gcc-c:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make bench-gcc-c
run: make bench-gcc-c
# gcc-ccp
build-gcc-cpp:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make build-gcc-ccp
run: case $(git diff --name-only origin/master) in *.ccp) make build-gcc-ccp; esac
check-gcc-cpp:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make check-gcc-ccp
run: case $(git diff --name-only origin/master) in *.ccp) make check-gcc-ccp; esac
bench-gcc-cpp:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make bench-gcc-ccp
run: case $(git diff --name-only origin/master) in *.ccp) make bench-gcc-ccp; esac
# clang-c
build-clang-c:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make build-clang-c
run: make build-clang-c
check-clang-c:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make check-clang-c
run: make check-clang-c
bench-clang-c:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make bench-clang-c
run: make bench-clang-c
# clang-ccp
build-clang-cpp:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make build-clang-ccp
run: make build-clang-ccp
check-clang-cpp:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make check-clang-ccp
run: make check-clang-ccp
bench-clang-cpp:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make bench-clang-ccp
run: make bench-clang-ccp
# vlang
build-vlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: Fetching dependencies..
run: |
# CACHEDIR check
[ ! -d "$HOME/.cache/" ] && mkdir "$HOME/.cache"
# Fetch vlang
[ ! -f "$HOME/.cache/vlang-0.1.24.zip" ] && wget https://github.com/vlang/v/releases/download/0.1.24/v_linux.zip -O "$HOME/.cache/vlang-0.1.24.zip"
# Extract
[ ! -x "/opt/vlang/v" ] && unzip "$HOME/.cache/vlang-0.1.24.zip" -d /opt/vlang
- name: make build-vlang
run: make build-vlang
check-vlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: Fetching dependencies..
run: |
# CACHEDIR check
[ ! -d "$HOME/.cache/" ] && mkdir "$HOME/.cache"
# Fetch vlang
[ ! -f "$HOME/.cache/vlang-0.1.24.zip" ] && wget https://github.com/vlang/v/releases/download/0.1.24/v_linux.zip -O "$HOME/.cache/vlang-0.1.24.zip"
# Extract
[ ! -x "/opt/vlang/v" ] && unzip "$HOME/.cache/vlang-0.1.24.zip" -d /opt/vlang
- name: make check-vlang
run: make check-vlang
bench-vlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: Fetching dependencies..
run: |
# CACHEDIR check
[ ! -d "$HOME/.cache/" ] && mkdir "$HOME/.cache"
# Fetch vlang
[ ! -f "$HOME/.cache/vlang-0.1.24.zip" ] && wget https://github.com/vlang/v/releases/download/0.1.24/v_linux.zip -O "$HOME/.cache/vlang-0.1.24.zip"
# Extract
[ ! -x /opt/vlang/v ] && unzip "$HOME/.cache/vlang-0.1.24.zip" -d /opt/vlang
- name: make bench-vlang
run: make bench-vlang
# Golang
build-golang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make build-golang
run: make build-golang
check-golang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make check-golang
run: make check-golang
bench-golang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make bench-golang
run: make bench-golang
# Shell
check-shell:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: shellcheck
uses: azohra/shell-linter@v0.2.0
with:
path: "src/*.sh"
# Bash
check-bash:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: shellcheck
uses: azohra/shell-linter@v0.2.0
with:
path: "src/*.bash"
# Python
check-python:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
python-version: [2.7, 3.5, 3.6, 3.7, 3.8]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pylint
run: |
pip install pylint
pylint ${{ github.workspace }}/src/bin/main
# Jekyll
jekyll:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: Build the site in the jekyll/builder container
run: |
docker run -v ${{ github.workspace }}:/srv/jekyll -v ${{ github.workspace }}/_site:/srv/jekyll/_site jekyll/builder:latest /bin/bash -c "chmod 777 /srv/jekyll && jekyll build --future"

@ -1,30 +0,0 @@
name: Dockerfile
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- '**.Dockerfile'
jobs:
# Linting
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Installing dependencies..
run: |
# Fix untill hadolint it available by downstream
if ! apt-cache search hadolint | grep -qP "^hadolint -"; then
# Install hadolint if not already installed through apt
if ! apt list --installed | grep -qP "^hadolint -"; then
if ! apt-cache search hadolint | grep -qP "^hadolint -.*"; then { if command -v wget >/dev/null; then apt install -y wget; fi ;} && wget https://github.com/hadolint/hadolint/releases/download/v1.17.5/hadolint-Linux-x86_64 -O /usr/bin/hadolint && { [ ! -x hadolint ] && chmod +x /usr/bin/hadolint ;}; elif apt-cache search hadolint | grep -qP "^hadolint -.*"; then apt install -y hadolint; fi
fi
fi
- name: Linting..
run: |
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.Dockerfile$'); do
printf 'checking dockerfile %s using hadolint\n' "$file"
hadolint "$file"
done

@ -1,4 +1,4 @@
name: ConaIsa
name: Greetings
on: [pull_request, issues]

@ -1,18 +1,18 @@
name: ConaIsa
name: label-maker
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- '*.labels\.yml$'
on:
schedule:
- cron: "*/30 * * * *"
jobs:
labeler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Assigning labels
-
name: Checkout
uses: actions/checkout@v1
-
name: Run Labeler
if: success()
uses: crazy-max/ghaction-github-labeler@v1
with:

@ -1,13 +1,12 @@
# Workflow to associate labels automatically
name: Label management
name: labeler
on:
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
# Trigger the workflow on pull request events
on: [pull_request]
jobs:
label:
runs-on: ubuntu-latest
runs-on: ubuntu-18.04
steps:
# We need to checkout the repository to access the configured file (.github/label-pr.yml)
- uses: actions/checkout@v2

@ -1,23 +0,0 @@
name: Markdown
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- '**.md'
jobs:
# Linting
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Installing dependencies..
run: if ! command -v markdownlint; then sudo npm install -g markdownlint-cli; fi
- name: Linting..
run: |
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.md$'); do
printf 'linting markdown file %s' "$file"
markdownlint "$file" --ignore node_modules
done

@ -1,391 +0,0 @@
# Workflow for python
name: Python
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- '**.py'
- 'requirements.txt'
jobs:
# Linting 3.5
lint-linux-python-3_5:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.5
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
# FIXME: False triggers on files which names continues after set extension
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
lint-macos-python-3_5:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.5
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
# FIXME: False triggers on files which names continues after set extension
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
lint-windows-python-3_5:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.5
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
# FIXME: False triggers on files which names continues after set extension
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
security-check-python-3_5:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.5
- name: Installing python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Installing linting dependencies
run: |
if apt list --installed | grep -qP "^bandit -"; then sudo apt install -y bandit; fi
- name: Linting..
run: |
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do
printf 'checking python file %s for security issues\n' "$file"
bandit "$file"
done
# Linting 3.6
lint-linux-python-3_6:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
# FIXME: False triggers on files which names continues after set extension
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
lint-macos-python-3_6:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
# FIXME: False triggers on files which names continues after set extension
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
lint-window-python-3_6:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
# FIXME: False triggers on files which names continues after set extension
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
security-check-python-3_6:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Installing python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Installing linting dependencies
run: |
if apt list --installed | grep -qP "^bandit -"; then sudo apt install -y bandit; fi
- name: Linting..
run: |
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do
printf 'checking python file %s for security issues\n' "$file"
bandit "$file"
done
# Linting 3.7
lint-linux-python-3_7:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
# FIXME: False triggers on files which names continues after set extension
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
lint-macos-python-3_7:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
# FIXME: False triggers on files which names continues after set extension
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
lint-windows-python-3_7:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
# FIXME: False triggers on files which names continues after set extension
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
security-check-python-3_7:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Installing python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Installing linting dependencies
run: |
if apt list --installed | grep -qP "^bandit -"; then sudo apt install -y bandit; fi
- name: Linting..
run: |
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do
printf 'checking python file %s for security issues\n' "$file"
bandit "$file"
done
# Linting 3.8
lint-linux-python-3_8:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
# FIXME: False triggers on files which names continues after set extension
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
lint-macos-python-3_8:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
# FIXME: False triggers on files which names continues after set extension
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
lint-windows-python-3_8:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pip install pytest
# FIXME: False triggers on files which names continues after set extension
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
security-check-python-3_8:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configuring backend..
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Installing python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Installing linting dependencies
run: |
if apt list --installed | grep -qP "^bandit -"; then sudo apt install -y bandit; fi
- name: Linting..
run: |
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do
printf 'checking python file %s for security issues\n' "$file"
bandit "$file"
done

@ -1,84 +0,0 @@
# Workflow for Rustlang
name: Rustlang
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- '**.rs'
- Cargo.toml
jobs:
# Kernel specific builds
ubuntu-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Building..
run: cargo build
macos-build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Building..
run: cargo build
windows-build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Building..
run: cargo build
# Docker builds
debian-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://debian:testing
- name: Building..
run: cargo build
fedora-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://fedora:latest
- name: Building..
run: cargo build
fedora-next-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://fedora:rawhide
- name: Building..
run: cargo build
archlinux-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://archlinux:latest
- name: Building..
run: cargo build
gentoo-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker://gentoo/stage3-amd64:latest
- name: Building..
run: cargo build
# Run tests
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Testing..
run: cargo test
# Benchmarks
bench:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Benchmarking..
run: cargo bench

@ -1,66 +0,0 @@
name: Shell
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- '**.sh'
jobs:
# Linting
lint:
runs-on: ubuntu-latest
container: debian:stable
steps:
- name: Installing dependencies..
run: |
# Sync repos
# Check for git
if ! apt list --installed 2>/dev/null | grep -qP "^git\/stable.*"; then
# Check if we can install git
if ! apt list | grep -qP "^git\/stable.*"; then
apt update
elif apt list | grep -qP "^git\/stable.*"; then
true
else
exit 255
fi
# Install git
apt install -y git
elif apt list --installed 2>/dev/null | grep -qP "^git\/stable.*"; then
true
else
exit 255
fi
# Check for shellcheck
if ! apt list --installed 2>/dev/null | grep -qP "^shellcheck\s{1}-.*"; then
# Check if we can install shellcheck
if ! apt list | grep -qP "^shellcheck\s{1}-.*"; then
apt update
elif apt list | grep -qP "^shellcheck\s{1}-.*"; then
true
else
exit 255
fi
# Install shellcheck
apt install -y shellcheck
elif apt list --installed 2>/dev/null | grep -qP "^shellcheck\s{1}-.*"; then
true
else
exit 255
fi
- name: Pulling git dir..
uses: actions/checkout@v2
- name: Processing files..
# Make sure that bash is used
shell: bash
run: |
cd "$GITHUB_WORKSPACE"
# Process files
## NOTICE: Do not use for loop to avoid pitfall https://mywiki.wooledge.org/BashPitfalls#pf1
git --git-dir="$GITHUB_WORKSPACE/.git" ls-files -z -- '*.sh' | while IFS= read -rd '' file; do
printf 'linting shell file %s\n' "$file"
shellcheck --external-sources --shell=sh "$file"
done

19
.github/workflows/stale.yml vendored Normal file

@ -0,0 +1,19 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: "0 0 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'Stale issue message'
stale-pr-message: 'Stale pull request message'
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'

@ -1,17 +0,0 @@
name: Staler
on:
schedule:
- cron: "0 0 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'FIXME: Stale issue message (https://github.com/RXT0112/Zernit/edit/master/.github/workflows/stale.yml)'
stale-pr-message: 'FIXME: Stale pull request message (https://github.com/RXT0112/Zernit/edit/master/.github/workflows/stale.yml)'
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'

@ -1,22 +1,5 @@
privileged: true
image:
file: gitpod/debian.Dockerfile
# FIXME: Change gitpod user on GITPOD_GIT_USER_NAME env value
tasks:
# Does not accept Quotation without '|' ?
- init: |
printf 'FIXME: %s\n' "Get rid of me"
command: |
printf 'FIXME: %s\n' "This is a hotfix for https://github.com/gitpod-io/gitpod/issues/1252 manipulating PS1 env var"
# FIXME: The color of second line does not transfer to the environment unless Ctrl+C is pressed
export PS1="\033[1m\e[38;5;201m[ \t : \w : EXIT \$? ]\033[0m\e[38;5;011m\n\u@gitpod \\$ \[$(tput sgr0)\]"
# ^^^^^^^ - bolt
# ^^^^^^^^^^^^ - Purple color
# ^^^^^^ - remove bolt
# ^^^^^^^^^^^ - Gold color
clear
file: gitpod/gitpod.Dockerfile
vscode:
extensions:
@ -26,9 +9,4 @@ vscode:
- hbenl.vscode-test-explorer@2.15.0:koqDUMWDPJzELp/hdS/lWw==
- belfz.search-crates-io@1.2.1:kSLnyrOhXtYPjQpKnMr4eQ==
- serayuzgur.crates@0.4.7:HMkoguLcXp9M3ud7ac3eIw==
- timonwong.shellcheck@0.9.0:hsU/Rd39aqPYowTqL+DbXg==
- krosf.vscode-valgrind@0.0.1:YTn5lOY8OnPKJYDqJPr/Sg==
- matklad.rust-analyzer@0.1.20200217:zozmBmOg1N91pRISIsYXBg==
- exiasr.hadolint@0.3.0:/FkAW3eTb+z9O7VZAyAa0w==
- DavidAnson.vscode-markdownlint@0.34.0:l4DL7iPpo7DdhfUHIUtcuQ==
- yzhang.markdown-all-in-one@2.7.0:5+DmuGcePw8L9PtfgOAAHg==
- timonwong.shellcheck@0.9.0:hsU/Rd39aqPYowTqL+DbXg==

@ -1,12 +0,0 @@
ignored:
- DL3007 # Usage of latest version is expected
- DL3008 # Pinning specific version on apt is not sane
- DL3015 # We don't mind recommended packages
- DL4001 # Allow usage of curl and wget
- DL4006 # False-trigger on /bin/sh usage?
trustedRegistries:
- docker.io
- debian
- gitpod
- hadolint

@ -1,8 +0,0 @@
// FIXME-LINT(18032020): Outputs invalid errors in gitpod
{
// We do not need newlines on EOF
"single-trailing-newline": false,
// We don't care fore line lenght due to the softwrap
"line-length": false
}

@ -1,3 +0,0 @@
Configuration directory for [theia](https://github.com/eclipse-theia/theia)
Theia is also used by gitpod

@ -1,19 +0,0 @@
{
"editor.wordWrap": "on",
// To show invisibles
"editor.renderWhitespace": "all",
"editor.tabSize": 2,
"editor.tabCompletion": "on",
"setup.dontask": true,
// rustlang
"crates.upToDateDecorator": "",
"rust.wait_to_build": 0,
// FIXME: Expand nproc command here
// NOTICE: Gitpod is currently (130220) limited on 8 threads
// FIXME: We are unable to shot datatype helpers (https://github.com/gitpod-io/gitpod/issues/1200)
"rust.jobs": 8,
"rust.build_on_save": true,
"rust.target_dir": "build/rustlang",
"rust-analyzer.displayInlayHints": true,
"rust-analyzer.highlightingOn": true,
}

@ -1,6 +1,5 @@
# Copyright 2019 Jacob Hrbek <kreyren@rixotstudio.cz>
# Distributed under the terms of the GNU General Public License v3 (https://www.gnu.org/licenses/gpl-3.0.en.html) or later
# FIXME-LINT(18032020): Outputs wrong highlights in gitpod
# Based in part upon 'travis.yml' from rsplib (https://raw.githubusercontent.com/dreibh/rsplib/master/.travis.yml), which is:
# Copyright (C) 2018-2019 by Thomas Dreibholz <dreibh@iem.uni-due.de> as GPLv3 or any other GPL at your option

@ -13,7 +13,7 @@ edition = "2018"
# FIXME: Replace with latest once development is in gold
clap = "2.33.0"
# Used for repository management as alternative to 'make'
cargo-make = "0.30.0"
cargo-make = "0.27.0"
# Used for reading toml files
toml = "0.5.6"
# Custom logging solution
@ -23,6 +23,6 @@ zernit-logger = { path = "src/libs/rustlang/zernit-logger" }
# Used for benchmarking
criterion = "0.3.1"
[[bench]]
name = "example_bench"
harness = false
# [[bench]]
# name = "example_bench"
# harness = false

@ -1,3 +0,0 @@
All rights reserved by Jacob Hrbek <kreyren@rixotstudio.cz> in 12/07/2018 unless explicitedly specified otherwise.
This repository is designed to be used with a licences specified in src/licences that are custom made for this project and projects alike to define a new standard.

72
LICENSE/EN-LICENSE.md Normal file

@ -0,0 +1,72 @@
<!--
Expecting
- Paid for commercial use (small fee maybe depending on the amount of employees) unless said person is actively contributing to the repository (free-of-charge)
- Do not allow keeping the source code closed
- Forks are allowed only for contribution unless upstream prevents implementation (excluding changes to the license over which the upstream has full control for obvious reasons, but allow contributions to the license) of a feature for which the fork would be allowed as standalone (This is made to direct the workflow)
- Add method to handle projects that rewrite this in a different programming language -> Host in our organization
- Anyone can request additional rights for the use of this software (We try to make this as free as possible with the option to finance the development)
- Paid for non-contributing users?
- Since non-contributing users are basically investment (usually with low return value) of our resources and to encourage contribution in docummentation, etc..?
-->
# RXT ZERNIT LICENSE (RXT0112-LICENSE)
Version 0, 20 January 2020
Copyright (C) 2020 [RiXotStudio](http://rixotstudio.cz)
Copyright (C) 2019 [Jacob Hrbek](mailto:kreyren@rixotstudio.cz)
<!-- FIXME: Rephrase -->
None is allowed to distribute copies of this license without explicit permission granted by this license.
<!-- FIXME: Render preamble in the middle of the documment -->
## Preamble
This license is made to protect the intellectual property and direct workflow of project codenamed as **RXT0112** also known as **Zernit** where this license is developed based on [GPL-3 license](https://www.gnu.org/licenses/gpl-3.0.en.html) and [Free Software Foundation](https://www.fsf.org) philosophy adapted for commercial use.
License is community maintained where only the authorized personel identified as **license managers** (or LM for short) are permitted to make changes in the original repository in which this license has been created.
These authorized personel can be also clarified in `.github/CODEOWNERS` to appropriate GitHub Team or personal to allow auto-merge in source.
## TERMINOLOGY
### Comments
Comments are a feature in Markdown (Formatting method used to write this file) that do not render on runtime and are not part of the license.
Every comment is prefixed with `<!--` and suffixed with `-->` which can be applied through multiple lines.
### License Managers (or 'LM' for short)
**L**icense **M**anagers clarified in path `.github/CODEOWNERS` in this repository are authorised personell with permission to perform merges in LICENSE files.
### Original Creator (or 'OC' for short)
Original Creator of this repository is `Jacob Hrbek <kreyren@rixotstudio.cz>`. OC reserves all rights to whole repository unless license provide in the root of affected directory of file header states otherwise.
### Repository Managers (or 'RM' for short)
Repository Managers are defined as service with the ability to host this repository for maintainer or General Public access.
### Merge Request
Also wrongly named as 'Pull Requst' by many RMs is method to submit new changes in the target repository.
#### Draft Merge Requests
Referencing https://github.blog/2019-02-14-introducing-draft-pull-requests/ for upstream (github) explanation.
In short this is merge request which is being worked on before it can be submitted for review and considered for merge.
### Forks
Forks are RM's features that allows anyone to make a copy of a repository in their specified profile.
## Terms and conditions
### Contributions
Everyone is allowed to fork this repository as long as the source code stays public with the intention to provide a contribution to the original repository.
Creating standalone forks alike creating standalone fork with the intention to provide unique features that are not developed with the intention to contribute the changes in original repository are not allowed and OC reserves an explicit permission to issue DMCA takedown to prevent segmentation of original repository.
Contributions of new features are expected to be submitted in a form of new merge request set as draft until reviw is requested by switching the contribution from draft to open.
Contributor has the right to specify his own license assuming following methods used:
- License specified as comment in the header (or at the top) of the file which will apply only for specified file
This clarification has to follow this syntax:
```
Created by Jon Doe <jon@doe.wow> using LICENSE (hyperlink://on.theLicense.wow) in 2020
```
- `LICENSE` or `LICENSE.md` file created in the root of directory which will be applied for the whole directory.

3
LICENSE/README.md Normal file

@ -0,0 +1,3 @@
This directory contains license used for the whole repository unless defined otherwise in the license itself.
Everyone has the right to propose new changes for review with reasoning to why they should be adapted.

@ -8,17 +8,17 @@ all:
@ printf '%s\n' "Unknown option '$1' parsed in target all"
@ exit 2
## UNLEASH RUNTIME ##
unleash-elisp:
@ src/RXT0112-1/downstream-classes/zeres-0/elisp/UNLEASH.el
## BUILD ##
# All build targets are expected in 'build/build-LANG' where 'LANG' is the unique identifier of the language used
# FIXME: Replace 'exit 1' with helpful messages
build: build-rustlang build-clang-c build-gcc-c build-gcc-ccp build-clang build-brainfuck build-python build-vlang build-golang
@ printf 'WARN: %s\n' "You are abould to build all targets on multilang project"
# Fetch files from third parties
vendor:
@ [ ! -d vendor ] && mkdir vendor
@ [ ! -d vendor/rustlang ] && mkdir vendor/rustlang
@ [ ! -d vendor/rustlang/clap-rs ] && git clone https://github.com/clap-rs/clap.git vendor/rustlang/clap-rs
@ for file in vendor/rustlang/clap-rs/benches/*; do cp "$$file" benches/rustlang/claprs-$${file##vendor/rustlang/clap-rs/benches/??_}; done
build: build-rustlang build-clang-c build-gcc-c build-gcc-ccp build-clang-ccp build-brainfuck build-python build-vlang build-golang
# FIXME: Build in '$repodir/build/build-rustlang' instead of '$repodir/target' for multilang support
build-rustlang:
@ -26,22 +26,18 @@ build-rustlang:
# FIXME: Add logic
build-clang-c:
@ # Make a build directory
@ [ ! -d build ] && { mkdir build || exit 1 ;} || exit 0
@ [ ! -d build/build-clang-c ] && { mkdir build/build-clang-c || exit 1 ;} || exit 0
@ # Compilation
@ [ ! -f build/build-clang-c/zernit-clang-c ] && { clang src/bin/main.c -o build/build-clang-c/zernit-clang-c || exit 1 ;} || exit 0
@ printf '%s\n' "Compilation of target for clang-c finished"
@ exit 1
build-gcc-c:
@ # Make a build directory
@ [ ! -d build ] && { mkdir build || exit 1 ;} || exit 0
@ [ ! -d build/target-gcc-c ] && { mkdir build/build-gcc-c || exit 1 ;} || exit 0
@ [ ! -d build ] && { mkdir build || exit 1 ;}
@ [ ! -d build/target-gc ] && { mkdir build/build-gc || exit 1 ;}
@ # Compilation
@ [ ! -f build/build-gcc-c/zernit-gcc-c ] && { gcc src/bin/main.c -o build/build-gcc-c/zernit-gcc-c || exit 1 ;} || exit 0
@ printf '%s\n' "Compilation of target for gcc-c finished"
@ ## gc is not available on github -> Using GCC
@
@ [ ! -f build/build-gc/gc-zernit ] && { gcc src/bin/main.c -o build/build-gc/gc-zernit || exit 1 ;}
@ printf '%s\n' "Compilation of target for gc finished"
# FIXME: Replace 'exit 1' with helpful messages
build-gcc-ccp:
@ -122,16 +118,19 @@ check-vlang:
# FIXME: Run all benches if this is executed
bench: bench-rustlang
# FIXME: Run vendor and
bench-rustlang:
# FIXME: Run vendor and
bench-rustlang: vendor
@ cargo bench
## CLEAN ##
clean: clean-vendor clean-benches
@ [ -d build ] && { rm -rf build || exit 1 ;} || exit 0
@ [ -d build ] && rm -rf build
@ printf '%s\n' "Build directory has been cleaned"
clean-vendor:
@ # FIXME: Output helpful message if directory doesn't exists
@ [ -d vendor ] && { rm -rf vendor || exit 1 ;} || exit 0
@ [ -d vendor ] && rm -rf vendor
clean-benches:
@ for file in benches/rustlang/claprs-*; do rm "$$file"; done

1
QA/README.md Normal file

@ -0,0 +1 @@
Backend for Quality Assurance

51
QA/github/NAME-ME.yml Normal file

@ -0,0 +1,51 @@
name: NAME-ME
on: [push, pull_request]
# TODO
## Change profile photo of this CI
## Greet end-user submiting merge request that is not in blacklist (blacklist used for trusted devs) with message ensuring QA
## Greet end-user submiting merge request with checklist
## Adapt lable handling
jobs:
build-ubuntu:
runs-on: ubuntu-latest
steps:
- name: Install dependencies
# FIXME: Get libfuse3-dev for tests on etcfs.c
run: sudo apt-get install meson cppcheck clang gcc git ninja-build bison libtool autoconf pkg-config libcap-dev indent fakeroot uthash-dev gzip rsync autopoint shellcheck -y && sudo wget https://github.com/mvdan/sh/releases/download/v3.0.0-beta1/shfmt_v3.0.0-beta1_linux_amd64 -O /usr/bin/shfmt && sudo chmod +x /usr/bin/shfmt
- uses: actions/checkout@v1
#- name: Compile
# Disable signature for tests
# run: CFLAGS="-O3 --pipe" make SKIPSIGN=true --jobs
- name: Lint
run: make check
build-macos:
runs-on: macos-latest
steps:
- name: Install dependencies
run: brew install shellcheck
- uses: actions/checkout@v1
- name: Lint
run: make check
build-freebsd:
runs-on: freebsd-latest
steps:
- name: Install dependencies
run: pkg install hs-ShellCheck
- uses: actions/checkout@v1
- name: Lint
run: make check
build-redox:
runs-on: redox-latest
steps:
- name: Install dependencies
run: printf '%s\n' "This is a gesture to redox developers to encourage development, once we are able to install required packages we will use them"
- name: Lint
run: make check
build-windows:
runs-on: windows-latest
steps:
- name: Lint
run: make check

@ -1,2 +0,0 @@
# Configuration file for bandit (security check for python)

3
benches/README.md Normal file

@ -0,0 +1,3 @@
Directory for benchmarks of the source
FIXME: Add benchmarks

@ -1,11 +1,5 @@
use criterion::{black_box, criterion_group, criterion_main, Criterion};
/*
This is base benchmark made for consistency
FIXME-BENCH: Make cargo to recognize `benches/rustlang` path instead of `benches/`
*/
fn fibonacci(n: u64) -> u64 {
match n {
0 => 1,

@ -1,11 +0,0 @@
Stub for new website implementation
Expecting
- User database to handle the workflow
- Method to host repositories
- sourcehut implementation
- Social-network like platform so that users can communicate with each other
efficency is a concer when php 8.0 and golang seems to be the best candidates
for golang https://github.com/gogs/gogs could be forked?

@ -1,6 +1,7 @@
---
category: Maintainance
title: 'Review process'
layout: nil
---

@ -1,30 +0,0 @@
---
category: About
title: 'Four freedoms compliance'
layout: nil
---
Disclaimer: This is still part of ongoing effort to make this repository FSF approved while allow for sustainable business plan assuming this repository being expected to be used for commercial use.
Content provided in this post is subject to change and contributions are welcommed where we are welcomming challenges about these decisions and requests to adapt license for your workflow.
Based on feedback from majority of Free Software Foundation members based on discussion in https://forum.members.fsf.org/t/help-me-with-gpl-3-inspired-license-designed-for-commercial-use-and-to-avoid-segmentation/1953/59 this repository does not comply with four freedoms as follows where we are doing our best on ongoing effort to make this project compliant while allowing sustainable business plan:
- The freedom to run the program as you wish, for any purpose (freedom 0).
Usage of software is restricted by the license to direct the workflow in original repository since segmentation as example provided with ripple project on https://github.com/osuripple/lets/pull/5 to avoid segmentation alike https://github.com/light-ripple and many others that based on our point of view only sabotages the original project.
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
We believe that this is not restricted since the project is open-source and you are allowed to perform any changes where the features that can be merged in original project are required to be merged where we will grant you write access based on proved competence to maintian said part with planned option to get paid for this service.
If the fork does not have a feature that could be merged in the project itself then we allow this fork.
- The freedom to redistribute copies so you can help others (freedom 2).
This is restricted since spread of malware of outdated versions of this project is a concern.
License is planned to contain conditions to avoid this unwanted behavior.
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
This is not restricted for standalone forks as long as said repositories are not containing features that project finds usefull in which scenario we will provide an official way for said feature to be merged in our upstream without restricting your right to have access in said code assuming that you are competent enough to perform such maintainance. If not we do our best to teach you.

@ -1,12 +0,0 @@
SUCCESS: test!
SUCCESS: test!
SUCCESS: nil
SUCCESS: nil
SUCCESS: nil
SUCCESS: nil
SUCCESS: nil
SUCCESS: nil
SUCCESS: nil
SUCCESS: nil
SUCCESS: nil
SUCCESS: nil

@ -1,34 +0,0 @@
FROM debian:latest
# To avoid bricked workspaces (https://github.com/gitpod-io/gitpod/issues/1171)
ENV DEBIAN_FRONTEND=noninteractive
USER root
ENV LANG=en_US.UTF-8
ENV LC_ALL=C
# Add 'gitpod' user
RUN useradd \
--uid 33333 \
--create-home --home-dir /home/gitpod \
--shell /bin/bash \
--password gitpod \
gitpod || exit 1
# Install dependencies
RUN apt-get update \
&& apt-get install -y rustc sudo cargo pkg-config \
&& : "Install hadolint if not available in downstream" \
&& if ! apt-cache search hadolint | grep -qP "^hadolint -.*"; then { if ! command -v wget >/dev/null; then apt-get install -y wget; fi ;} && wget https://github.com/hadolint/hadolint/releases/download/v1.17.5/hadolint-Linux-x86_64 -O /usr/bin/hadolint && { [ ! -x /usr/bin/hadolint ] && chmod +x /usr/bin/hadolint ;}; elif apt-cache search hadolint | grep -qP "^hadolint -.*"; then apt-get install -y hadolint; fi \
&& curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/*
# Add custom functions
RUN if ! grep -qF 'ix()' /etc/bash.bashrc; then printf '%s\n' \
'# Custom' \
"ix() { curl -F 'f:1=<-' ix.io 2>/dev/null ;}" \
>> /etc/bash.bashrc; fi
USER gitpod

@ -1,15 +1 @@
FROM scratch
# Blocked by https://github.com/gitpod-io/gitpod/issues/39
COPY gitpod/scripts/root-access.sh /usr/bin/root-access
RUN true "7a8fhs1g" \
&& chmod +x /usr/bin/root-access \
&& /usr/bin/root-access \
&& rm /usr/bin/root-access
# Blocked by https://github.com/gitpod-io/gitpod/issues/1265
COPY gitpod/scripts/vm-support.sh /usr/bin/vm-support
RUN true "dg798sda7h" \
&& chmod +x /usr/bin/vm-support \
&& /usr/bin/vm-support \
&& rm /usr/bin/vm-support
FROM scratch

@ -1,21 +1,5 @@
FROM gitpod/workspace-full-vnc:latest
# Blocked by https://github.com/gitpod-io/gitpod/issues/39
COPY gitpod/scripts/root-access.sh /usr/bin/root-access
RUN true "7a8fhs1g" \
&& chmod +x /usr/bin/root-access \
&& /usr/bin/root-access \
&& rm /usr/bin/root-access
# Blocked by https://github.com/gitpod-io/gitpod/issues/1265
COPY gitpod/scripts/vm-support.sh /usr/bin/vm-support
RUN true "dg798sda7h" \
&& chmod +x /usr/bin/vm-support \
&& /usr/bin/vm-support \
&& rm /usr/bin/vm-support
# FIXME: Add hadolint executable
# To avoid bricked workspaces (https://github.com/gitpod-io/gitpod/issues/1171)
ARG DEBIAN_FRONTEND=noninteractive
@ -29,19 +13,10 @@ RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
&& apt-get upgrade -y \
&& curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - \
&& apt dist-upgrade -y \
&& : "Install hadolint if not available in downstream" \
&& if ! apt-cache search hadolint | grep -qP "^hadolint -.*"; then { if command -v wget >/dev/null; then apt install -y wget; fi ;} && wget https://github.com/hadolint/hadolint/releases/download/v1.17.5/hadolint-Linux-x86_64 -O /usr/bin/hadolint && { [ ! -x hadolint ] && chmod +x /usr/bin/hadolint ;}; elif apt-cache search hadolint | grep -qP "^hadolint -.*"; then apt install -y hadolint; fi \
&& apt-get install -y clang valgrind shellcheck docker-ce docker-ce-cli containerd.io firefox tree xclip umbrello gnuplot fish zsh dia \
&& apt-get install -y clang shellcheck docker-ce docker-ce-cli containerd.io firefox tree xclip umbrello gnuplot \
&& rm -rf /var/lib/apt/lists/* \
&& apt autoremove -y
## User config
# USER gitpod
# RUN curl -L https://get.oh-my.fish | fish \
# && sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" \
# && git clone --depth=1 https://github.com/Bash-it/bash-it.git /usr/src/bash-it \
# && /usr/src/bash-it/install.sh
### VLANG ###
USER root
ENV VLANG_VERSION="0.1.24"
@ -54,4 +29,4 @@ RUN if ! grep -qF 'ix()' /etc/bash.bashrc; then printf '%s\n' \
'# Custom' \
"ix() { curl -F 'f:1=<-' ix.io 2>/dev/null ;}" \
"xcopy() { xclip -se C ;}" \
>> /etc/bash.bashrc; fi
>> /etc/bash.bashrc; fi

@ -1,43 +0,0 @@
#!/bin/sh
# Created by Jacob Hrbek <kreyren@rixotstudio.cz> under GPLv3 <https://www.gnu.org/licenses/gpl-3.0.en.html> in 19/05/2020 16:28
###! Terminate gitpod if the blocking root access bug has not been resolved yet
# FIXME: Quick-script
set -e
# FIXME: Rushed
die() {
printf 'FATAL: %s\n' "$2"
exit "$1"
}
# FIXME: Sanitize
if ! command -v curl 1>/dev/null; then
apt-get update
apt-get install curl -y
elif command -v curl 1>/dev/null; then
true
else
die 255 "processing curl"
fi
bugStatus="$(curl https://api.github.com/repos/gitpod-io/gitpod/issues/39 2>/dev/null | grep -o state.* || true)"
case "$bugStatus" in
"state\": \"open\",")
printf '\033[31m\033[1mBLOCKED:\033[0m %s\n' "Gitpod does not provide a root access which is mandatory for this repository, see it's tracking in https://github.com/gitpod-io/gitpod/issues/39"
if [ "$GITPOD_IGNORE_BLOCKERS" != 1 ]; then
exit 1
else
true
fi
;;
"state\": \"closed\",")
true
;;
*)
printf '\033[31m\033[1mBUG:\033[0m %s\n' "GitHub API returned an unknown state '$bugStatus' of bug https://github.com/gitpod-io/gitpod/issues/39"
exit 1
esac

@ -1,43 +0,0 @@
#!/bin/sh
# Created by Jacob Hrbek <kreyren@rixotstudio.cz> under GPLv3 <https://www.gnu.org/licenses/gpl-3.0.en.html> in 19/05/2020 16:28
###! Terminate gitpod if the blocking root access bug has not been resolved yet
# FIXME: Quick-script
set -e
# FIXME: Rushed
die() {
printf 'FATAL: %s\n' "$2"
exit "$1"
}
# FIXME: Sanitize
if ! command -v curl 1>/dev/null; then
apt-get update
apt-get install curl -y
elif command -v curl 1>/dev/null; then
true
else
die 255 "processing curl"
fi
bugStatus="$(curl https://api.github.com/repos/gitpod-io/gitpod/issues/1265 2>/dev/null | grep -o state.* || true)"
case "$bugStatus" in
"state\": \"open\",")
die 1 "Gitpod does not provide a VM support which blocks cross-platform development, see tracking on https://github.com/gitpod-io/gitpod/issues/1265"
if [ "$GITPOD_IGNORE_BLOCKERS" != 1 ]; then
exit 1
else
true
fi
;;
"state\": \"closed\",")
true
;;
*)
printf '\033[31m\033[1mBUG:\033[0m %s\n' "GitHub API returned an unknown state '$bugStatus' of bug https://github.com/gitpod-io/gitpod/issues/1265"
exit 1
esac

@ -1,191 +0,0 @@
#!/usr/bin/zernit sh
# Created by Jacob Hrbek <kreyren@rixotstudio,cz> under all rights reserved in 11/08/2020 01:02:33 CEST
# shellcheck shell=sh # Written to be POSIX compatible
###! Script designed to generate the white paper for this project in supported language
###! The whitepaper should be done to be understandable by the general public so avoid over-complication where possible.
[ -n "$whitepaperPath" ] || whitepaperPath="README.md"
# FIXME: Implement logic to deduce this
UPSTREAM_NAME="Zernit"
sectionNumber=0
# Exit on anything unexpected to capture code quality issues
set -x
# Wipe the current whipaper
"$PRINTF" '%s\n' "" > "$whitepaperPath"
# Title
case "$LANG" in
*)
"$CAT" <<-EOF >> "$whitepaperPath"
<h1 align="center">
<a href=$UPSTREAM_REPOSITORY>$PROJECT_NAME</a>
</h1>
EOF
esac
# Preamble
case "$LANG" in
en-*|*)
"$CAT" <<-EOF >> "$whitepaperPath"
$PROJECT_NAME is a system-manager designed to make devices capable of running our written logic painless and efficient while maintaining highest possible code quality standard and platform compatibility.
This whitepaper is not legally bindable and is provided to be used as a reference for the software development and comunity management.
If you find a conflicting part in the source code, then file a new tracking in $UPSTREAM_REPOSITORY and we will process it with relevant priority to ensure that these conditions are met as soon as possible or brainstorm it for this whitepaper to be updated.
Contributions to this whitepaper and suggestions are appreciated to influece the relevant software development.
EOF
esac
# Terminology
case "$LANG" in
en-*|*)
"$CAT" <<-EOF >> "$whitepaperPath"
## $(( sectionNumber + 1 )). Terminology
Software Users (SU) -- Parties that are using this software or are in other way affiliated with it or it's development
EOF
esac
# Ethicality
case "$LANG" in
en-*|*)
"$CAT" <<-EOF >> "$whitepaperPath"
## $(( sectionNumber + 1 )). Project ethiques
FIXME-DOCS
EOF
esac
# Privacy
# FIXME: Add logic for the sub number
case "$LANG" in
en-*|*)
"$CAT" <<-EOF >> "$whitepaperPath"
### $sectionNumber.1 Privacy
This project is designed to provide the absolute anonimity without compromise for it's SU unless relevant juristiction forces it to require informations of relevant parties in the area where said juristiction has the rightful authority to enforce these information processing that would otherwise make the usage of this software illegal in that area.
Data of SU should never be processed without an explicit permission that has to be opted-in and NEVER set by default at the cost of software malfunction (that should be sanitized to avoid fatal failure) where SU should never be prevented from using this software just because they don't want to provide their personal information.
Functions that explicitely require personal information should fail safely if said information is not provided or use a default value allowing the SU to blend into a crowd of anonymous users.
From experience with Enoch-based distributions alike Gentoo Linux as explained on hyperlink https://wiki.gentoo.org/wiki/User:MGorny/GCO_real_name_requirement it's required to provide an indentification to be allowed to submit changes to the source code.
This should never be limited on this project where possible and SU should have the option to submit their contribution under project's name (with their nickname if desired) if they don't want to or can't affort sharing this kind of information assuming that the contribution doesn't break the legal cleanroom and does not have a copyright which would make it impossible to be used in judistical areas that honors copyright law.
EOF
esac
# Freedom
# FIXME: Add logic for the sub number
case "$LANG" in
en-*|*)
"$CAT" <<-EOF >> "$whitepaperPath"
### $sectionNumber.1 Freedom of relevant parties
This project is designed to give it's SU the full freedom of doing whatever they want with the software and most importantly with it's source code as long as it doesn't have a negative impact on the business plan with some flexibility from the Software Authorities.
This solution is not ideal, but it's the best that we currently have, proposals for a better solution are appreciated.
The license should contain 'Four Freedom Compilance' that should be maintained over time to ensure that the license complies with four essential freedoms of Free Software defined by Free Software Foundation as explained in https://en.wikipedia.org/wiki/The_Free_Software_Definition#The_Four_Essential_Freedoms_of_Free_Software
It's important to mension that this project can be abused for an illegal activity as a result of provided freedom above that the project has legal obligation to enforce per local juristiction of the user assuming that the user chosed to provide it's locality where these laws applies. Thus users that chosed to not provide their location should be warned about this risk as they can be legally prosecuted by the relevant juristiction for which zernit is not responsible.
EOF
esac
# Software Design
case "$LANG" in
en-*|*)
"$CAT" <<-EOF >> "$whitepaperPath"
## $(( sectionNumber + 1 )). Software Design
The software is designed to work everywhere possible to be deployed painlessly to manage the target device as efficiently as possible.
EOF
esac
## Cross-platform
case "$LANG" in
en-*|*)
"$CAT" <<-EOF >> "$whitepaperPath"
## $(( sectionNumber + 1 )).1 Cross-platform support
FIXME: Decide
EOF
esac
# FIXME: The backend is currently undetermined
## Downstream
"$CAT" <<-EOF >> "$whitepaperPath"
Zernit is designed to make it efficient for it's SU to implement their own package downstream and make it available for everyone if desired.
Zernit creators are providing their own downstream with work in progress name \`zeres-0\` that is designed to provide system to process source code while giving the SU all available options to efficiently alter the build result
This downstream management is designed to provide tools that may be useful for package processing, but none of them are mandatory meaning that if desired you can run a blank file and zernit won't stop you.
To ensure the expected runtime this is expected to be enforced through provided standard per downstream repository.
## List of downstream items
Zeres-0 devices it's downstream into a \`downstream items\` each of which is designed to process diferent product.
### Packages
Used to process various source code into a package that can be imported on the target system/sandbox.
This downstream item is designed to either process the source code of the software into a package that then can be imported on the system or using pre-built binary with static options made to work on majority of devices.
In terms of database this requires following entries:
- Package Name
- Package Category
- Package Version
- Package Slot
And optionally:
- Homepage
- Upstream repository URL
- Upstream name
- Upstream organization
- License
- And anything relevant which the SU can cherrypick per system
Each package is processed through phases that are designed to each process specific part of the package where the developers have the option to specify which phases will be used to process the package meaning than none of these are mandatory at the cost of software malfunction:
- Fetch
Fetch the source code in the specified destination for processing
- Checksum check
Designed to check the checksum of fetched files that can be (if desired):
1. Checked agains virustotal database
2. Checked agains provided checksum by downstream to ensure that expected file is fetched for processing
- Cache
Designed to cache the source code tarball for processing
SU has options to:
1. Cache the tarball so if the tarball is needed zernit can get this file locally
2. Provide this file as standalone mirror that can be added to the downstream
3. Provide this file through torrent for peer-2-peer distribution
4. Provide this file through custom torrent-inspired distribution system focused on privacy and security
- Configure
Designed to configure the source code for proccessing in the \`compile\` phase
- Compile
Designed to provide backend required to process the package for compilation
- Sandbox
Designed to place the runtime in a jail that prevents the software from accessing the live userland.
- Containerize
Designed to place the content of \`IMAGE\` directory into a redistributable container that runs on the target system without the need for dependencies
To ensure compatibility this has to have a logic to determine wether it's being run on a supported system.
This can be also used for release of pre-compiled targets
- Merge
Merge the content of \`IMAGE\` directory into a live system
### Audio
Designed for distribution of audio tracks
In terms of database this requires following entries:
- Artist name
- Song name
And optionally:
- License
EOF

@ -1,7 +0,0 @@
# The unnamed package manager
FIXME: We need a name (https://github.com/RXT0112/Zernit/issues/156)
Directory for the system manager source code
FIXME: Name required

@ -1,5 +0,0 @@
Directory for benchmarks of the source
FIXME: Add benchmarks
FIXME: Differenciate benchmarks per programming language i.e benches/rustlang/example_bench.rs

@ -1,39 +0,0 @@
#!/bin/sh
# Source kreypi's output functions
for libs in src/libs/shell/kreypi/output/*; do
. "src/libs/shell/kreypi/output/$libs"
done
# Source assertion function
. src/libs/shell/kreypi/terminators/die.sh
subcomdir="src/subcoms/shell/"
# Argument management
## NOTICE: This is used to source arguments based on filenames in subcomdir
efixme "Check security of argument management"
code=':'
for file in "$subcomdir/*"; do
[ ! -f "$file" ] && die 1 "Unable to find a file '$file' in $subcomdir "
# To avoid code injection
case $file in *[![:alnum:]]*)
die 1 "CODE_INJECTION_WARNING: Unsafe name encountered - $file" ;;
esac
code="$code | \"$file\""
done
eval "$code"
# LEGACY: Remove me once ready
# while [ $# -ge 1 ]; do case "$1" in
# --help|-h|help)
# efixme "Help message here"
# shift 1
# ;;
# command1 | command2 | command3 | command4)
# something ;;
# $(for file in src/subcoms/shell/*; do printf '%s\n' "$file | "; done)X)
# efixme "Provide logic to execute subcommands" ;;
# *)
# die 2 "FIXME: Syntax error"
# esac; done

@ -1 +0,0 @@
FIXME: WIP directory designed for Continuous Delivery of the source code

@ -1,7 +0,0 @@
FIXME: WIP directory designed for quality assurance (also known as Continuous Integration)
FIXME: The logic should be managed by a custom management system (Should be implemented through https://github.com/RXT0113 so that it can be maintained cross-project)
FIXME: Support for TravisCI
FIXME: Support for GitHubCI
FIXME: Support for CircleCI
FIXME: Support for SourceHutCI

@ -1,3 +0,0 @@
This is legacy after sourcehut tests that are now blocked by https://github.com/RXT0112/Zernit/issues/51
We decided to stub this here since sourcehut it cool and we would like to use it if these problems are resolved.

@ -1,26 +0,0 @@
image: archlinux
packages:
- meson
- scdoc
- wayland-protocols
- wlroots-git
- wayland
- libxkbcommon
- cairo
- cargo
- pango
- gdk-pixbuf2
- pixman
- libinput
- xorg-server-xwayland
sources:
- https://github.com/RXT0112/Zernit
tasks:
- build: |
cd Zernit
if git --no-pager diff --name-only origin/master | grep -q ".*.rs$"; then cargo build; fi
complete-build
- bench: |
cd Zernit
if git --no-pager diff --name-only origin/master | grep -q ".*.rs$"; then cargo bench; fi
complete-build

@ -1,8 +0,0 @@
# Downstream distribution
To ensure the quality provided on downstream for various distributions this repository prohibits distribution maintainers from making their own 3rd party logic for a package managers thus this directory has been created to monitor the downstream while providing an upstream support.
Distribution maintainers that do not satisfy the required standard are not allowed to keep source code for Zernit in their repositories.
FIXME-LEGAL(Krey): Update Legal
FIXME-QA(Krey): Provide a CI that tests the downstream on relevant distributions
FIXME-QA(Krey): Provide a CD that distributes the downstream instructions the way that the maintainer prefers (expected to be automated once the change has been made, approved and passed QA)

@ -1,3 +0,0 @@
# downstream-classes
This directory is used to define logic for various downstreaming methods used in zernit

@ -1,3 +0,0 @@
# zeres-0
Initial class designed for the downstream in posix shell

@ -1,5 +0,0 @@
# Zeres-0 (Bash)
This directory contains logic for zeres-0 to process standardized bash/shell downstream
The `UNLEASH` file is the first thing invoked by zernit

@ -1,336 +0,0 @@
#!/bin/sh
# All rights reserved by Jacob Hrbek <kreyren@rixotstudio.cz> in 04/2020 (Prepared for four freedom respecting license)
# Peer-reviewed by: <YOUR_NAME> <YOUR_EMAIL> in <DATE+TIME+TIMEZONE>
# shellcheck shell=sh
###! Base bashrc for zernit's bash backend
###! Requires:
# FIXME: Implement logic for this
###! - Command 'uname' to identify the kernel
# FIXME: Implement logic for this
###! - Command 'lsb_release' or file /etc/os-release to identify distribution and release on linux
###! Exit codes:
###! - FIXME-DOCS(Krey): Defined in die()
###! Platforms:
###! - [ ] Linux
###! - [ ] Debian
###! - [ ] Ubuntu
###! - [ ] Fedora
###! - [ ] NixOS
###! - [ ] Archlinux
###! - [ ] Alpine
###! - [ ] FreeBSD
###! - [ ] Darwin
###! - MacOS
###! - [ ] Redox
###! - [ ] ReactOS
###! - [ ] Windows
###! - [ ] Windows xp
###! - [ ] Windows 7
###! - [ ] Windows 8
###! - [ ] Windows 8.1
###! - [ ] Windows 10
###! - [ ] Windows/Cygwin
###! - [ ] Windows 10
###! Code Quality:
###! - Replace all external commands alike 'uname' with variable to be replaced in command overrides
###! - Everything has to be sanitized
###! - Has to be tested in docker and vagrant
###! - echo() is non-standard on XNU/Darwin -> Use printf
###! - Apply styles to allow translate of the output
###! Resources:
###! - https://pkgs.org | To search Linux distros for files and package informations
# Maintainer info
UPSTREAM="https://github.com/RXT0112/Zernit"
UPSTREAM_NAME="RiXotStudio"
UPSTREAM_EMAIL="rxt0112@rixotstudio.cz"
MAINTAINER_EMAIL="kreyren@rixotstudio.cz"
MAINTAINER_NICKNAME="kreyren"
MAINTAINER_NAME="Jacob"
MAINTAINER_SURNAME="Hrbek"
# FIXME-SUGGESTION: _=${var:="some text"} is less verbose and less error prone than [ -z "$var" ] && var="some text"
# Command overrides
## These may be required on some systems
[ -z "$PRINTF" ] && PRINTF="printf"
[ -z "$WGET" ] && WGET="wget"
[ -z "$CURL" ] && CURL="curl"
[ -z "$ARIA2C" ] && ARIA2C="aria2c"
[ -z "$CHMOD" ] && CHMOD="chmod"
[ -z "$UNAME" ] && UNAME="uname"
[ -z "$TR" ] && TR="tr"
[ -z "$SED" ] && SED="sed"
[ -z "$GREP" ] && GREP="grep"
# Customization of the output
## efixme
[ -z "$EFIXME_FORMAT_STRING" ] && EFIXME_FORMAT_STRING="FIXME: %s\n"
[ -z "$EFIXME_FORMAT_STRING_LOG" ] && EFIXME_FORMAT_STRING_LOG="${logPrefix}FIXME: %s\n"
[ -z "$EFIXME_FORMAT_STRING_DEBUG" ] && EFIXME_FORMAT_STRING_DEBUG="FIXME($myName:$LINENO): %s\n"
[ -z "$EFIXME_FORMAT_STRING_DEBUG_LOG" ] && EFIXME_FORMAT_STRING_DEBUG_LOG="${logPrefix}FIXME($myName:$LINENO): %s\n"
## eerror
[ -z "$EERROR_FORMAT_STRING" ] && EERROR_FORMAT_STRING="ERROR: %s\n"
[ -z "$EERROR_FORMAT_STRING_LOG" ] && EERROR_FORMAT_STRING_LOG="${logPrefix}ERROR: %s\n"
[ -z "$EERROR_FORMAT_STRING_DEBUG" ] && EERROR_FORMAT_STRING_DEBUG="ERROR($myName:$0): %s\n"
[ -z "$EERROR_FORMAT_STRING_DEBUG_LOG" ] && EERROR_FORMAT_STRING_DEBUG_LOG="${logPrefix}ERROR($myName:$0): %s\n"
## edebug
[ -z "$EERROR_FORMAT_STRING" ] && EERROR_FORMAT_STRING="ERROR: %s\n"
[ -z "$EERROR_FORMAT_STRING_LOG" ] && EERROR_FORMAT_STRING_LOG="${logPrefix}ERROR: %s\n"
[ -z "$EERROR_FORMAT_STRING_DEBUG" ] && EERROR_FORMAT_STRING_DEBUG="ERROR($myName:$0): %s\n"
[ -z "$EERROR_FORMAT_STRING_DEBUG_LOG" ] && EERROR_FORMAT_STRING_DEBUG_LOG="${logPrefix}ERROR($myName:$0): %s\n"
## einfo
[ -z "$EINFO_FORMAT_STRING" ] && EINFO_FORMAT_STRING="INFO: %s\n"
[ -z "$EINFO_FORMAT_STRING_LOG" ] && EINFO_FORMAT_STRING_LOG="${logPrefix}INFO: %s\n"
[ -z "$EINFO_FORMAT_STRING_DEBUG" ] && EINFO_FORMAT_STRING_DEBUG="INFO($myName:$0): %s\n"
[ -z "$EINFO_FORMAT_STRING_DEBUG_LOG" ] && EINFO_FORMAT_STRING_DEBUG_LOG="${logPrefix}INFO($myName:$0): %s\n"
## die
### Generic
[ -z "$DIE_FORMAT_STRING" ] && DIE_FORMAT_STRING="FATAL: %s in script '$myName' located at '$0'\\n"
[ -z "$DIE_FORMAT_STRING_LOG" ] && DIE_FORMAT_STRING_LOG="${logPath}FATAL: %s in script '$myName' located at '$0'\\n"
[ -z "$DIE_FORMAT_STRING_DEBUG" ] && DIE_FORMAT_STRING_DEBUG="FATAL($myName:$1): %s\n"
[ -z "$DIE_FORMAT_STRING_DEBUG_LOG" ] && DIE_FORMAT_STRING_DEBUG_LOG="${logPrefix}FATAL($myName:$1): %s\\n"
### Success trap
[ -z "$DIE_FORMAT_STRING_SUCCESS" ] && DIE_FORMAT_STRING_SUCCESS="SUCCESS: Script '$myName' located at '$0' finished successfully\\n"
[ -z "$DIE_FORMAT_STRING_LOG" ] && DIE_FORMAT_STRING_LOG="${logPath}$DIE_FORMAT_STRING_SUCCESS"
[ -z "$DIE_FORMAT_STRING_DEBUG" ] && DIE_FORMAT_STRING_DEBUG="SUCCESS($myName:$1): Script '$myName' located at '$0' finished successfully\\n"
[ -z "$DIE_FORMAT_STRING_DEBUG_LOG" ] && DIE_FORMAT_STRING_DEBUG_LOG="${logPrefix}$DIE_FORMAT_STRING_DEBUG_LOG"
### Syntax error (syntaxerr) trap
[ -z "$DIE_FORMAT_STRING_SYNTAXERR" ] && DIE_FORMAT_STRING_SYNTAXERR="SyntaxErr: Invalid argument(s) '$0' '$1' '$2' '$3' '$4' has been provided to $myName\\n"
[ -z "$DIE_FORMAT_STRING_SYNTAXERR_LOG" ] && DIE_FORMAT_STRING_LOG="${logPath}$DIE_FORMAT_STRING_SUCCESS"
[ -z "$DIE_FORMAT_STRING_SYNTAXERR_DEBUG" ] && DIE_FORMAT_STRING_DEBUG="SyntaxErr($myName:$1): Invalid argument(s) '$0' '$1' '$2' '$3' '$4' has been provided to $myName\\n"
[ -z "$DIE_FORMAT_STRING_SYNTAXERR_DEBUG_LOG" ] && DIE_FORMAT_STRING_DEBUG_LOG="${logPrefix}$DIE_FORMAT_STRING_DEBUG_LOG"
### Fixme trap
[ -z "$DIE_FORMAT_STRING_FIXME" ] && DIE_FORMAT_STRING_FIXME="FATAL: %s in script '$myName' located at '$0', fixme?\n"
[ -z "$DIE_FORMAT_STRING_FIXME_LOG" ] && DIE_FORMAT_STRING_FIXME_LOG="${logPrefix}FATAL: %s, fixme?\n"
[ -z "$DIE_FORMAT_STRING_FIXME_DEBUG" ] && DIE_FORMAT_STRING_FIXME_DEBUG="FATAL($myName:$1): %s, fixme?\n"
[ -z "$DIE_FORMAT_STRING_FIXME_DEBUG_LOG" ] && DIE_FORMAT_STRING_FIXME_DEBUG_LOG="${logPrefix}FATAL($myName:$1): %s, fixme?\\n"
### Bug Trap
[ -z "$DIE_FORMAT_STRING_BUG" ] && DIE_FORMAT_STRING_BUG="BUG: Unexpected happend while processing %s in script '$myName' located at '$0'\\n\\nIf you think that this is a bug, the report it to $UPSTREAM to @$MAINTAINER_NICKNAME with output from $logPath for relevant runtime"
[ -z "$DIE_FORMAT_STRING_BUG_LOG" ] && DIE_FORMAT_STRING_BUG_LOG="${logPrefix}$DIE_FORMAT_STRING_BUG"
[ -z "$DIE_FORMAT_STRING_BUG_DEBUG" ] && DIE_FORMAT_STRING_BUG_DEBUG="BUG:($myName:$1): ${DIE_FORMAT_STRING_BUG%%BUG:}"
[ -z "$DIE_FORMAT_STRING_BUG_DEBUG_LOG" ] && DIE_FORMAT_STRING_BUG_DEBUG_LOG="${logPrefix}$DIE_FORMAT_STRING_BUG_DEBUG"
### Fixme trap
[ -z "$DIE_FORMAT_STRING_FIXME" ] && DIE_FORMAT_STRING_FIXME="FATAL: %s in script '$myName' located at '$0', fixme?\n"
[ -z "$DIE_FORMAT_STRING_FIXME_LOG" ] && DIE_FORMAT_STRING_FIXME_LOG="${logPrefix}FATAL: %s, fixme?\n"
[ -z "$DIE_FORMAT_STRING_FIXME_DEBUG" ] && DIE_FORMAT_STRING_FIXME_DEBUG="FATAL($myName:$1): %s, fixme?\n"
[ -z "$DIE_FORMAT_STRING_FIXME_DEBUG_LOG" ] && DIE_FORMAT_STRING_FIXME_DEBUG_LOG="${logPrefix}FATAL($myName:$1): %s, fixme?\\n"
### Unexpected trap
[ -z "$DIE_FORMAT_STRING_UNEXPECTED" ] && DIE_FORMAT_STRING_UNEXPECTED="FATAL: Unexpected happend while %s in $myName located at $0\\n"
[ -z "$DIE_FORMAT_STRING_UNEXPECTED_LOG" ] && DIE_FORMAT_STRING_UNEXPECTED_LOG="${logPrefix}FATAL: Unexpected happend while %s\\n"
[ -z "$DIE_FORMAT_STRING_UNEXPECTED_DEBUG" ] && DIE_FORMAT_STRING_UNEXPECTED_DEBUG="FATAL($myName:$1): Unexpected happend while %s in $myName located at $0\\n"
[ -z "$DIE_FORMAT_STRING_UNEXPECTED_DEBUG_LOG" ] && DIE_FORMAT_STRING_UNEXPECTED_DEBUG="${logPrefix}FATAL($myName:$1): Unexpected happend while %s\\n"
# elog
[ -z "$ELOG_FORMAT_STRING_DEBUG_LOG" ] && ELOG_FORMAT_STRING_DEBUG_LOG="${logPrefix}LOG: %s\\n"
# ebench
[ -z "$EBENCH_FORMAT_STRING_START" ] && EBENCH_FORMAT_STRING_START="BENCHMARK: Starting benchmark for action %s\n"
[ -z "$EBENCH_FORMAT_STRING_RESULT" ] && EBENCH_FORMAT_STRING_RESULT="BENCHMARK: Action %s took $SECONDS seconds\n"
# invoke_privileged
[ -z "$INVOKE_PRIVILEGED_FORMAT_STRING_QUESTION" ] && INVOKE_PRIVILEGED_FORMAT_STRING_QUESTION="### PRIVILEGED ACCESS REQUEST ###\n\n\s\n"
# Exit on anything unexpected
set -e
# NOTICE(Krey): By default busybox outputs a full path in '$0' this is used to strip it
myName="${0##*/}"
# Used to prefix logs with timestemps, uses ISO 8601 by default
logPrefix="[ $(date -u +"%Y-%m-%dT%H:%M:%SZ") ] "
# Path to which we will save logs
# NOTICE(Krey): To avoid storing file '$HOME/.some-name.sh.log' we are stripping the '.sh' here
# FIXME-QA: Make sure the the directory path is present or this fails
# FIXME-COMPAT: Make sure this works on Windows and Darwin
logPath="${XDG_DATA_HOME:-$HOME/.local/share}/${myName%%.sh}.log"
# inicialize the script in logs
# FIXME: Allow end-users to customize this
"$PRINTF" '%s\n' "Started $myName on $("$UNAME" -s) at $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> "$logPath"
# DNM: Specify the path to die()
. path/to/die
# DNM: Specify the path
. path/to/einfo
. path/to/ewarn
. path/to/efixme
efixme() { funcname=efixme
if [ "$IGNORE_FIXME" = 1 ]; then
edebug fixme "Fixme message for '$2' disabled"
elif [ "$IGNORE_FIXME" = 0 ] || [ -z "$IGNORE_FIXME" ]; then
if [ "$DEBUG" = 0 ] || [ -z "$DEBUG" ]; then
"$PRINTF" "$EFIXME_FORMAT_STRING" "$2"
"$PRINTF" "$EFIXME_FORMAT_STRING" "$2" >> "$logPath"
unset funcname
return 0
elif [ "$DEBUG" = 1 ]; then
"$PRINTF" "$EFIXME_FORMAT_STRING_DEBUG" "$2"
"$PRINTF" "$EFIXME_FORMAT_STRING_DEBUG_LOG" "$2" >> "$logPath"
unset funcname
return 0
else
case "$LANG" in
# FIXME-TRANSLATE: Translate to more languages
en-*|*) die 255 "processing DEBUG variable with value '$DEBUG' in $funcname"
esac
fi
else
case "$LANG" in
# FIXME-TRANSLATE: Translate to more languages
en-*|*) die 255 "processing variable IGNORE_FIXME with value '$IGNORE_FIXME' in $0"
esac
fi
}; alias efixme='efixme "$LINENO"'
# Resolve root
rootCheck() { funcname=rootCheck
case "$LANG" in
# FIXME-TRANSLATE: Translate to more languages
en-*|*) edebug "Resolving root on user with ID '$(id -u)"
esac
if [ "$(id -u)" = 0 ]; then
case "$LANG" in
# FIXME-TRANSLATE: Translate to more languages
en-*|*) edebug "Script has been executed as user with ID 0, assuming root"
esac
# NOTICE(Krey): We are prefixing root commands with '$SUDO', this is done to make sure that we are not using sudo here
unset SUDO
funcname="$myName"
return 0
# NOTICE(Krey): The ID 33333 is used by gitpod
elif [ "$(id -u)" = 1000 ] || [ "$(id -u)" = 33333 ]; then
case "$LANG" in
# FIXME-TRANSLATE: Translate to more languages
en-*|*) ewarn "Script $myName is not expected to run as non-root, trying to elevate root.."
esac
if command -v sudo 1>/dev/null; then
case "$LANG" in
en-*|*) einfo "Found 'sudo' that can be used for root elevation"
esac
SUDO=sudo
funcname="$myName"
return 0
elif command -v su 1>/dev/null; then
case "$LANG" in
# FIXME-TRANSLATE: Translate to more languages
en-*|*) einfo "Found 'su' that can be used for a root elevation"
esac
case "$LANG" in
# FIXME-TRANSLATE: Translate to more languages
en-*|*) ewarn "This will require the end-user to parse a root password multiple times assuming that root has a password set"
esac
SUDO=su
funcname="$myName"
return 0
elif ! command -v sudo 1>/dev/null && ! command -v su 1>/dev/null; then
case "$LANG" in
# FIXME-TRANSLATE: Translate to more languages
en-*|*) die 3 "Script $myName depends on root permission to install packages where commands 'sudo' nor 'su' are available for root elevation"
esac
funcname="$myName"
return 0
else
case "$LANG" in
# FIXME-TRANSLATE: Translate to more languages
en-*|*) die 225 "processing root on non-root"
esac
fi
else
case "$LANG" in
# FIXME-TRANSLATE: Translate to more languages
en-*|*) die 3 "Unknown user ID '$(id -u)' has been parsed in script $myName"
esac
fi
}
# Identify system
# FIXME: /etc/issue could also be used to identify the system
# FIXME: /etc/debian_version can also be used
# FIXME: /etc/devuan_version can also be used
if command -v "$UNAME" 1>/dev/null; then
unameKernel="$("$UNAME" -s)"
edebug "Identified the kernel as '$unameKernel"
case "$unameKernel" in
Linux)
KERNEL="$unameKernel"
# Assume Linux Distro and release
# NOTICE(Krey): We are expecting this to return a lowercase value
if command -v "$LSB_RELEASE" 1>/dev/null; then
assumedDistro="$("$LSB_RELEASE" -si | "$TR" :[upper]: :[lower]:)"
assumedRelease="$("$LSB_RELEASE" -cs | "$TR" :[upper]: :[lower]:)"
elif ! command -v "$LSB_RELEASE" 1>/dev/null && [ -f /etc/os-release ]; then
assumedDistro="$("$GREP" -o "^ID\=.*" /etc/os-release | "$SED" s/ID=//gm)"
assumedRelease="$("$GREP" -o"^VERSION_CODENAME\=.*" /etc/os-release | "$SED" s/VERSION_CODENAME=//gm)"
elif ! command -v "$LSB_RELEASE" 1>/dev/null && [ ! -f /etc/os-release ]; then
die 1 "Unable to identify linux distribution using command 'lsb_release' nor file '/etc/os-release'"
else
die 255 "attempting to assume linux distro and release"
fi
edebug "Identified distribution as '$assumedDistro'"
edebug "Identified distribution release as '$assumedRelease'"
# Verify Linux Distro
efixme "Add sanitization logic for other linux distributions"
case "$assumedDistro" in
ubuntu | debian | fedora | nixos | opensuse | gentoo | exherbo)
DISTRO="$assumedDistro"
;;
*) die fixme "Unexpected Linux distribution '$assumedDistro' has been detected."
esac
# Verify Linux Distro Release
efixme "Sanitize verification of linux distro release"
assumedRelease="$RELEASE"
;;
FreeBSD | Redox | Darwin | Windows)
KERNEL="$unameKernel"
;;
*) die 255 "Unexpected kernel '$unameKernel'"
esac
elif ! command -v "$UNAME" 1>/dev/null; then
die 1 "Standard command '$UNAME' is not available on this system, unable to identify kernel"
else
die 255 "Identifying system"
fi
# Define hostname
# NOTICE: Variable 'HOSTNAME' is not defined on POSIX sh
if command -v hostname 1>/dev/null; then
HOSTNAME="$(hostname)"
elif [ -s /etc/hostname ]; then
HOSTNAME="$(cat /etc/hostname)"
elif ! command -v hostname 1>/dev/null && [ ! -s /etc/hostname ]; then
die false "Unable to determine the hostname from command 'hostname' (which doesn't exists) and from file /etc/hostname (that doesn't exists or is blank)"
else
die unexpected "processing hostname"
fi
# Argument management
while [ "$#" -gt 0 ]; do case "$1" in
install-deps)
packageManagement
;;
test-docker-debian)
efixme "Implement logic to make sure that docker is available"
die fixme "Implement tests for debian on docker"
$SUDO docker run debian sh -c "true \
&& apt-get update -q \
&& apt-get install -qy lsb-release \
&& sh $0"
;;
--help|help)
efixme "HELP_MESSAGE"
;;
*)
die 2 "FIXME_MESSAGE"
;;
esac; done

@ -1,3 +0,0 @@
# Identifiers
Functions used to identify various elements on the system i.e kernel

@ -1,22 +0,0 @@
#!/bin/false
# - Used only for sourcing
# Created by Jacob Hrbek <kreyren@rixotstudio.cz> as All Rights Reserved in 18/08/2020 08:13:35 CET
# Peer-reviewed by <NAME> <EMAIL> in <DATE> <TIME> <TIMEZONE>
# shellcheck shell=sh # Written to be posix-compatible
# DNM: Make sure this works
# shellcheck source=src/RXT0112-1/downstream-classes/zeres-0/bash/zernit.bashrc
###! Identifier script used to identify a hostname on the target system and store it in 'HOSTNAME' environment variable
# Define hostname
# POSIX: Variable 'HOSTNAME' is not defined on POSIX sh
if command -v hostname 1>/dev/null; then
HOSTNAME="$(hostname)"
elif [ -s /etc/hostname ]; then
HOSTNAME="$("$CAT" /etc/hostname)"
elif ! command -v hostname 1>/dev/null && [ ! -s /etc/hostname ]; then
die false "Unable to determine the hostname from command 'hostname' (which doesn't exists) and from file /etc/hostname (that doesn't exists or is blank)"
else
die unexpected "processing hostname"
fi

Some files were not shown because too many files have changed in this diff Show More