Compare commits
195 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
5b1b0ebbbc | ||
|
8170c9a6ef | ||
|
ee6dd8e50c | ||
|
f945b9f0be | ||
|
0c0a61ce0e | ||
|
814aab09e3 | ||
|
5f4667e9c7 | ||
|
0b7c3dbec2 | ||
|
4978158fe3 | ||
|
8490247207 | ||
|
9ce917d935 | ||
|
b5bb810393 | ||
|
ca38ef44d5 | ||
|
d724458e9c | ||
|
1ed8f68e66 | ||
|
9d2fdb1797 | ||
|
c0a671f428 | ||
|
88794e46d2 | ||
|
42415d8730 | ||
|
6ec1c9a2d2 | ||
|
b75dd0317b | ||
|
414e050084 | ||
|
f08e44eeed | ||
|
ca6414bd21 | ||
|
b8e1dbb060 | ||
|
d4a408f1a6 | ||
|
684695247f | ||
|
b0be7a415b | ||
|
e986a637e8 | ||
|
15051a2cf9 | ||
|
2ad353e4b0 | ||
|
4416bb962f | ||
|
e31e90fa7b | ||
|
3510e5cd12 | ||
|
d7165bc76b | ||
|
da9321065b | ||
|
279c912d76 | ||
|
cfcd9a770c | ||
|
2289db1b1f | ||
|
5d9137d54e | ||
|
beef2b1bdb | ||
|
cf54385748 | ||
|
f65c112423 | ||
|
2f2927f042 | ||
|
fe3e9f0cda | ||
|
fda3629148 | ||
|
49cb01e2ed | ||
|
5663b7579d | ||
|
992d24d9fb | ||
|
d91dd4ed2f | ||
|
3b50b75f9c | ||
|
9005f623ae | ||
|
40275436ff | ||
|
b735429ee2 | ||
|
a44cf5723f | ||
|
3b76728b79 | ||
|
d1cf4f1a1e | ||
|
459e47b983 | ||
|
7a140c553a | ||
|
2c3e50e327 | ||
|
ab9d973d7c | ||
|
7de8bc8376 | ||
|
7af21dc164 | ||
|
9c12c3bd31 | ||
|
984ef7ba67 | ||
|
004aa87a56 | ||
|
344593d3a7 | ||
|
cbe46fb8f3 | ||
|
2bbaa32d01 | ||
|
f880b2734f | ||
|
15986f2ff1 | ||
|
792541a1b9 | ||
|
410b32f1bc | ||
|
88c64cb464 | ||
|
100dc5a376 | ||
|
9e901d81e0 | ||
|
c2bc4a23de | ||
|
999d425555 | ||
|
25b5465c18 | ||
|
98d4a7db0d | ||
|
9af4d019a4 | ||
|
2c5daf0d7d | ||
|
20eee0d278 | ||
|
9e6733e0cc | ||
|
6e18eb316e | ||
|
7425043f68 | ||
|
20065df6c6 | ||
|
129db45535 | ||
|
4747aabd2e | ||
|
7d0a5f6092 | ||
|
80be465a99 | ||
|
799806a823 | ||
|
4135d1d108 | ||
|
fb20e55c9d | ||
|
9c8c9aaab3 | ||
|
a8d65e50b8 | ||
|
c9f4dd043d | ||
|
80467364c6 | ||
|
d6b9b7edaf | ||
|
230b90cecf | ||
|
bdaa0c7cc9 | ||
|
8d773126c1 | ||
|
5585484059 | ||
|
5f509b6a13 | ||
|
3b692c8a00 | ||
|
40034b1b89 | ||
|
d31f2dfcb1 | ||
|
e931843579 | ||
|
e5cabe260b | ||
|
ebd676f82b | ||
|
a72e502cc3 | ||
|
2ad3b81fe3 | ||
|
0ea413cc68 | ||
|
be6591da21 | ||
|
bff5e3a3b1 | ||
|
e379eb0805 | ||
|
eadd4761c0 | ||
|
c30a947156 | ||
|
888a0c105d | ||
|
11c449edd8 | ||
|
6b8bf6b858 | ||
|
40aa8f3370 | ||
|
d2d1a14f7a | ||
|
a729c90eab | ||
|
a4c9938506 | ||
|
0346f906af | ||
|
8e66bf1270 | ||
|
30b9d83dde | ||
|
09da48eaa7 | ||
|
b3bdeb2021 | ||
|
7736a7b98f | ||
|
3cd88eafd3 | ||
|
302cc1842e | ||
|
4e92724cc1 | ||
|
0b6d0f8e13 | ||
|
cc34fc23b7 | ||
|
1027b9de85 | ||
|
a9d0e8888e | ||
|
1f6b4aa489 | ||
|
c837e67831 | ||
|
98c31e7fc6 | ||
|
b583dd90b0 | ||
|
ab89261e06 | ||
|
566203be68 | ||
|
0cce54368a | ||
|
e6c096952e | ||
|
b2ea48bf1d | ||
|
78f55d661d | ||
|
f60e7866da | ||
|
ff67137522 | ||
|
964a109f9b | ||
|
4279da6684 | ||
|
ad06db5789 | ||
|
91ac248e81 | ||
|
754d09698b | ||
|
77a876481b | ||
|
6d9ece6f06 | ||
|
3e5f23550e | ||
|
7adb5e177e | ||
|
c03c7e39c2 | ||
|
3e5b93a629 | ||
|
43e522e563 | ||
|
131dc3e0e3 | ||
|
a52bd65ee9 | ||
|
fb91ff2307 | ||
|
9821c8f166 | ||
|
9d034e9f9d | ||
3f1b58e98e | |||
93e5b69aa4 | |||
|
f17753c7a2 | ||
|
fb29d1d8f9 | ||
|
7df0826ab1 | ||
|
778a304c15 | ||
|
cef4c85314 | ||
|
82d0363a39 | ||
|
987cc3585a | ||
|
dea6ff73ef | ||
|
74efa15353 | ||
|
620422b9a5 | ||
|
0a4057e011 | ||
|
33a24de9aa | ||
|
d4344ab9db | ||
bdde6ab74d | |||
|
dc0e0a2fb3 | ||
|
aadb4aebc3 | ||
|
8d7d8a6e65 | ||
|
c610dd549f | ||
|
cc7a8c3273 | ||
|
4110ee17ef | ||
|
02b7cad533 | ||
|
49ff37e302 | ||
|
db31105017 | ||
|
e2f223c093 | ||
|
c59f3839dc | ||
|
1b119d43e6 |
6
.github/CONTRIBUTING.md
vendored
6
.github/CONTRIBUTING.md
vendored
@ -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
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
|
||||
|
33
.github/ISSUE_TEMPLATE/bug_report.md
vendored
33
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@ -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
|
10
.github/ISSUE_TEMPLATE/config.yml
vendored
10
.github/ISSUE_TEMPLATE/config.yml
vendored
@ -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
|
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@ -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 -->
|
8
.github/ISSUE_TEMPLATE/legal-request.md
vendored
8
.github/ISSUE_TEMPLATE/legal-request.md
vendored
@ -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 -->
|
9
.github/ISSUE_TEMPLATE/other.md
vendored
9
.github/ISSUE_TEMPLATE/other.md
vendored
@ -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 -->
|
10
.github/ISSUE_TEMPLATE/question.md
vendored
10
.github/ISSUE_TEMPLATE/question.md
vendored
@ -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
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"]
|
21
.github/custom-actions/sourcehub-layer/LICENSE
vendored
21
.github/custom-actions/sourcehub-layer/LICENSE
vendored
@ -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.
|
23
.github/custom-actions/sourcehub-layer/README.md
vendored
23
.github/custom-actions/sourcehub-layer/README.md
vendored
@ -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
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
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"
|
9
.github/workflows.disabled/test.yml
vendored
9
.github/workflows.disabled/test.yml
vendored
@ -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
|
176
.github/workflows/CPP.yml
vendored
176
.github/workflows/CPP.yml
vendored
@ -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
|
22
.github/workflows/Jekyll.yml
vendored
22
.github/workflows/Jekyll.yml
vendored
@ -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
|
31
.github/workflows/Jekyll_publish.yml
vendored
31
.github/workflows/Jekyll_publish.yml
vendored
@ -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
|
91
.github/workflows/Vlang.yml
vendored
91
.github/workflows/Vlang.yml
vendored
@ -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
|
67
.github/workflows/bash.yml
vendored
67
.github/workflows/bash.yml
vendored
@ -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
|
208
.github/workflows/clang.yml
vendored
208
.github/workflows/clang.yml
vendored
@ -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
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"
|
30
.github/workflows/dockerfile.yml
vendored
30
.github/workflows/dockerfile.yml
vendored
@ -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
|
2
.github/workflows/greetings.yml
vendored
2
.github/workflows/greetings.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: ConaIsa
|
||||
name: Greetings
|
||||
|
||||
on: [pull_request, issues]
|
||||
|
||||
|
18
.github/workflows/label-maker.yml
vendored
18
.github/workflows/label-maker.yml
vendored
@ -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:
|
||||
|
9
.github/workflows/labeler.yml
vendored
9
.github/workflows/labeler.yml
vendored
@ -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
|
||||
|
23
.github/workflows/markdown.yml
vendored
23
.github/workflows/markdown.yml
vendored
@ -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
|
391
.github/workflows/python.yml
vendored
391
.github/workflows/python.yml
vendored
@ -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
|
84
.github/workflows/rustlang.yml
vendored
84
.github/workflows/rustlang.yml
vendored
@ -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
|
66
.github/workflows/shell.yml
vendored
66
.github/workflows/shell.yml
vendored
@ -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
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'
|
17
.github/workflows/stale.yml.disabled
vendored
17
.github/workflows/stale.yml.disabled
vendored
@ -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'
|
26
.gitpod.yml
26
.gitpod.yml
@ -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
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
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.
|
43
Makefile
43
Makefile
@ -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
1
QA/README.md
Normal file
@ -0,0 +1 @@
|
||||
Backend for Quality Assurance
|
51
QA/github/NAME-ME.yml
Normal file
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
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.
|
12
emacs.log
12
emacs.log
@ -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
|
8
src/RXT0112-1/dist/README.md
vendored
8
src/RXT0112-1/dist/README.md
vendored
@ -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
Loading…
Reference in New Issue
Block a user