Compare commits
No commits in common. "master" and "multilang_experiment" have entirely different histories.
master
...
multilang_
|
@ -1,49 +0,0 @@
|
|||
# Reference to configuration - https://github.blog/2017-07-06-introducing-code-owners/
|
||||
# Relevant https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
|
||||
|
||||
# This file is used to set permission per team or user to allow auto-merging
|
||||
|
||||
# Maintainers
|
||||
* @kreyren @RXT0112/maintainers
|
||||
|
||||
# Documentation maintainers
|
||||
/docs/ @RXT0112/documentators
|
||||
|
||||
# Dependencies
|
||||
Cargo.toml @dependabot-preview
|
||||
requirements.txt @dependabot-preview
|
||||
|
||||
# Legal team
|
||||
LICENSE.md @kreyren
|
||||
|
||||
# Rustlang maintainers
|
||||
*.rs @RXT0112/rustlang
|
||||
Cargo.toml @RXT0112/rustlang
|
||||
|
||||
# Python maintainers
|
||||
*.py @RXT0112/python
|
||||
requirements.txt @RXT0112/python
|
||||
|
||||
# Vlang maintainers
|
||||
*.v @RXT0112/vlang
|
||||
|
||||
# Clang maintainers
|
||||
*.c @RXT0112/clang
|
||||
|
||||
# CPP maintainers
|
||||
*.cpp @RXT0112/cpp
|
||||
|
||||
# Shell maintainers
|
||||
*.sh @RXT0112/shell
|
||||
|
||||
# Bash maintainers
|
||||
*.bash @RXT0112/bash
|
||||
|
||||
# Brainfuck maintainers
|
||||
*.br @RXT0112/brainfuck
|
||||
|
||||
# java maintainers
|
||||
*.jar @RXT0112/java
|
||||
|
||||
# csharp maintainers
|
||||
*.cs @RXT0112/csharp
|
|
@ -1,9 +0,0 @@
|
|||
# Contributing guideliness
|
||||
|
||||
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
|
|
@ -16,5 +16,4 @@ issuehunt: rixotstudio
|
|||
otechie: rixotstudio
|
||||
|
||||
# Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||
# Referer link on github.com/kreyren
|
||||
custom: https://my.fsf.org/join?referrer=3706032
|
||||
custom: https://my.fsf.org/join
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: if Something is not working as expected
|
||||
title: 'bug:'
|
||||
labels: 'bug'
|
||||
assignees: '@Zernit/bugwranglers'
|
||||
---
|
||||
|
||||
### Describe the bug
|
||||
<!-- Give us a **short** summary of what the issue is -->
|
||||
|
||||
text
|
||||
|
||||
### To Reproduce
|
||||
<!-- Provide steps to reproduce otherwise the issue will be considered as invalid -->
|
||||
|
||||
1. ...
|
||||
2. ...
|
||||
|
||||
### Expected behavior
|
||||
<!-- What do you expect to happend instead of current behavior? -->
|
||||
|
||||
text
|
||||
|
||||
### Additional context
|
||||
<!-- Add any other context about the issue here -->
|
||||
|
||||
text
|
||||
|
||||
### What do you expect to happend to solve this issue?
|
||||
<!-- To specify expected behavior from an upstream -->
|
||||
|
||||
text
|
|
@ -1,10 +0,0 @@
|
|||
# Disable blank issues
|
||||
blank_issues_enabled: false
|
||||
|
||||
contact_links:
|
||||
- name: IRC
|
||||
url: https://webchat.freenode.net/#zernit
|
||||
about: For simple questions and brainstorming
|
||||
- name: Discord
|
||||
url: https://discord.gg/5V4psY
|
||||
about: Community maintained support in Zernit section
|
|
@ -1,20 +0,0 @@
|
|||
---
|
||||
name: Feature request
|
||||
about: For feature proposals
|
||||
title: 'REQUEST:'
|
||||
labels: 'feature-request'
|
||||
assignees: '@Zernit/bugwranglers'
|
||||
---
|
||||
|
||||
### Describe the feature
|
||||
<!-- Give us a **short** summary of your proposed feature -->
|
||||
|
||||
|
||||
|
||||
### Expected behavior
|
||||
<!-- What do you expect to happend instead of current behavior? -->
|
||||
|
||||
|
||||
|
||||
### Additional context
|
||||
<!-- Add any other context about the issue here -->
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
name: Legal request
|
||||
about: To propose changes in the license
|
||||
labels: 'license'
|
||||
assignees: '@Zernit/legal-team'
|
||||
---
|
||||
|
||||
<!-- Please keep your request as short as possible, the longer the request the longer it's going to take for us to process it -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
name: Other
|
||||
about: If none of the above fits your request
|
||||
labels: 'assign-me'
|
||||
assignees: '@Zernit/helpers'
|
||||
|
||||
---
|
||||
|
||||
<!-- Please keep your request as short as possible, the longer the request the longer it's going to take for us to process it -->
|
|
@ -1,10 +0,0 @@
|
|||
---
|
||||
name: Question
|
||||
about: In case you need upstream help
|
||||
title: 'Q:'
|
||||
labels: 'question'
|
||||
assignees: '@Zernit/helpers'
|
||||
|
||||
---
|
||||
|
||||
<!-- Please keep your question as short as possible, the longer the question the longer it's going to take for us to process it -->
|
|
@ -1,86 +1,20 @@
|
|||
**FIXME:** Markdownlint has to be optimized for this file<br>
|
||||
**FIXME:** Source the header in different markdown file to make GitHub README different from GitLab.
|
||||
**NOTICE:** This project in in "init phase" so everything will be remade into a new orphen branch once methods for quality assurance, documentation, automatization and code is decided to be used as a foundation for new commits
|
||||
|
||||
**FIXME:** Change the name based on name repository used.
|
||||
fixme: Source the header in different markdown file to make GitHub README different from GitLab
|
||||
|
||||
<h1 align="center">
|
||||
<a href=https://github.com/RXT0112/Zernit>Zernit</a> (RXT0112)
|
||||
</h1>
|
||||
<h4 align="center">Community maintained (FIXME: Unknown clarification) designed to work cross-platform and using multiple programming languages depending on which one provides the most efficiency per required runtime on target system</h4>
|
||||
fixme: Change the name based on repository used.
|
||||
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/badge/Maintained%3F-Yes-green?style=for-the-badge">
|
||||
<img src="https://img.shields.io/github/license/RXT0112/Zernit?style=for-the-badge">
|
||||
<img src="https://img.shields.io/github/issues/RXT0112/Zernit?color=violet&style=for-the-badge">
|
||||
<img src="https://img.shields.io/github/stars/RXT0112/Zernit?style=for-the-badge">
|
||||
<img src="https://img.shields.io/github/forks/RXT0112/Zernit?color=teal&style=for-the-badge">
|
||||
</p>
|
||||
# RXT0112 (WIP name)
|
||||
|
||||
**NOTICE:** Code-related implementation merge requests are currently not accepted due to the lack of repository management for multi-language project which is currently being worked on, however merge request will be processed if submitted with a priority affected by this restriction.
|
||||
Package manager for unix and windows written in rustlang
|
||||
|
||||
**FIXME:** Change the URL based on the website used<br>
|
||||
fixme: Change the URL based on the website used<br>
|
||||
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/RXT0112/RXT0112)
|
||||
|
||||
**FIXME:** Add a pretty button<br>
|
||||
**FIXME:** codesandbox currently cannot be used for zernit<br>
|
||||
**FIXME:** Add tracking for scodsandbox usage on zernit<br>
|
||||
https://codesandbox.io/sgithub/RXT0112/RXT0112
|
||||
fixme: Add prety button<br>
|
||||
https://codesandbox.io/s/github/RXT0112/RXT0112
|
||||
|
||||
**FIXME:** Change the URL based on the website used<br>
|
||||
**FIXME:** repl.it currently cannot be used for zernit<br>
|
||||
**FIXME:** Add tracking for scodsandbox usage on zernit<br>
|
||||
[![Run on Repl.it](https://repl.it/badge/github/RXT0112/Zernit)](https://repl.it/github/RXT0112/Zernit)
|
||||
## ABSTRACT
|
||||
Package manager capable of source and binary import/export with tracking in `world` file and options.
|
||||
|
||||
|
||||
## When to make a new issue?
|
||||
|
||||
### Questions
|
||||
All relavant questions are welcomed and will be answered as soon as possible depending on the lenght of the question and the understanding of the supporter.
|
||||
|
||||
### Bugs
|
||||
|
||||
Everything relevant that does not work as expected or can be improved. The more issues we are aware of the more work we can put in to resolve them.
|
||||
|
||||
### Feature requests
|
||||
|
||||
Propose anything we will listen and consider it as long as it's relevant.
|
||||
|
||||
### Legal requests
|
||||
|
||||
**NOTICE:** This is currently being implemented so there might be a delay in responses due to the lack of resources
|
||||
|
||||
This project has custom community maintained license which is designed to avoid common issues related to FSF/GNU/OSS-endorsed licenses while directing the workflow, see License below for more info.
|
||||
|
||||
Anything relevant to legal is welcomed in:
|
||||
- Our bug tracker
|
||||
- Mentioning `@RXT0112/legal-team` in your relevant GitHub tickets
|
||||
- Sending an e-mail on [zernit-legal@rixotstudio.cz](mailto:zernit-legal@rixotstudio.cz)
|
||||
|
||||
## Mentoring program
|
||||
|
||||
**NOTICE:** This is currently work in progress and provided with limited resources
|
||||
|
||||
This project provides a free mentoring program for anyone who makes a new merge request with (TBD)
|
||||
|
||||
This mentoring support is provided by the community for the community to provide a free education to improve the community-wide code quality and to ensure that everyone who wants to code has the resources to start and learn.
|
||||
|
||||
If you need a help on projects outside of project RXT0112 then mension `@RXT0112/mentors` in your GitHub tickets.
|
||||
|
||||
Mentoring support is also provided on community server (TBD)
|
||||
|
||||
Project RXT0112 hopes to provide an environment for everyone to learn, freel free to mension our mentoring program in your repositories.
|
||||
|
||||
|
||||
## Where to get support
|
||||
|
||||
1. For simple questions, guidance and mentoring use chat on https://webchat.freenode.net/#zernit-support
|
||||
2. For complicated issues either:
|
||||
- Mension `@RXT0112/support` in your issues or relevant merge requests on GitHub
|
||||
- Make a new issue in relevant RXT0112 organization (anything relevant is welcomed!)
|
||||
3. Sent an email on [zernit-support@rixotstudio.cz](mailto:zernit-support@rixotstudio.cz)
|
||||
|
||||
## License
|
||||
|
||||
This project is designed around a community maintained license that is used to direct a workflow while preserving end-user's freedoms to fix common FSF/GNU/OSS-endorsed license issues (FIXME: Reference the issues) that would allow blockchain implementation and for-profit business plan.
|
||||
|
||||
**NOTICE:** The for-profit business plan is currently being investigated to make it suitable for this project, might be turned in non-profit
|
||||
Developed with GUI in mind
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
# Container image that runs your code
|
||||
FROM alpine:3.10
|
||||
|
||||
# Copies your code file from your action repository to the filesystem path `/` of the container
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
|
||||
# Code file to execute when the docker container starts up (`entrypoint.sh`)
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2019 GitHub Actions
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -1,23 +0,0 @@
|
|||
# Hello world docker action
|
||||
|
||||
This action prints "Hello World" to the log or "Hello" + the name of a person to greet. To learn how this action was built, see "[Creating a Docker container action](https://help.github.com/en/articles/creating-a-docker-container-action)" in the GitHub Help documentation.
|
||||
|
||||
## Inputs
|
||||
|
||||
### `who-to-greet`
|
||||
|
||||
**Required** The name of the person to greet. Default `"World"`.
|
||||
|
||||
## Outputs
|
||||
|
||||
### `time`
|
||||
|
||||
The time we greeted you.
|
||||
|
||||
## Example usage
|
||||
|
||||
```yaml
|
||||
uses: actions/hello-world-docker-action@master
|
||||
with:
|
||||
who-to-greet: 'Mona the Octocat'
|
||||
```
|
|
@ -1,17 +0,0 @@
|
|||
# FIXME: Hook https://man.sr.ht/builds.sr.ht/api.md so that we can use sourcehub in GitHub action
|
||||
|
||||
name: 'Hello World'
|
||||
description: 'Greet someone and record the time'
|
||||
inputs:
|
||||
who-to-greet: # id of input
|
||||
description: 'Who to greet'
|
||||
required: true
|
||||
default: 'World'
|
||||
outputs:
|
||||
time: # id of output
|
||||
description: 'The time we greeted you'
|
||||
runs:
|
||||
using: 'docker'
|
||||
image: 'Dockerfile'
|
||||
args:
|
||||
- ${{ inputs.who-to-greet }}
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/sh -l
|
||||
|
||||
echo "Hello $1"
|
||||
time=$(date)
|
||||
echo ::set-output name=time::$time
|
|
@ -20,30 +20,9 @@
|
|||
- regExp: ".*\\.br+$"
|
||||
labels: ["brainfuck"]
|
||||
|
||||
- regExp: ".*\\.jar+$"
|
||||
labels: ["java"]
|
||||
# Repo specific
|
||||
#- regExp: ".*\\LICENSE*+$"
|
||||
# labels: ["license"]
|
||||
|
||||
- regExp: ".*\\.v+$"
|
||||
labels: ["vlang"]
|
||||
|
||||
- regExp: ".*\\.cs+$"
|
||||
labels: ["csharp"]
|
||||
|
||||
- regExp: "^/tests/.*"
|
||||
labels: ["tests"]
|
||||
|
||||
- regExp: "^/benches/.*"
|
||||
labels: ["benches"]
|
||||
|
||||
- regExp: "^/LICENSE/.*"
|
||||
labels: ["license"]
|
||||
|
||||
- regExp: ".*\\.md+$"
|
||||
labels: ["markdown"]
|
||||
|
||||
- regExp: "^(Cargo\\.toml|requirements\\.txt)$"
|
||||
labels: ["dependencies"]
|
||||
|
||||
# Repository specific
|
||||
- regExp: "^/docs/.*"
|
||||
labels: ["docs"]
|
||||
- regExp: "^(.*\\Cargo.toml)$"
|
||||
labels: ["dependencies"]
|
|
@ -1,5 +1,29 @@
|
|||
# This file handles labels on GitHub
|
||||
|
||||
- name: bug
|
||||
color: d73a4a
|
||||
description: "Something isn't working"
|
||||
|
||||
- name: docs
|
||||
color: 0075ca
|
||||
description: "Improvements or additions to documentation"
|
||||
|
||||
- name: duplicate
|
||||
color: cfd8d7
|
||||
description: "This issue or pull request already exists"
|
||||
|
||||
- name: enhancement
|
||||
color: a22eef
|
||||
description: "Proposal for code improvement"
|
||||
|
||||
- name: license
|
||||
color: 1a7546
|
||||
description: "Relevant to licensing"
|
||||
|
||||
- name: dependencies
|
||||
color: ca0ef0
|
||||
description: "Relevant to dependencies"
|
||||
|
||||
# Priority handling
|
||||
- name: P - SHTF
|
||||
color: ae00ff
|
||||
|
@ -25,47 +49,6 @@
|
|||
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
|
||||
description: "Improvements or additions to documentation"
|
||||
|
||||
- name: duplicate
|
||||
color: cfd8d7
|
||||
description: "This issue or pull request already exists"
|
||||
|
||||
- name: enhancement
|
||||
color: a22eef
|
||||
description: "Proposal for code improvement"
|
||||
|
||||
- name: license
|
||||
color: 1a7546
|
||||
description: "Relevant to licensing"
|
||||
|
||||
- name: dependencies
|
||||
color: ca0ef0
|
||||
description: "Relevant to dependencies"
|
||||
|
||||
- name: tests
|
||||
color: 8d0fd6
|
||||
description: "Relevant to tests"
|
||||
|
||||
- name: benches
|
||||
color: cc1250
|
||||
description: "Relevant to benchmarks"
|
||||
|
||||
# Programming language specific
|
||||
- name: python
|
||||
color: 00aeff
|
||||
|
@ -93,20 +76,4 @@
|
|||
|
||||
- name: CCP
|
||||
color: 009dff
|
||||
description: "Relevant to CCP"
|
||||
|
||||
- name: vlang
|
||||
color: 03cafc
|
||||
description: "Relevant to vlang"
|
||||
|
||||
- name: csharp
|
||||
color: 08400a
|
||||
description: "Relevant to csharp"
|
||||
|
||||
- name: java
|
||||
color: ad690a
|
||||
description: "Relevant to java"
|
||||
|
||||
- name: markdown
|
||||
color: 454545
|
||||
description: "Relevant to markdown"
|
||||
description: "Relevant to CCP"
|
|
@ -1,9 +0,0 @@
|
|||
on: [push]
|
||||
|
||||
jobs:
|
||||
hello_world_job:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Hello world action step
|
||||
uses: ./.github/custom-actions/sourcehub-layer
|
|
@ -1,176 +0,0 @@
|
|||
# Workflow for cpp
|
||||
name: cpp
|
||||
|
||||
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
|
||||
on:
|
||||
pull_request:
|
||||
types: [synchronize, opened, reopened, ready_for_review]
|
||||
paths:
|
||||
- '**.cpp'
|
||||
|
||||
jobs:
|
||||
# Linting
|
||||
lint-cpp:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Installing dependencies..
|
||||
run: if ! apt list --installed | grep -qP ".*cppcheck.*"; then sudo apt install -y cppcheck; fi
|
||||
- name: Linting..
|
||||
run: cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.cpp$''); do cppcheck "$file"; done
|
||||
# Kernel specific builds
|
||||
build-macos-gcc-cpp:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-cpp
|
||||
build-windows-gcc-cpp:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-cpp
|
||||
build-macos-clang-cpp:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-clang-cpp
|
||||
build-windows-clang-cpp:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-clang-cpp
|
||||
|
||||
# Docker builds
|
||||
## Debian - testing
|
||||
build-gcc-cpp-debian:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://debian/testing:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-cpp
|
||||
build-clang-cpp-debian:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://debian/testing:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-clang-cpp
|
||||
## Fedora - latest
|
||||
build-gcc-cpp-fedora:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://fedora/latest:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-cpp
|
||||
build-clang-cpp-fedora:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://fedora/latest:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-clang-cpp
|
||||
## Archlinux - latest
|
||||
build-gcc-cpp-archlinux:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://archlinux/latest:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-cpp
|
||||
build-clang-cpp-archlinux:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://archlinux/latest:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-clang-cpp
|
||||
## Gentoo stage3-amd64
|
||||
build-gcc-cpp-gentoo:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://gentoo/stage3-amd64:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-cpp
|
||||
build-clang-cpp-gentoo:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://gentoo/stage3-amd64:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-clang-cpp
|
||||
## Exherbo
|
||||
build-gcc-cpp-exherbo:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://exherbo/exherbo_ci:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-cpp
|
||||
build-clang-cpp-exherbo:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://exherbo/exherbo_ci:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-clang-cpp
|
||||
|
||||
# Run tests
|
||||
## Exherbo (Linux representative)
|
||||
check-exherbo-gcc-cpp:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker://exherbo/exherbo_ci:latest
|
||||
- run: make check-gcc-cpp
|
||||
check-exherbo-clang-cpp:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker://exherbo/exherbo_ci:latest
|
||||
- run: make check-clang-cpp
|
||||
## Windows
|
||||
check-windows-gcc-cpp:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: make check-gcc-cpp
|
||||
check-windows-clang-cpp:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: make check-clang-cpp
|
||||
## Darwin
|
||||
check-darwin-gcc-cpp:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: make check-gcc-cpp
|
||||
check-darwin-clang-cpp:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: make check-clang-cpp
|
||||
|
||||
# Benchmarks
|
||||
## Exherbo
|
||||
bench-exherbo-gcc-cpp:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker://exherbo/exherbo_ci:latest
|
||||
- name: running benchmarks..
|
||||
run: make bench-gcc-cpp
|
||||
bench-exherbo-clang-cpp:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker://exherbo/exherbo_ci:latest
|
||||
- name: running benchmarks..
|
||||
run: make bench-clang-cpp
|
|
@ -1,22 +0,0 @@
|
|||
# Workflow for CPP
|
||||
name: Jekyll
|
||||
|
||||
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
|
||||
on:
|
||||
pull_request:
|
||||
types: [synchronize, opened, reopened, ready_for_review]
|
||||
paths:
|
||||
- 'docs/**'
|
||||
|
||||
jobs:
|
||||
jekyll:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Get dependencies (FIXME-UPSTREAM)
|
||||
run: sudo gem install jekyll
|
||||
|
||||
- name: Building..
|
||||
# FIXME: Avoid using `cd`
|
||||
run: cd docs && jekyll build
|
|
@ -1,31 +0,0 @@
|
|||
# Workflow for CPP
|
||||
name: Jekyll Publish
|
||||
|
||||
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- init-new
|
||||
paths:
|
||||
- 'docs/_posts/**'
|
||||
|
||||
jobs:
|
||||
jekyll:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Get dependencies (FIXME-UPSTREAM)
|
||||
run: sudo gem install jekyll
|
||||
|
||||
- name: Building..
|
||||
# FIXME: Avoid using `cd`
|
||||
run: cd docs && jekyll build
|
||||
|
||||
- name: Deploying..
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITHUB_REPOSITORY: ${{ secrets.GITHUB_REPOSITORY }}
|
||||
GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }}
|
||||
uses: BryanSchuetz/jekyll-deploy-gh-pages@master
|
|
@ -1,91 +0,0 @@
|
|||
# Workflow for vlang
|
||||
name: vlang
|
||||
|
||||
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
|
||||
on:
|
||||
pull_request:
|
||||
types: [synchronize, opened, reopened, ready_for_review]
|
||||
paths:
|
||||
- '**.v'
|
||||
|
||||
jobs:
|
||||
# Kernel specific builds
|
||||
build-ubuntu-vlang:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
if ! command -v v >/dev/null; then
|
||||
wget https://github.com/vlang/v/releases/latest/download/v_linux.zip -O "$HOME/.cache/vlang.zip"
|
||||
[ ! -d /opt/vlang ] && mkdir /opt/vlang
|
||||
[ ! -d "$HOME/.cache/" ] && mkdir "$HOME/.cache/"
|
||||
[ ! -f /opt/vlang/v ] && unzip "$HOME/.cache/vlang.zip" -d /opt/vlang/v
|
||||
[ ! -x /usr/bin/v ] && ln -sf /usr/bin/v /opt/vlang/v
|
||||
fi
|
||||
- name: Building..
|
||||
run: make build-vlang
|
||||
build-darwin-vlang:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
if ! command -v v >/dev/null; then
|
||||
wget https://github.com/vlang/v/releases/latest/download/v_linux.zip -O "$HOME/.cache/vlang.zip"
|
||||
[ ! -d /opt/vlang ] && mkdir /opt/vlang
|
||||
[ ! -d "$HOME/.cache/" ] && mkdir "$HOME/.cache/"
|
||||
[ ! -f /opt/vlang/v ] && unzip "$HOME/.cache/vlang.zip" -d /opt/vlang/v
|
||||
[ ! -x /usr/bin/v ] && ln -sf /usr/bin/v /opt/vlang/v
|
||||
fi
|
||||
- name: Building..
|
||||
run: make build-vlang
|
||||
build-windows-vlang:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
ECHO fixme
|
||||
EXIT
|
||||
- name: Building..
|
||||
run: make build-vlang
|
||||
|
||||
# Docker builds
|
||||
build-vlang-debian:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://debian/testing:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-vlang
|
||||
|
||||
build-vlang-fedora:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://fedora/latest:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-vlang
|
||||
|
||||
# Run tests
|
||||
check-vlang:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-latest, windows-latest, ubuntu-18.04]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: running tests..
|
||||
run: make check-vlang
|
||||
|
||||
# Benchmarks
|
||||
bench-vlang:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-latest, windows-latest, ubuntu-18.04]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: running benchmarks..
|
||||
run: make bench-vlang
|
|
@ -1,67 +0,0 @@
|
|||
name: Bash
|
||||
|
||||
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
|
||||
on:
|
||||
pull_request:
|
||||
types: [synchronize, opened, reopened, ready_for_review]
|
||||
paths:
|
||||
- '**.bash'
|
||||
- "tools/dockerfreeze"
|
||||
|
||||
jobs:
|
||||
# Linting
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
container: debian:stable
|
||||
steps:
|
||||
- name: Installing dependencies..
|
||||
run: |
|
||||
# Sync repos
|
||||
# Check for git
|
||||
if ! apt list --installed 2>/dev/null | grep -qP "^git\/stable.*"; then
|
||||
# Check if we can install git
|
||||
if ! apt list | grep -qP "^git\/stable.*"; then
|
||||
apt update
|
||||
elif apt list | grep -qP "^git\/stable.*"; then
|
||||
true
|
||||
else
|
||||
exit 255
|
||||
fi
|
||||
# Install git
|
||||
apt install -y git
|
||||
elif apt list --installed 2>/dev/null | grep -qP "^git\/stable.*"; then
|
||||
true
|
||||
else
|
||||
exit 255
|
||||
fi
|
||||
# Check for shellcheck
|
||||
if ! apt list --installed 2>/dev/null | grep -qP "^shellcheck\s{1}-.*"; then
|
||||
# Check if we can install shellcheck
|
||||
if ! apt list | grep -qP "^shellcheck\s{1}-.*"; then
|
||||
apt update
|
||||
elif apt list | grep -qP "^shellcheck\s{1}-.*"; then
|
||||
true
|
||||
else
|
||||
exit 255
|
||||
fi
|
||||
# Install shellcheck
|
||||
apt install -y shellcheck
|
||||
elif apt list --installed 2>/dev/null | grep -qP "^shellcheck\s{1}-.*"; then
|
||||
true
|
||||
else
|
||||
exit 255
|
||||
fi
|
||||
- name: Pulling git dir..
|
||||
uses: actions/checkout@v2
|
||||
- name: Processing files..
|
||||
# Make sure that bash is used
|
||||
shell: bash
|
||||
run: |
|
||||
cd "$GITHUB_WORKSPACE"
|
||||
|
||||
# Process files
|
||||
## NOTICE: Do not use for loop to avoid pitfall https://mywiki.wooledge.org/BashPitfalls#pf1
|
||||
git --git-dir="$GITHUB_WORKSPACE/.git" ls-files -z -- '*.bash' tools/dockerfreeze | while IFS= read -rd '' file; do
|
||||
printf 'linting bash file %s\n' "$file"
|
||||
shellcheck --external-sources --shell=bash "$file"
|
||||
done
|
|
@ -1,208 +0,0 @@
|
|||
# Workflow for CPP
|
||||
name: C
|
||||
|
||||
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
|
||||
on:
|
||||
pull_request:
|
||||
types: [synchronize, opened, reopened, ready_for_review]
|
||||
paths:
|
||||
- '**.c'
|
||||
|
||||
jobs:
|
||||
# Linting
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Installing dependencies..
|
||||
run: if ! apt-list --installed cppcheck | grep -q ".*cppcheck.*"; then sudo apt install -y cppcheck; fi
|
||||
- name: Linting..
|
||||
run: cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.c$'); do cppcheck "$file"; done
|
||||
## Valgrind test on gcc
|
||||
valgrind-gcc:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Installing dependencies..
|
||||
run: if ! apt list --installed | grep -q ".*valgrind.*"; then sudo apt install -y valgrind; fi
|
||||
- name: Linting..
|
||||
run: |
|
||||
make build-gcc-c
|
||||
# NOTICE: This requires to input the arguments invidually
|
||||
# FIXME: Use regex to gather arguments
|
||||
valgrind --leak-check=full -v build/build-gcc-c/zernit-gcc-c -h -unexpected
|
||||
## Valgrind on clang
|
||||
valgrind-clang:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Installing dependencies..
|
||||
run: if ! apt list --installed | grep -qP ".*valgrind.*"; then sudo apt install -y valgrind; fi
|
||||
- name: Linting..
|
||||
run: |
|
||||
make build-clang-c
|
||||
# NOTICE: This requires to input the arguments invidually
|
||||
# FIXME: Use regex to gather arguments
|
||||
valgrind --leak-check=full -v build/build-clang-c/zernit-clang-c -h -unexpected
|
||||
# Kernel specific builds
|
||||
build-macos-gcc-c:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-c
|
||||
build-windows-gcc-c:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-c
|
||||
build-macos-clang-c:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Building..
|
||||
run: make build-clang-c
|
||||
build-windows-clang-c:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Downloading dependencies..
|
||||
run: Invoke-WebRequest -OutFile LLVM-3.7.0-win64.exe https://releases.llvm.org/3.7.0/LLVM-3.7.0-win64.exe
|
||||
- name: Install dependencies..
|
||||
run: |
|
||||
echo FIXME_INSTALL_CLANG
|
||||
EXIT
|
||||
- name: Building..
|
||||
run: make build-clang-c
|
||||
|
||||
# Docker builds
|
||||
## Debian - testing
|
||||
build-gcc-c-debian:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://debian/testing:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-c
|
||||
build-clang-c-debian:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://debian/testing:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-clang-c
|
||||
## Fedora - latest
|
||||
build-gcc-c-fedora:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://fedora/latest:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-c
|
||||
build-clang-c-fedora:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://fedora/latest:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-clang-c
|
||||
## Archlinux - latest
|
||||
build-gcc-c-archlinux:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://archlinux/latest:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-c
|
||||
build-clang-c-archlinux:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://archlinux/latest:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-clang-c
|
||||
## Gentoo stage3-amd64
|
||||
build-gcc-c-gentoo:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://gentoo/stage3-amd64:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-c
|
||||
build-clang-c-gentoo:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://gentoo/stage3-amd64:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-clang-c
|
||||
## Exherbo
|
||||
build-gcc-c-exherbo:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://exherbo/exherbo_ci:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-gcc-c
|
||||
build-clang-c-exherbo:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: docker://exherbo/exherbo_ci:latest
|
||||
- uses: actions/checkout@v2
|
||||
- name: building..
|
||||
run: make build-clang-c
|
||||
|
||||
# Run tests
|
||||
## Exherbo (Linux representative)
|
||||
check-exherbo-gcc-cpp:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker://exherbo/exherbo_ci:latest
|
||||
- run: make check-gcc-c
|
||||
check-exherbo-clang-cpp:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker://exherbo/exherbo_ci:latest
|
||||
- run: make check-clang-c
|
||||
## Windows
|
||||
check-windows-gcc-cpp:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: make check-gcc-c
|
||||
check-windows-clang-cpp:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: make check-clang-c
|
||||
## Darwin
|
||||
check-darwin-gcc-cpp:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: make check-gcc-c
|
||||
check-darwin-clang-cpp:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: make check-clang-c
|
||||
|
||||
# Benchmarks
|
||||
## Exherbo
|
||||
bench-exherbo-gcc-cpp:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker://exherbo/exherbo_ci:latest
|
||||
- name: running benchmarks..
|
||||
run: make bench-gcc-cpp
|
||||
bench-exherbo-clang-cpp:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker://exherbo/exherbo_ci:latest
|
||||
- name: running benchmarks..
|
||||
run: make bench-clang-cpp
|
|
@ -0,0 +1,61 @@
|
|||
name: ConaIsa
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
rustlang:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: build
|
||||
run: make build-rustlang
|
||||
- name: tests
|
||||
run: make check-rustlang
|
||||
gc:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: make build-gc
|
||||
run: make build-gc
|
||||
- name: make check-gc
|
||||
run: make check-gc
|
||||
gcc:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: make build-gcc
|
||||
run: make build-gcc
|
||||
- name: make check-gcc
|
||||
run: make check-gcc
|
||||
shell:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: shellcheck
|
||||
uses: azohra/shell-linter@v0.2.0
|
||||
python:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
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 pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
pytest
|
|
@ -1,30 +0,0 @@
|
|||
name: Dockerfile
|
||||
|
||||
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
|
||||
on:
|
||||
pull_request:
|
||||
types: [synchronize, opened, reopened, ready_for_review]
|
||||
paths:
|
||||
- '**.Dockerfile'
|
||||
|
||||
jobs:
|
||||
# Linting
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Installing dependencies..
|
||||
run: |
|
||||
# Fix untill hadolint it available by downstream
|
||||
if ! apt-cache search hadolint | grep -qP "^hadolint -"; then
|
||||
# Install hadolint if not already installed through apt
|
||||
if ! apt list --installed | grep -qP "^hadolint -"; then
|
||||
if ! apt-cache search hadolint | grep -qP "^hadolint -.*"; then { if command -v wget >/dev/null; then apt install -y wget; fi ;} && wget https://github.com/hadolint/hadolint/releases/download/v1.17.5/hadolint-Linux-x86_64 -O /usr/bin/hadolint && { [ ! -x hadolint ] && chmod +x /usr/bin/hadolint ;}; elif apt-cache search hadolint | grep -qP "^hadolint -.*"; then apt install -y hadolint; fi
|
||||
fi
|
||||
fi
|
||||
- name: Linting..
|
||||
run: |
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.Dockerfile$'); do
|
||||
printf 'checking dockerfile %s using hadolint\n' "$file"
|
||||
hadolint "$file"
|
||||
done
|
|
@ -1,4 +1,4 @@
|
|||
name: ConaIsa
|
||||
name: Greetings
|
||||
|
||||
on: [pull_request, issues]
|
||||
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
name: ConaIsa
|
||||
name: label-maker
|
||||
|
||||
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
|
||||
on:
|
||||
pull_request:
|
||||
types: [synchronize, opened, reopened, ready_for_review]
|
||||
paths:
|
||||
- '*.labels\.yml$'
|
||||
on:
|
||||
schedule:
|
||||
- cron: "*/30 * * * *"
|
||||
|
||||
jobs:
|
||||
labeler:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Assigning labels
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v1
|
||||
-
|
||||
name: Run Labeler
|
||||
if: success()
|
||||
uses: crazy-max/ghaction-github-labeler@v1
|
||||
with:
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
# Workflow to associate labels automatically
|
||||
name: Label management
|
||||
name: labeler
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [synchronize, opened, reopened, ready_for_review]
|
||||
# Trigger the workflow on pull request events
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
label:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
# We need to checkout the repository to access the configured file (.github/label-pr.yml)
|
||||
- uses: actions/checkout@v2
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
name: Markdown
|
||||
|
||||
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
|
||||
on:
|
||||
pull_request:
|
||||
types: [synchronize, opened, reopened, ready_for_review]
|
||||
paths:
|
||||
- '**.md'
|
||||
|
||||
jobs:
|
||||
# Linting
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Installing dependencies..
|
||||
run: if ! command -v markdownlint; then sudo npm install -g markdownlint-cli; fi
|
||||
- name: Linting..
|
||||
run: |
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.md$'); do
|
||||
printf 'linting markdown file %s' "$file"
|
||||
markdownlint "$file" --ignore node_modules
|
||||
done
|
|
@ -1,391 +0,0 @@
|
|||
# Workflow for python
|
||||
name: Python
|
||||
|
||||
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
|
||||
on:
|
||||
pull_request:
|
||||
types: [synchronize, opened, reopened, ready_for_review]
|
||||
paths:
|
||||
- '**.py'
|
||||
- 'requirements.txt'
|
||||
|
||||
jobs:
|
||||
# Linting 3.5
|
||||
lint-linux-python-3_5:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.5
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
# FIXME: False triggers on files which names continues after set extension
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
|
||||
lint-macos-python-3_5:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.5
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
# FIXME: False triggers on files which names continues after set extension
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
|
||||
lint-windows-python-3_5:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.5
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
# FIXME: False triggers on files which names continues after set extension
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
|
||||
security-check-python-3_5:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.5
|
||||
- name: Installing python dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Installing linting dependencies
|
||||
run: |
|
||||
if apt list --installed | grep -qP "^bandit -"; then sudo apt install -y bandit; fi
|
||||
- name: Linting..
|
||||
run: |
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do
|
||||
printf 'checking python file %s for security issues\n' "$file"
|
||||
bandit "$file"
|
||||
done
|
||||
|
||||
# Linting 3.6
|
||||
lint-linux-python-3_6:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.6
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
# FIXME: False triggers on files which names continues after set extension
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
|
||||
lint-macos-python-3_6:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.6
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
# FIXME: False triggers on files which names continues after set extension
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
|
||||
lint-window-python-3_6:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.6
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
# FIXME: False triggers on files which names continues after set extension
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
|
||||
security-check-python-3_6:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.6
|
||||
- name: Installing python dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Installing linting dependencies
|
||||
run: |
|
||||
if apt list --installed | grep -qP "^bandit -"; then sudo apt install -y bandit; fi
|
||||
- name: Linting..
|
||||
run: |
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do
|
||||
printf 'checking python file %s for security issues\n' "$file"
|
||||
bandit "$file"
|
||||
done
|
||||
|
||||
# Linting 3.7
|
||||
lint-linux-python-3_7:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.7
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
# FIXME: False triggers on files which names continues after set extension
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
|
||||
lint-macos-python-3_7:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.7
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
# FIXME: False triggers on files which names continues after set extension
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
|
||||
lint-windows-python-3_7:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.7
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
# FIXME: False triggers on files which names continues after set extension
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
|
||||
security-check-python-3_7:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.7
|
||||
- name: Installing python dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Installing linting dependencies
|
||||
run: |
|
||||
if apt list --installed | grep -qP "^bandit -"; then sudo apt install -y bandit; fi
|
||||
- name: Linting..
|
||||
run: |
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do
|
||||
printf 'checking python file %s for security issues\n' "$file"
|
||||
bandit "$file"
|
||||
done
|
||||
|
||||
# Linting 3.8
|
||||
lint-linux-python-3_8:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
# FIXME: False triggers on files which names continues after set extension
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
|
||||
lint-macos-python-3_8:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
# FIXME: False triggers on files which names continues after set extension
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
|
||||
lint-windows-python-3_8:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
# FIXME: False triggers on files which names continues after set extension
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do pytest "$file"; done
|
||||
security-check-python-3_8:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Configuring backend..
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Installing python dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Installing linting dependencies
|
||||
run: |
|
||||
if apt list --installed | grep -qP "^bandit -"; then sudo apt install -y bandit; fi
|
||||
- name: Linting..
|
||||
run: |
|
||||
cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '\.py$'); do
|
||||
printf 'checking python file %s for security issues\n' "$file"
|
||||
bandit "$file"
|
||||
done
|
|
@ -1,84 +0,0 @@
|
|||
# Workflow for Rustlang
|
||||
name: Rustlang
|
||||
|
||||
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
|
||||
on:
|
||||
pull_request:
|
||||
types: [synchronize, opened, reopened, ready_for_review]
|
||||
paths:
|
||||
- '**.rs'
|
||||
- Cargo.toml
|
||||
|
||||
jobs:
|
||||
# Kernel specific builds
|
||||
ubuntu-build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Building..
|
||||
run: cargo build
|
||||
macos-build:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Building..
|
||||
run: cargo build
|
||||
windows-build:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Building..
|
||||
run: cargo build
|
||||
|
||||
# Docker builds
|
||||
debian-build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker://debian:testing
|
||||
- name: Building..
|
||||
run: cargo build
|
||||
fedora-build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker://fedora:latest
|
||||
- name: Building..
|
||||
run: cargo build
|
||||
fedora-next-build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker://fedora:rawhide
|
||||
- name: Building..
|
||||
run: cargo build
|
||||
archlinux-build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker://archlinux:latest
|
||||
- name: Building..
|
||||
run: cargo build
|
||||
gentoo-build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker://gentoo/stage3-amd64:latest
|
||||
- name: Building..
|
||||
run: cargo build
|
||||
|
||||
# Run tests
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Testing..
|
||||
run: cargo test
|
||||
|
||||
# Benchmarks
|
||||
bench:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Benchmarking..
|
||||
run: cargo bench
|
|
@ -1,66 +0,0 @@
|
|||
name: Shell
|
||||
|
||||
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
|
||||
on:
|
||||
pull_request:
|
||||
types: [synchronize, opened, reopened, ready_for_review]
|
||||
paths:
|
||||
- '**.sh'
|
||||
|
||||
jobs:
|
||||
# Linting
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
container: debian:stable
|
||||
steps:
|
||||
- name: Installing dependencies..
|
||||
run: |
|
||||
# Sync repos
|
||||
# Check for git
|
||||
if ! apt list --installed 2>/dev/null | grep -qP "^git\/stable.*"; then
|
||||
# Check if we can install git
|
||||
if ! apt list | grep -qP "^git\/stable.*"; then
|
||||
apt update
|
||||
elif apt list | grep -qP "^git\/stable.*"; then
|
||||
true
|
||||
else
|
||||
exit 255
|
||||
fi
|
||||
# Install git
|
||||
apt install -y git
|
||||
elif apt list --installed 2>/dev/null | grep -qP "^git\/stable.*"; then
|
||||
true
|
||||
else
|
||||
exit 255
|
||||
fi
|
||||
# Check for shellcheck
|
||||
if ! apt list --installed 2>/dev/null | grep -qP "^shellcheck\s{1}-.*"; then
|
||||
# Check if we can install shellcheck
|
||||
if ! apt list | grep -qP "^shellcheck\s{1}-.*"; then
|
||||
apt update
|
||||
elif apt list | grep -qP "^shellcheck\s{1}-.*"; then
|
||||
true
|
||||
else
|
||||
exit 255
|
||||
fi
|
||||
# Install shellcheck
|
||||
apt install -y shellcheck
|
||||
elif apt list --installed 2>/dev/null | grep -qP "^shellcheck\s{1}-.*"; then
|
||||
true
|
||||
else
|
||||
exit 255
|
||||
fi
|
||||
- name: Pulling git dir..
|
||||
uses: actions/checkout@v2
|
||||
- name: Processing files..
|
||||
# Make sure that bash is used
|
||||
shell: bash
|
||||
run: |
|
||||
cd "$GITHUB_WORKSPACE"
|
||||
|
||||
# Process files
|
||||
## NOTICE: Do not use for loop to avoid pitfall https://mywiki.wooledge.org/BashPitfalls#pf1
|
||||
git --git-dir="$GITHUB_WORKSPACE/.git" ls-files -z -- '*.sh' | while IFS= read -rd '' file; do
|
||||
printf 'linting shell file %s\n' "$file"
|
||||
shellcheck --external-sources --shell=sh "$file"
|
||||
done
|
|
@ -0,0 +1,19 @@
|
|||
name: Mark stale issues and pull requests
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v1
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'Stale issue message'
|
||||
stale-pr-message: 'Stale pull request message'
|
||||
stale-issue-label: 'no-issue-activity'
|
||||
stale-pr-label: 'no-pr-activity'
|
|
@ -1,17 +0,0 @@
|
|||
name: Staler
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v1
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'FIXME: Stale issue message (https://github.com/RXT0112/Zernit/edit/master/.github/workflows/stale.yml)'
|
||||
stale-pr-message: 'FIXME: Stale pull request message (https://github.com/RXT0112/Zernit/edit/master/.github/workflows/stale.yml)'
|
||||
stale-issue-label: 'no-issue-activity'
|
||||
stale-pr-label: 'no-pr-activity'
|
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,
|
||||
}
|
162
.travis.yml
162
.travis.yml
|
@ -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
|
||||
|
||||
|
@ -9,37 +8,30 @@ sudo: required
|
|||
# Use matrix to run tests on different environments
|
||||
matrix:
|
||||
include:
|
||||
|
||||
## BUILD ##
|
||||
|
||||
# Exherbo Linux
|
||||
# Exherbo with GCC
|
||||
- name: "Exherbo Linux with GCC"
|
||||
os: linux
|
||||
dist: bionic
|
||||
group: exherbo
|
||||
cache:
|
||||
directories:
|
||||
- /var/db/paludis
|
||||
env:
|
||||
DOCKER="exherbo_ci:latest"
|
||||
VARIANT="exherbo"
|
||||
TOOL="build"
|
||||
TOOL="compile"
|
||||
COMPILER_C="gcc"
|
||||
COMPILER_CXX="g++"
|
||||
|
||||
# Exherbo with Clang
|
||||
- name: "Exherbo Linux with Clang"
|
||||
os: linux
|
||||
dist: bionic
|
||||
group: exherbo
|
||||
cache:
|
||||
directories:
|
||||
- /var/db/paludis
|
||||
env:
|
||||
DOCKER="exherbo_ci:latest"
|
||||
VARIANT="exherbo"
|
||||
TOOL="build"
|
||||
TOOL="compile"
|
||||
COMPILER_C="clang"
|
||||
COMPILER_CXX="clang++"
|
||||
|
||||
|
@ -54,13 +46,10 @@ matrix:
|
|||
group: travis_latest
|
||||
env:
|
||||
DOCKER="ubuntu:eoan"
|
||||
VARIANT="ubuntu-19.10"
|
||||
TOOL="build"
|
||||
VARIANT="ubuntu"
|
||||
TOOL="compile"
|
||||
COMPILER_C="gcc"
|
||||
COMPILER_CXX="g++"
|
||||
REPOSITORY="https://github.com/RXT0112/Zernit.git"
|
||||
PACKAGES="git make cargo rustc"
|
||||
|
||||
# Ubuntu 19.10 (Eoan Ermine) with Clang
|
||||
- name: "Ubuntu 19.10 (Eoan Ermine) with Clang"
|
||||
os: linux
|
||||
|
@ -71,12 +60,10 @@ matrix:
|
|||
group: travis_latest
|
||||
env:
|
||||
DOCKER="ubuntu:eoan"
|
||||
VARIANT="ubuntu-19.10"
|
||||
TOOL="build"
|
||||
VARIANT="ubuntu"
|
||||
TOOL="compile"
|
||||
COMPILER_C="clang"
|
||||
COMPILER_CXX="clang++"
|
||||
REPOSITORY="https://github.com/RXT0112/Zernit.git"
|
||||
PACKAGES="git make cargo rustc"
|
||||
|
||||
# Debian Linux
|
||||
# Debian Testing
|
||||
|
@ -86,75 +73,84 @@ matrix:
|
|||
group: travis_latest
|
||||
env:
|
||||
DOCKER="debian:testing"
|
||||
VARIANT="debian-testing"
|
||||
TOOL="build"
|
||||
VARIANT="debian"
|
||||
TOOL="compile"
|
||||
COMPILER_C="gcc"
|
||||
COMPILER_CXX="g++"
|
||||
REPOSITORY="https://github.com/RXT0112/Zernit.git"
|
||||
PACKAGES="rustc cargo git make pkg-config libssl-dev"
|
||||
|
||||
- name: "Debian Testing with Clang"
|
||||
os: linux
|
||||
dist: bionic
|
||||
group: travis_latest
|
||||
env:
|
||||
DOCKER="debian:testing"
|
||||
VARIANT="debian-testing"
|
||||
TOOL="build"
|
||||
VARIANT="debian"
|
||||
TOOL="compile"
|
||||
COMPILER_C="clang"
|
||||
COMPILER_CXX="clang++"
|
||||
REPOSITORY="https://github.com/RXT0112/Zernit.git"
|
||||
PACKAGES="rustc cargo git make pkg-config libssl-dev"
|
||||
# - name: "Debian Testing packaging with pbuilder"
|
||||
# os: linux
|
||||
# dist: bionic
|
||||
# group: travis_latest
|
||||
# env:
|
||||
# DOCKER="debian:testing"
|
||||
# VARIANT="debian"
|
||||
# TOOL="pbuilder"
|
||||
|
||||
# # Debian Sid
|
||||
# - name: "Debian Sid with GCC"
|
||||
# Debian Sid
|
||||
- name: "Debian Sid with GCC"
|
||||
os: linux
|
||||
dist: bionic
|
||||
group: travis_latest
|
||||
env:
|
||||
DOCKER="debian:sid"
|
||||
VARIANT="debian"
|
||||
TOOL="compile"
|
||||
COMPILER_C="gcc"
|
||||
COMPILER_CXX="g++"
|
||||
|
||||
- name: "Debian Sid with Clang"
|
||||
os: linux
|
||||
dist: bionic
|
||||
group: travis_latest
|
||||
env:
|
||||
DOCKER="debian:sid"
|
||||
VARIANT="debian"
|
||||
TOOL="compile"
|
||||
COMPILER_C="clang"
|
||||
COMPILER_CXX="clang++"
|
||||
# - name: "Debian Sid packaging with pbuilder"
|
||||
# os: linux
|
||||
# dist: bionic
|
||||
# group: travis_latest
|
||||
# env:
|
||||
# DOCKER="debian:sid"
|
||||
# VARIANT="debian"
|
||||
# TOOL="build"
|
||||
# COMPILER_C="gcc"
|
||||
# COMPILER_CXX="g++"
|
||||
# REPOSITORY="https://github.com/RXT0112/Zernit.git"
|
||||
# PACKAGES="rustc cargo build-essentials make"
|
||||
# TOOL="pbuilder"
|
||||
|
||||
# - name: "Debian Sid with Clang"
|
||||
# os: linux
|
||||
# dist: bionic
|
||||
# group: travis_latest
|
||||
# env:
|
||||
# DOCKER="debian:sid"
|
||||
# VARIANT="debian"
|
||||
# TOOL="build"
|
||||
# COMPILER_C="clang"
|
||||
# COMPILER_CXX="clang++"
|
||||
# REPOSITORY="https://github.com/RXT0112/Zernit.git"
|
||||
# PACKAGES="rustc cargo build-essentials make"
|
||||
# FreeBSD
|
||||
# FreeBSD 12.0-RELEASE
|
||||
- name: "FreeBSD 12.0-RELEASE with Clang"
|
||||
os: linux
|
||||
dist: bionic
|
||||
group: travis_latest
|
||||
env:
|
||||
QEMU="FreeBSD"
|
||||
VARIANT="12.0-RELEASE"
|
||||
TOOL="compile"
|
||||
COMPILER_C="clang"
|
||||
COMPILER_CXX="clang++"
|
||||
|
||||
# # FreeBSD
|
||||
# # FreeBSD 12.0-RELEASE
|
||||
# - name: "FreeBSD 12.0-RELEASE with Clang"
|
||||
# os: linux
|
||||
# dist: bionic
|
||||
# group: travis_latest
|
||||
# env:
|
||||
# QEMU="FreeBSD"
|
||||
# VARIANT="12.0-RELEASE"
|
||||
# TOOL="build"
|
||||
# COMPILER_C="clang"
|
||||
# COMPILER_CXX="clang++"
|
||||
|
||||
# - name: "FreeBSD 12.0-RELEASE with GCC"
|
||||
# os: linux
|
||||
# dist: bionic
|
||||
# group: travis_latest
|
||||
# env:
|
||||
# QEMU="FreeBSD"
|
||||
# VARIANT="12.0-RELEASE"
|
||||
# TOOL="build"
|
||||
# COMPILER_C="gcc"
|
||||
# COMPILER_CXX="g++"
|
||||
- name: "FreeBSD 12.0-RELEASE with GCC"
|
||||
os: linux
|
||||
dist: bionic
|
||||
group: travis_latest
|
||||
env:
|
||||
QEMU="FreeBSD"
|
||||
VARIANT="12.0-RELEASE"
|
||||
TOOL="compile"
|
||||
COMPILER_C="gcc"
|
||||
COMPILER_CXX="g++"
|
||||
|
||||
# FIXME: MacOS needs refactor of C programs to be compatible (https://travis-ci.org/Kreyrock/Kreyrock/jobs/620509927?utm_medium=notification&utm_source=github_status)
|
||||
# MacOS X
|
||||
|
@ -166,8 +162,6 @@ matrix:
|
|||
osx_image: xcode11.2
|
||||
compiler: clang
|
||||
group: travis_latest
|
||||
env:
|
||||
TOOL="build"
|
||||
|
||||
- name: "MacOS 10.14, xcode11.2 with gcc"
|
||||
os: osx
|
||||
|
@ -176,8 +170,6 @@ matrix:
|
|||
osx_image: xcode11.2
|
||||
compiler: gcc
|
||||
group: travis_latest
|
||||
env:
|
||||
TOOL="build"
|
||||
|
||||
## MacOS 10.14.4
|
||||
- name: "MacOS 10.14.4, xcode10.3 with clang"
|
||||
|
@ -187,8 +179,6 @@ matrix:
|
|||
osx_image: xcode10.3
|
||||
compiler: clang
|
||||
group: travis_latest
|
||||
env:
|
||||
TOOL="build"
|
||||
|
||||
- name: "MacOS 10.14.4, xcode10.3 with gcc"
|
||||
os: osx
|
||||
|
@ -197,8 +187,6 @@ matrix:
|
|||
osx_image: xcode10.3
|
||||
compiler: gcc
|
||||
group: travis_latest
|
||||
env:
|
||||
TOOL="build"
|
||||
|
||||
## MacOS 10.13
|
||||
- name: "MacOS 10.13, xcode9.4 with clang"
|
||||
|
@ -208,8 +196,6 @@ matrix:
|
|||
osx_image: xcode9.4
|
||||
compiler: clang
|
||||
group: travis_latest
|
||||
env:
|
||||
TOOL="build"
|
||||
|
||||
- name: "MacOS 10.13, xcode9.4 with gcc"
|
||||
os: osx
|
||||
|
@ -218,23 +204,16 @@ matrix:
|
|||
osx_image: xcode9.4
|
||||
compiler: gcc
|
||||
group: travis_latest
|
||||
env:
|
||||
TOOL="build"
|
||||
|
||||
# Others
|
||||
|
||||
# Default linux
|
||||
- name: "Linux, default check"
|
||||
- name: "Linux, default build"
|
||||
os: linux
|
||||
dist: bionic
|
||||
group: travis_latest
|
||||
env:
|
||||
TOOL="check"
|
||||
|
||||
# Windows
|
||||
# - name: "Windows build"
|
||||
# os: windows
|
||||
# env:
|
||||
# TOOL="build"
|
||||
TOOL="compile"
|
||||
|
||||
before-install:
|
||||
- QA/travis-ci/before-install.sh
|
||||
|
@ -243,5 +222,6 @@ install:
|
|||
- QA/travis-ci/install.sh
|
||||
|
||||
script:
|
||||
- QA/travis-ci/test.sh
|
||||
- QA/travis-ci/build.sh
|
||||
- make build
|
||||
# We already have logic for linting so there is no need to use 'make check'
|
||||
- QA/tests/HELL/hell.sh
|
|
@ -0,0 +1,5 @@
|
|||
# Contributing guideliness
|
||||
|
||||
FIXME: Preamble needed
|
||||
|
||||
FIXME: Do not assign translate variables in fixme messages
|
|
@ -13,16 +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.26.2"
|
||||
# Used for reading toml files
|
||||
toml = "0.5.6"
|
||||
# Custom logging solution
|
||||
zernit-logger = { path = "src/libs/rustlang/zernit-logger" }
|
||||
|
||||
[dev-dependencies]
|
||||
# Used for benchmarking
|
||||
criterion = "0.3.1"
|
||||
|
||||
[[bench]]
|
||||
name = "example_bench"
|
||||
harness = false
|
||||
zernit-logger = { path = "src/libs/rustlang/zernit-logger" }
|
46
LICENSE.md
46
LICENSE.md
|
@ -1,3 +1,45 @@
|
|||
All rights reserved by Jacob Hrbek <kreyren@rixotstudio.cz> in 12/07/2018 unless explicitedly specified otherwise.
|
||||
All rights reserved by Jacob Hrbek <kreyren@rixotstudio.cz> 2020.
|
||||
|
||||
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.
|
||||
Author (Jacob Hrbek) revokes all permissions to modify, redistribute, fork or any other handling of any content in this repository to everyone unless license provided per file or directory states otherwise.
|
||||
|
||||
This is done to protect the intelectual property untill following stub version is finished.
|
||||
|
||||
This section of this license identified as 'stub version' is not yet in effect.
|
||||
|
||||
=== START OF STUB VERSION ===
|
||||
|
||||
This license is now voided until finished into a production to replace current license by which it's meant to be announced the change by the original creator of this project (github.com/kreyren)
|
||||
|
||||
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 GENERAL ZERNIT LICENSE (RXT0112-LICENSE)
|
||||
Version 0, 20 January 2020
|
||||
|
||||
Copyright (C) 2020 [RiXotStudio](http://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.
|
||||
|
||||
This license is community maintained where only the authorised personel further clarified below are allowd to make changes.
|
||||
|
||||
## TERMINOLOGY
|
||||
|
||||
authorised person = ...
|
||||
|
||||
Original Creator (OC) == Jacob Hrbek <kreyren@rixotstudio.cz>
|
||||
|
||||
## Forks
|
||||
To avoid segmentation of this project this permission denies
|
80
Makefile
80
Makefile
|
@ -8,52 +8,47 @@ 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
|
||||
@ 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/} || exit 1; done
|
||||
|
||||
build:
|
||||
@ printf 'FIXME: %s\n' "Build all targets if executed"
|
||||
@ exit 1
|
||||
|
||||
# FIXME: Build in '$repodir/build/build-rustlang' instead of '$repodir/target' for multilang support
|
||||
build-rustlang:
|
||||
@ cargo build --verbose
|
||||
|
||||
# FIXME: Add logic
|
||||
build-clang-c:
|
||||
build-gc:
|
||||
@ # 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
|
||||
@ [ ! -d build ] && { mkdir build || exit 1 ;}
|
||||
@ [ ! -d build/target-gc ] && { mkdir build/build-gc || exit 1 ;}
|
||||
|
||||
@ # 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"
|
||||
|
||||
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
|
||||
|
||||
@ # 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:
|
||||
build-gcc:
|
||||
@ # Make a build directory
|
||||
@ [ ! -d build ] && { mkdir build || exit 1 ;}
|
||||
@ [ ! -d build/target-gcc ] && { mkdir build/build-gcc || exit 1 ;}
|
||||
|
||||
@ # Compilation
|
||||
@ [ ! -f build/build-gcc ] && { gcc src/bin/main.c -o build/build-gcc/gcc-zernit || exit 1 ;}
|
||||
@ [ ! -f build/build-gcc ] && { gc src/bin/main.c -o build/build-gcc/gcc-zernit || exit 1 ;}
|
||||
@ printf '%s\n' "Compilation of target for gcc finished"
|
||||
|
||||
build-clang-ccp:
|
||||
build-clang:
|
||||
@ printf 'FIXME: %s\n' "translate zernit in clang"
|
||||
@ exit 1
|
||||
|
||||
|
@ -61,19 +56,13 @@ build-brainfuck:
|
|||
@ printf 'FIXME: %s\n' "translate zernit in brainfuck"
|
||||
@ exit 1
|
||||
|
||||
# FIXME: requires python3.6+ and pip3
|
||||
build-python:
|
||||
@ pip3 install -r requirements.txt
|
||||
@ printf 'FIXME: %s\n' "translate zernit in python"
|
||||
@ exit 1
|
||||
|
||||
build-vlang:
|
||||
@ [ ! -d build ] && mkdir build
|
||||
@ [ ! -d build/build-vlang ] && mkdir build/build-vlang
|
||||
@ /opt/vlang/v -o build/build-vlang/zernit-vlang src/bin/main.v
|
||||
|
||||
build-golang:
|
||||
@ [ ! -d build ] && mkdir build
|
||||
@ [ ! -d build/build-golang ] && mkdir build/build-golang
|
||||
@ go build -o build/build-golang/zernit-golang src/bin/main.go
|
||||
@ printf 'FIXME: %s\n' "translate zernit in vlang"
|
||||
@ exit 1
|
||||
|
||||
## CHECK/TESTS ##
|
||||
|
||||
|
@ -81,15 +70,15 @@ check:
|
|||
@ printf 'FIXME: %s\n' "Check all targets if executed"
|
||||
@ exit 1
|
||||
|
||||
check-gcc-c:
|
||||
check-gc:
|
||||
@ printf 'FIXME: %s\n' "Add tests for gc"
|
||||
@ exit 1
|
||||
|
||||
check-clang-c:
|
||||
check-gcc:
|
||||
@ printf 'FIXME: %s\n' "Add tests for gcc"
|
||||
@ exit 1
|
||||
|
||||
check-gcc-ccp:
|
||||
check-clang:
|
||||
@ printf 'FIXME: %s\n' "Add tests for clang"
|
||||
@ exit 1
|
||||
|
||||
|
@ -117,21 +106,12 @@ check-vlang:
|
|||
@ printf 'FIXME: %s\n' "Add tests for vlang"
|
||||
@ exit 1
|
||||
|
||||
## BENCHES ##
|
||||
|
||||
# FIXME: Run all benches if this is executed
|
||||
bench: bench-rustlang
|
||||
|
||||
# FIXME: Run vendor and
|
||||
bench-rustlang:
|
||||
@ cargo bench
|
||||
|
||||
## CLEAN ##
|
||||
|
||||
clean: clean-vendor clean-benches
|
||||
@ [ -d build ] && { rm -rf build || exit 1 ;} || exit 0
|
||||
clean:
|
||||
@ [ -d build ] && rm -r 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 -r vendor
|
|
@ -0,0 +1 @@
|
|||
Backend for Quality Assurance
|
|
@ -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
|
|
@ -9,7 +9,7 @@
|
|||
. "QA/travis-ci/travis-common.sh"
|
||||
|
||||
# shellcheck source=QA/travis-ci/get-container.sh
|
||||
. "QA/travis-ci/get-container.sh"
|
||||
. "$(dirname "$0")/get-container.sh"
|
||||
|
||||
fixme "Travis - before-install.sh disables SC1117 as hotfix"
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
# Copyright (C) 2018-2019 by Thomas Dreibholz <dreibh@iem.uni-due.de> as GPLv3 or any other GPL at your option
|
||||
|
||||
# shellcheck source=QA/travis-ci/travis-common.sh
|
||||
. "QA/travis-ci/travis-common.sh"
|
||||
. "$(dirname "$0")/travis-common.sh"
|
||||
|
||||
if [ -n "$DOCKER" ]; then
|
||||
|
||||
|
@ -18,8 +18,7 @@ if [ -n "$DOCKER" ]; then
|
|||
fi
|
||||
|
||||
# Get name of package
|
||||
fixme "Output package name based on repository name"
|
||||
PACKAGE="Zernit"
|
||||
PACKAGE="Kreyrock"
|
||||
|
||||
# Set container name
|
||||
CONTAINER=$(printf '%s\n' "$PACKAGE-$DOCKER-$TOOL" | sed -e "s/:/_/g")
|
||||
|
@ -28,9 +27,7 @@ if [ -n "$DOCKER" ]; then
|
|||
fi
|
||||
export CONTAINER
|
||||
|
||||
elif [ -z "$DOCKER" ]; then
|
||||
info "Docker is not used"
|
||||
|
||||
else
|
||||
die 256 "Unexpected happend while processing DOCKER variable"
|
||||
info "Docker is not used"
|
||||
unset CONTAINER
|
||||
fi
|
|
@ -0,0 +1,190 @@
|
|||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1117
|
||||
# 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
|
||||
# Based in part upon 'install.sh' from rsplib (https://raw.githubusercontent.com/dreibh/rsplib/master/ci/install), which is:
|
||||
# Copyright (C) 2018-2019 by Thomas Dreibholz <dreibh@iem.uni-due.de> as GPLv3 or any other GPL at your option
|
||||
|
||||
# shellcheck source=QA/travis-ci/travis-common.sh
|
||||
. "$(dirname "$0")/travis-common.sh"
|
||||
|
||||
# shellcheck source=QA/travis-ci/get-container.sh
|
||||
. "$(dirname "$0")/get-container.sh"
|
||||
|
||||
fixme "Travis - install.sh is disabling SC1117 as hotfix"
|
||||
|
||||
# QA: Why US mirror?
|
||||
UBUNTU_MIRROR="us.archive.ubuntu.com"
|
||||
RETRY_MAXTRIALS=5
|
||||
RETRY_PAUSE=60
|
||||
|
||||
# Linux as-is
|
||||
if [ "$TRAVIS_OS_NAME" = linux ] && [ -z "$DOCKER" ] && [ -z "$QEMU" ] && [ "$VARIANT" = ubuntu ]; then
|
||||
|
||||
sudo apt update
|
||||
|
||||
if [ "$(apt-cache search libfuse3-dev | grep -o "libfuse3-dev")" = "libfuse3-dev" ]; then
|
||||
|
||||
# Fetch all dependencies
|
||||
sudo apt-get install meson uthash-dev libcap-dev cppcheck libattr1-dev clang libfuse3-dev gcc git ninja-build bison libtool autoconf pkg-config libcap-dev indent fakeroot uthash-dev gzip rsync autopoint uthash-dev shellcheck -y
|
||||
|
||||
elif [ "$(apt-cache search libfuse3-dev | grep -o "libfuse3-dev")" = "libfuse3-dev" ]; then
|
||||
|
||||
sudo apt-get install meson uthash-dev libcap-dev cppcheck clang gcc git libattr1-dev ninja-build bison libtool autoconf pkg-config libcap-dev indent fakeroot uthash-dev gzip rsync autopoint shellcheck -y
|
||||
|
||||
# Travis is incompetent to provide usefull version of linux (https://travis-ci.community/t/more-virtual-environments/6213/7) so we have to fetch libfuse3-dev manually
|
||||
warn "Travis-CI's ubuntu still doesn NOT offer 'libfuse3-dev', using hack to fetch it manually"
|
||||
mkdir "$HOME/build/fuse3"
|
||||
fixme "Export latest fuse3 instead of hard-coded in ci/before-install.sh"
|
||||
wget https://github.com/libfuse/libfuse/releases/download/fuse-3.6.2/fuse-3.6.2.tar.xz -O "$HOME/build/fuse3/fuse-3.6.2.tar.xz"
|
||||
tar xpf "$HOME/build/fuse3/fuse-3.6.2.tar.xz" --directory="$HOME/build/fuse3/"
|
||||
mkdir "$HOME/build/fuse3/fuse-3.6.2/build"
|
||||
fixme "Avoid using cd in ci/before-install.sh"
|
||||
cd "$HOME/build/fuse3/fuse-3.6.2/build"|| die
|
||||
meson .. --prefix /usr
|
||||
ninja
|
||||
sudo ninja install
|
||||
|
||||
else
|
||||
die "Unexpected in install.sh configuring linux as-is"
|
||||
|
||||
fi
|
||||
|
||||
# Fetch shfmt (HACK!)
|
||||
if [ "$(apt-cache search shfmt | grep -o "shfmt")" = "shfmt" ]; then
|
||||
info "Installing shfmt"
|
||||
apt install -y shfmt
|
||||
|
||||
elif [ "$(apt-cache search shfmt | grep -o "shfmt")" != "shfmt" ]; then
|
||||
warn "Package shfmt is not available, using hack to fetch it manually.."
|
||||
|
||||
# Get shfmt
|
||||
if [ -e /usr/bin/shfmt ]; then
|
||||
warn "File /usr/bin/shfmt already exists! This is unexpected assuming that shfmt is already provided on linux as-is?"
|
||||
elif [ ! -e /usr/bin/shfmt ]; then
|
||||
sudo wget https://github.com/mvdan/sh/releases/download/v3.0.0-beta1/shfmt_v3.0.0-beta1_linux_amd64 -O /usr/bin/shfmt
|
||||
[ ! -x /usr/bin/shfmt ] && sudo chmod +x /usr/bin/shfmt
|
||||
else
|
||||
die "Unexpected happend in /usr/bin/shfmt"
|
||||
fi
|
||||
else
|
||||
die "Unexpected happend in feteching shfmt in linux as-is"
|
||||
fi
|
||||
|
||||
# Linux via Docker
|
||||
elif [ "$TRAVIS_OS_NAME" = linux ] && [ -n "$DOCKER" ] && [ -z "$QEMU" ]; then
|
||||
|
||||
# Apt-based
|
||||
if [ "$VARIANT" = ubuntu ] || [ "$VARIANT" = debian ]; then
|
||||
# QA: Why are these variables? Looks like perfect scenario for a function..
|
||||
APT_UPDATE='env LANG=C.UTF-8 apt-get update -o Acquire::GzipIndexes=false'
|
||||
APT_INSTALL="env LANG=C.UTF-8 DEBIAN_FRONTEND=noninteractive apt-get install -y -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --no-install-recommends"
|
||||
# APT_UPGRADE="env LANG=C.UTF-8 DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --no-install-recommends"
|
||||
# APT_ADD_REPOSITORY="env LANG=C.UTF-8 apt-add-repository -y"
|
||||
|
||||
# Prepare container
|
||||
info "Preparing container ..."
|
||||
# Use uncompressed package lists. Necessary to work around
|
||||
# "apt-show-version" problems due to usage of compressed lists in
|
||||
# Docker containers:
|
||||
# https://askubuntu.com/questions/916199/install-apt-show-versions-inside-an-ubuntu-docker-container
|
||||
sudo docker exec "$CONTAINER" env LANG=C.UTF-8 sed -e "s#http://archive.ubuntu.com/ubuntu/#http://$UBUNTU_MIRROR/ubuntu/#g" -i /etc/apt/sources.list
|
||||
fixme "Do not use bash in install.sh"
|
||||
#sudo docker exec "$CONTAINER" bash -c "find /var/lib/apt/lists/ -maxdepth 1 -type f | xargs rm -f"
|
||||
info "Updating docker's repositories for $VARIANT"
|
||||
sudo docker exec "$CONTAINER" ci/travis-ci/retry.sh -t "$RETRY_MAXTRIALS" -p "$RETRY_PAUSE" -- "$APT_UPDATE"
|
||||
|
||||
info "Installing dependencies for $VARIANT"
|
||||
sudo docker exec "$CONTAINER" ci/travis-ci/retry.sh -t "$RETRY_MAXTRIALS" -p "$RETRY_PAUSE" -- "$APT_INSTALL" build-essential meson cppcheck libcap-dev clang libfuse3-dev gcc git ninja-build bison libtool autoconf pkg-config libcap-dev indent fakeroot libattr1-dev uthash-dev gzip rsync autopoint uthash-dev shellcheck ca-certificates || die "Unable to install all required dependencies"
|
||||
|
||||
info "Fetching repository for $VARIANT"
|
||||
sudo docker exec "$CONTAINER" git clone https://github.com/Kreyrock/Kreyrock.git
|
||||
|
||||
# Exherbo
|
||||
elif [ "$VARIANT" = exherbo ]; then
|
||||
# Get paludis-config
|
||||
sudo docker exec "$CONTAINER" [ -e /etc/paludis ] && rm -r /etc/paludis
|
||||
sudo docker exec "$CONTAINER" git clone https://github.com/Kreyrock/paludis-config.git /etc/paludis
|
||||
|
||||
# Sync repositories
|
||||
sudo docker exec "$CONTAINER" cave resolve
|
||||
|
||||
# Resolve required repositories
|
||||
sudo docker exec "$CONTAINER" cave resolve -x1 repository/{alip,compnerd,virtualization,danyspin97,python,perl,hasufell} || die "Unable to resolve repositories for $TRAVIS_OS_NAME"
|
||||
|
||||
# Resolve required dependencies
|
||||
if [ "$COMPILER_C" = gcc ]; then
|
||||
info "Using GCC variant for $TRAVIS_OS_NAME"
|
||||
sudo docker exec "$CONTAINER" cave resolve sys-devel/meson dev-util/cppcheck sys-devel/gcc sys-fs/fuse dev-scm/git sys-devel/ninja sys-devel/bison sys-devel/libtool sys-devel/autoconf dev-util/pkg-config dev-util/indent sys-apps/fakeroot app-arch/gzip net-misc/rsync sys-devel/autoconf dev-util/shellcheck -x || die "Unable to resolve all dependencies for $TRAVIS_OS_NAME"
|
||||
|
||||
elif [ "$COMPILER_C" = clang ]; then
|
||||
info "Using Clang variant for $TRAVIS_OS_NAME"
|
||||
sudo docker exec "$CONTAINER" cave resolve sys-devel/meson dev-util/cppcheck sys-devel/clang sys-fs/fuse dev-scm/git sys-devel/ninja sys-devel/bison sys-devel/libtool sys-devel/autoconf dev-util/pkg-config dev-util/indent sys-apps/fakeroot app-arch/gzip net-misc/rsync sys-devel/autoconf dev-util/shellcheck -x || die "Unable to resolve all dependencies for $TRAVIS_OS_NAME"
|
||||
|
||||
else
|
||||
die "Unexpected COMPILER_C has been parsed in exherbo variant - '$COMPILER_C'"
|
||||
|
||||
fi
|
||||
|
||||
# Remove build instructions to save space
|
||||
sudo docker exec "$CONTAINER" [ -e /var/db/paludis ] && rm -r var/db/paludis
|
||||
|
||||
else
|
||||
die "Unexpected variant has been parsed in install.sh - '$VARIANT'"
|
||||
|
||||
fi
|
||||
|
||||
# MacOS X
|
||||
elif [ "$TRAVIS_OS_NAME" = osx ]; then
|
||||
# Homebrew takes lots of time on runtime due to the cleanup used, this is a hotfix (https://travis-ci.community/t/macosx-brew-update-takes-too-much-time/6295)
|
||||
HOMEBREW_NO_INSTALL_CLEANUP=1 brew update || die "Unable to update brew"
|
||||
|
||||
info "Installing dependencies"
|
||||
brew install shellcheck cppcheck shfmt || die "Unable to install dependencies on $TRAVIS_OS_NAME"
|
||||
|
||||
# FreeBSD via QEMU
|
||||
elif [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$QEMU" = "FreeBSD" ]; then
|
||||
if [ -n "$VARIANT" ]; then
|
||||
# Install packages
|
||||
# Ensure the file system is true (fuse-ufs2 in write mode is unreliable!)
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
"mount -fr / ; fsck -y /dev/gpt/rootfs ; mount -fw / ; df -h"
|
||||
|
||||
# Basic dependencies:
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
env ASSUME_ALWAYS_YES=yes pkg update
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
env ASSUME_ALWAYS_YES=yes pkg install -y bash autoconf meson cppcheck fusefs-libs3 gcc git ninja bison libtool autoconf pkg-config indent fakeroot gzip rsync autopoint shellcheck
|
||||
|
||||
# Bash shell:
|
||||
# Use bash, and make sure it is available under /bin/bash.
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
chsh -s /usr/local/bin/bash
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
ln -s /usr/local/bin/bash /bin/bash || true
|
||||
|
||||
# Ports collection:
|
||||
# This is the slow method via portsnap:
|
||||
# --- ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
# --- "portsnap --interactive fetch extract | grep -v ^/usr/ports"
|
||||
# Using Git is much faster:
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
"rm -rf /usr/ports ; git clone --depth=1 --filter=tree:0 https://github.com/freebsd/freebsd-ports /usr/ports"
|
||||
|
||||
# Package's dependencies:
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
"cd /travis/freebsd/*/ && ( make build-depends-list && make run-depends-list ) | sed -e 's/^.*\///g' -e 's/glib20/glib/g' | sort -u | xargs -r env ASSUME_ALWAYS_YES=yes pkg install -y"
|
||||
|
||||
echo "===== The FreeBSD VM is ready! ====="
|
||||
|
||||
elif [ -z "$VARIANT" ]; then
|
||||
die "Variable VARIANT is not set for FreeBSD via QEMU which is fatal, This should be set in travis.yml"
|
||||
|
||||
else
|
||||
die "Unexpected in FreeBSD using QEMU"
|
||||
|
||||
fi
|
||||
else
|
||||
die "Invalid setting of TRAVIS_OS_NAME=$TRAVIS_OS_NAME, DOCKER=$DOCKER, QEMU=$QEMU!"
|
||||
|
||||
fi
|
|
@ -3,23 +3,18 @@
|
|||
# Distributed under the terms of the GNU General Public License v3 (https://www.gnu.org/licenses/gpl-3.0.en.html) or later
|
||||
|
||||
# shellcheck source=QA/travis-ci/travis-common.sh
|
||||
. "QA/travis-ci/travis-common.sh"
|
||||
. "$(dirname "$0")/travis-common.sh"
|
||||
|
||||
# shellcheck source=QA/travis-ci/get-container.sh
|
||||
. "QA/travis-ci/get-container.sh"
|
||||
|
||||
case "$TOOL" in
|
||||
*check*) true ;;
|
||||
*) die 0 "Skipping tests as instructed"
|
||||
esac
|
||||
. "$(dirname "$0")/get-container.sh"
|
||||
|
||||
# Linux as-is
|
||||
if [ "$TRAVIS_OS_NAME" = linux ] && [ -z "$DOCKER" ] && [ -z "$QEMU" ]; then
|
||||
make test-rustlang
|
||||
make check
|
||||
|
||||
# Linux via Docker
|
||||
elif [ "$TRAVIS_OS_NAME" = linux ] && [ -n "$DOCKER" ] && [ -z "$QEMU" ]; then
|
||||
sudo docker exec "$CONTAINER" make --directory="/travis/Zernit" test-rustlang
|
||||
sudo docker exec "$CONTAINER" make --directory="/travis/Kreyrock" check
|
||||
|
||||
# MacOS X
|
||||
elif [ "$TRAVIS_OS_NAME" = osx ]; then
|
|
@ -1,17 +1,17 @@
|
|||
#!/bin/sh
|
||||
# Simplified error handling
|
||||
die() {
|
||||
printf 'FATAL: %s\n' "$2"
|
||||
exit "$1"
|
||||
printf 'FATAL: %s\n' "$*"
|
||||
exit 1
|
||||
}
|
||||
# Simplified QA handling
|
||||
fixme() {
|
||||
printf 'FIXME: %s\n' "$1"
|
||||
printf 'FIXME: %s/n' "$*"
|
||||
}
|
||||
# Simplified info messages
|
||||
info() {
|
||||
printf 'INFO: %s\n' "$1"
|
||||
printf 'INFO: %s\n' "$*"
|
||||
}
|
||||
warn() {
|
||||
printf 'WARN: %s\n' "$1"
|
||||
printf 'WARN: %s\n' "$*"
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
# Configuration file for bandit (security check for python)
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
Directory for benchmarks of the source
|
||||
|
||||
FIXME: Add benchmarks
|
|
@ -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,29 +13,13 @@ 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 shellcheck docker-ce docker-ce-cli containerd.io firefox tree xclip umbrello \
|
||||
&& 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"
|
||||
COPY gitpod/vlang_init4.sh /usr/bin/vlang_init
|
||||
RUN chmod +x /usr/bin/vlang_init
|
||||
RUN vlang_init || exit 1
|
||||
|
||||
# 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 ;}" \
|
||||
"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,158 +0,0 @@
|
|||
#!/bin/sh
|
||||
# Created by Jacob Hrbek <kreyren@rixotstudio.cz> under license GPL-3 (https://www.gnu.org/licenses/gpl-3.0.en.html)
|
||||
# Based in part on https://github.com/JesterOrNot/Gitpod-V which is created by Sean Hellum as unlicense
|
||||
|
||||
: "
|
||||
Initialization script made for gitpod to install vlang backend in gitpod
|
||||
|
||||
This script is developed to be POSIX-compatible
|
||||
|
||||
Use environment variable '$DEBUG' to output verbose info
|
||||
|
||||
CONFIGURATION
|
||||
- $VLANG_SOURCE = Path used for extraction and keeping of vlang source files
|
||||
- $VLANG_VERSION = Expected vlang version (value 'latest' is supported through GitHub API)
|
||||
- $VLANG_GROUP = Group used for those that are expected to have access in vlang
|
||||
- $CACHEDIR = Path for cache directory, based on FSH3.0 (270120) this should be '$HOME/.cache'
|
||||
- $VLANG_EXE = Path to which we will extract executable for vlang
|
||||
"
|
||||
|
||||
# Configuration
|
||||
[ -z "$VLANG_SOURCE" ] && VLANG_SOURCE="/opt/vlang"
|
||||
[ -z "$VLANG_VERSION" ] && VLANG_VERSION="0.1.24"
|
||||
[ -z "$VLANG_GROUP" ] && VLANG_GROUP="vlang"
|
||||
[ -z "$CACHEDIR" ] && CACHEDIR="$HOME/.cache"
|
||||
[ -z "$VLANG_EXE" ] && VLANG_EXE="/usr/bin/v"
|
||||
|
||||
# Simplified die for assertion
|
||||
die() {
|
||||
[ -z "$DIE_PREFIX" ] && DIE_PREFIX="FATAL:"
|
||||
printf "$DIE_PREFIX %s\\n" "$2"
|
||||
unset VLANG_SOURCE VLANG_VERSION DIE_PREFIX CACHEDIR VLANG_EXE
|
||||
exit "$1"
|
||||
}
|
||||
|
||||
edebug() {
|
||||
[ -z "$DEBUG_PREFIX" ] && DEBUG_PREFIX="DEBUG:"
|
||||
[ -n "$DEBUG" ] && printf "$DEBUG_PREFIX %s\\n" "$1"
|
||||
}
|
||||
|
||||
# checkroot
|
||||
if [ "$(id -u)" != "0" ]; then
|
||||
die 3 "Insufficient permission UID '$(id -u)' used for vlang initialization"
|
||||
elif [ "$(id -u)" = "0" ]; then
|
||||
edebug "Script has been executed from expected used with UID '$(id -u)'"
|
||||
else
|
||||
die 256 "Unexpected happend while checking root"
|
||||
fi
|
||||
|
||||
# Define latest version
|
||||
case "$VLANG_VERSION" in
|
||||
[0-9].[0-9].[0-9]|[0-9][0-9].[0-9].[0-9]|[0-9][0-9].[0-9][0-9].[0-9]|[0-9][0-9].[0-9][0-9].[0-9][0-9]|[0-9].[0-9][0-9].[0-9]|[0-9].[0-9].[0-9][0-9]) true ;;
|
||||
latest)
|
||||
VLANG_VERSION="$(curl https://api.github.com/repos/vlang/v/releases/latest 2>/dev/null | grep tag_name | sed '/^[[:blank:]]*"tag_name":[[:blank:]]*"\([^"]*\)",[[:blank:]]*$/!d; s//\1/; q' || die 4 "Unable to get latest vlang version for GitHub API")" ;;
|
||||
*) die 2 "Unsupported vlang version '$VLANG_VERSION' has been parsed in vlang_init script"
|
||||
esac
|
||||
|
||||
# Create cachedir
|
||||
if [ ! -d "$CACHEDIR" ]; then
|
||||
mkdir "$CACHEDIR" || die 1 "Unable to make a new directory in '$HOME/.cache' used for caching"
|
||||
edebug "Created a new directory in '$CACHEDIR' used for caching"
|
||||
elif [ -d "$CACHEDIR" ]; then
|
||||
edebug "Directory '$CACHEDIR' already exits, skipping creation"
|
||||
else
|
||||
die 256 "Unexpected happend while creating chachedir, bug?"
|
||||
fi
|
||||
|
||||
# Fetch
|
||||
if [ ! -f "$CACHEDIR/vlang-$VLANG_VERSION.zip" ]; then
|
||||
wget "https://github.com/vlang/v/releases/download/$VLANG_VERSION/v_linux.zip" -O "$CACHEDIR/vlang-$VLANG_VERSION.zip" || die 1 "Unable to fetch vlang tarball"
|
||||
edebug "Vlang source tarball has been exported in '$CACHEDIR/vlang-$VLANG_VERSION.zip'"
|
||||
elif [ -f "$CACHEDIR/vlang-$VLANG_VERSION.zip" ]; then
|
||||
edebug "File '$CACHEDIR/vlang-$VLANG_VERSION.zip' already exists, skipping fetch"
|
||||
else
|
||||
die 256 "Unexpected happend while fetching vlang source tarball in '$CACHEDIR/vlang-$VLANG_VERSION'"
|
||||
fi
|
||||
|
||||
# Create a new directory used for source files
|
||||
if [ ! -d "$VLANG_SOURCE" ]; then
|
||||
mkdir "$VLANG_SOURCE" || die 1 "Unable to create a new directory for source extraction of vlang"
|
||||
edebug "Created a new directory in '$VLANG_SOURCE' used for vlang source files"
|
||||
elif [ -d "$VLANG_SOURCE" ]; then
|
||||
edebug "Directory in '$VLANG_SOURCE' is already present, skipping creation"
|
||||
else
|
||||
die 256 "Unexpected happend while creating a new directory in '$VLANG_SOURCE'"
|
||||
fi
|
||||
|
||||
# Extract
|
||||
if [ ! -f "$VLANG_SOURCE/Makefile" ]; then
|
||||
unzip "$CACHEDIR/vlang-$VLANG_VERSION.zip" -d "$VLANG_SOURCE" || die 1 "Unable to extract vlang source in '$VLANG_SOURCE' directory"
|
||||
edebug "vlang source files has been extracted in '$VLANG_SOURCE'"
|
||||
elif [ -f "$VLANG_SOURCE/Makefile" ]; then
|
||||
edebug "vlang source files are already extracted, skipping extract"
|
||||
else
|
||||
die 256 "Unexpected happend while extracting vlang source files"
|
||||
fi
|
||||
|
||||
# Compile
|
||||
if [ ! -f "$VLANG_SOURCE/v" ]; then
|
||||
make -C "$VLANG_SOURCE" || die 1 "This system is unable to compile vlang"
|
||||
edebug "vlang has been sucessfully compiled"
|
||||
elif [ -f "$VLANG_SOURCE/v" ]; then
|
||||
edebug "vlang is already compiled, skipping compilation"
|
||||
else
|
||||
die 256 "Unexpected happend while compiling vlang source files"
|
||||
fi
|
||||
|
||||
# Export executable
|
||||
if [ ! -h "$VLANG_EXE" ] && [ ! -f "$VLANG_EXE" ]; then
|
||||
ln -sf "$VLANG_SOURCE/v" "$VLANG_EXE" || die 1 "Unable to symlink vlang executable in '$VLANG_EXE'"
|
||||
edebug "Vlang executable has been sucessfully symlinked"
|
||||
elif [ -f "$VLANG_EXE" ]; then
|
||||
die 1 "Pathname '$VLANG_EXE' is a file where symlink to compiled vlang compiler is expected"
|
||||
elif [ -h "$VLANG_EXE" ]; then
|
||||
edebug "Vlang executable is already symlinked, skipping.."
|
||||
fi
|
||||
|
||||
# Create a new user-group for vlang users
|
||||
if ! grep -qF vlang /etc/passwd 2>/dev/null; then
|
||||
groupadd vlang || die 1 "Unable to make a new user-group 'vlang'"
|
||||
edebug "Created a new user-group 'vlang'"
|
||||
elif grep -qF vlang /etc/passwd 2>/dev/null; then
|
||||
edebug "User-group 'vlang' already exists, skipping creation"
|
||||
else
|
||||
die 256 "Unexpected happend while creating new user-group 'vlang'"
|
||||
fi
|
||||
|
||||
# Transfer ownership of VLANG_SOURCE to vlang user-group
|
||||
if [ "$(stat -c '%G' "$VLANG_SOURCE")" != vlang ]; then
|
||||
chown -R root:vlang "$VLANG_SOURCE" || die 1 "Unable to transfer ownership of '$VLANG_SOURCE' directory to vlang user-group"
|
||||
edebug "Permission to '$VLANG_SOURCE' directory has been transfered to vlang user-group"
|
||||
elif [ "$(stat -c '%G' "$VLANG_SOURCE")" = vlang ]; then
|
||||
edebug "Directory '$VLANG_SOURCE' is already owned by 'vlang' user-group"
|
||||
else
|
||||
die 256 "Unexpected happend while transfering '$VLANG_SOURCE' directory to 'vlang' user-group"
|
||||
fi
|
||||
|
||||
# Add gitpod user in vlang group
|
||||
if ! groups | grep -qF "$VLANG_GROUP"; then
|
||||
usermod -a -G "$VLANG_GROUP" gitpod || die 1 "Unable to transfer user 'gitpod' in user-group '$VLANG_GROUP'"
|
||||
chmod -R 0775 "$VLANG_SOURCE" || die 1 "Unable to set ownership to '$VLANG_SOURCE"
|
||||
edebug "User 'gitpod' has been added in user-group '$VLANG_GROUP'"
|
||||
elif groups | grep -qF $VLANG_GROUP; then
|
||||
edebug "User 'gitpod' is already in user-group '$VLANG_GROUP'"
|
||||
else
|
||||
die 256 "Unexpected happend while adding user 'gitpod' in user-group '$VLANG_GROUP'"
|
||||
fi
|
||||
|
||||
# Selfcheck
|
||||
# FIXME: Fix selfcheck
|
||||
# su gitpod -c "$VLANG_EXE" help 1>/dev/null
|
||||
|
||||
# case "$?" in
|
||||
# 0) printf 'INFO: %s\n' "builtin vlang selfcheck passed" ;;
|
||||
# *) die "$?" "builtin vlang selfcheck failed"
|
||||
# esac
|
||||
|
||||
# Master unset
|
||||
unset VLANG_SOURCE VLANG_VERSION DIE_PREFIX CACHEDIR VLANG_EXE
|
|
@ -0,0 +1,3 @@
|
|||
Directory used for translations
|
||||
|
||||
files in this directory can be translated in different format on demand if development requires it.
|
|
@ -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,22 +0,0 @@
|
|||
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 => 1,
|
||||
n => fibonacci(n-1) + fibonacci(n-2),
|
||||
}
|
||||
}
|
||||
|
||||
fn criterion_benchmark(c: &mut Criterion) {
|
||||
c.bench_function("fib 20", |b| b.iter(|| fibonacci(black_box(20))));
|
||||
}
|
||||
|
||||
criterion_group!(benches, criterion_benchmark);
|
||||
criterion_main!(benches);
|
|
@ -1,21 +0,0 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
// NOTICE: Changes in this file require CI adaptation
|
||||
|
||||
// FIXME-TEST: Add tests
|
||||
//FIXME-BENCH: Add benchmark
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
if(argc < 2) {
|
||||
// FIXME: Source better help message from po depending on language used
|
||||
printf("%s\n", "Argument(s) required, use -h for display help");
|
||||
return 2;
|
||||
} else if(strcmp(argv[1], "-h") == 0) {
|
||||
printf("FIXME: %s\n", "Add optionsi");
|
||||
return 1;
|
||||
} else {
|
||||
printf("FATAL: %s\n", "Unexpected happend while processing arguments");
|
||||
return 256;
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func helloworld() string {
|
||||
return "Hello World!!"
|
||||
}
|
||||
|
||||
func main() {
|
||||
fmt.Println(helloworld())
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
import sys
|
||||
from termcolor import cprint
|
||||
|
||||
"""
|
||||
FIXME-DOCS: Add documentation
|
||||
|
||||
Made for Python 3.6 ~ Python 3.8.1
|
||||
Requires pip for termcolor
|
||||
"""
|
||||
|
||||
# FIXME: Add logic to generate help message and handle arguments automatically
|
||||
|
||||
def cli_arg():
|
||||
if len(sys.argv) == 1:
|
||||
cprint("No Arguments Were Passed. Type -h to view basic usage.", "red")
|
||||
exit()
|
||||
# sys.arg[1] is the file itself.
|
||||
elif sys.argv[1].lower() == "-h":
|
||||
cprint("""
|
||||
File used as bankend to parse arguments and options into subcommands
|
||||
|
||||
SYNOPSIS: command OPTION [SUBCOMS]
|
||||
|
||||
OPTIONS:
|
||||
-G, --gui Open Graphical User Interface
|
||||
|
||||
SUBCOMS (Subcommands):
|
||||
resolve resolve package on the system
|
||||
""", "green")
|
||||
|
||||
else:
|
||||
cprint("Incorrect Argument! Type -h to view basic usage.", "red")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
cli_arg()
|
||||
except IndexError:
|
||||
pass
|
|
@ -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,9 +0,0 @@
|
|||
// DEVELOPMENT_HALTED: Vlang's tests does not support our file hierarchy (https://github.com/vlang/v/issues/3674)
|
||||
|
||||
fn hello() {
|
||||
printf("%s\n", "Hello World")
|
||||
}
|
||||
|
||||
fn main() {
|
||||
hello()
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
FIXME: WIP directory designed for Continuous Delivery of the source code
|
|
@ -1,7 +0,0 @@
|
|||
FIXME: WIP directory designed for quality assurance (also known as Continuous Integration)
|
||||
|
||||
FIXME: The logic should be managed by a custom management system (Should be implemented through https://github.com/RXT0113 so that it can be maintained cross-project)
|
||||
FIXME: Support for TravisCI
|
||||
FIXME: Support for GitHubCI
|
||||
FIXME: Support for CircleCI
|
||||
FIXME: Support for SourceHutCI
|
|
@ -1,3 +0,0 @@
|
|||
This is legacy after sourcehut tests that are now blocked by https://github.com/RXT0112/Zernit/issues/51
|
||||
|
||||
We decided to stub this here since sourcehut it cool and we would like to use it if these problems are resolved.
|
|
@ -1,26 +0,0 @@
|
|||
image: archlinux
|
||||
packages:
|
||||
- meson
|
||||
- scdoc
|
||||
- wayland-protocols
|
||||
- wlroots-git
|
||||
- wayland
|
||||
- libxkbcommon
|
||||
- cairo
|
||||
- cargo
|
||||
- pango
|
||||
- gdk-pixbuf2
|
||||
- pixman
|
||||
- libinput
|
||||
- xorg-server-xwayland
|
||||
sources:
|
||||
- https://github.com/RXT0112/Zernit
|
||||
tasks:
|
||||
- build: |
|
||||
cd Zernit
|
||||
if git --no-pager diff --name-only origin/master | grep -q ".*.rs$"; then cargo build; fi
|
||||
complete-build
|
||||
- bench: |
|
||||
cd Zernit
|
||||
if git --no-pager diff --name-only origin/master | grep -q ".*.rs$"; then cargo bench; fi
|
||||
complete-build
|
|
@ -1,36 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# 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
|
||||
|
||||
# shellcheck source=QA/travis-ci/travis-common.sh
|
||||
. "QA/travis-ci/travis-common.sh"
|
||||
|
||||
# shellcheck source=QA/travis-ci/get-container.sh
|
||||
. "QA/travis-ci/get-container.sh"
|
||||
|
||||
# Skip build if not set up
|
||||
case "$TOOL" in
|
||||
*build*) true ;;
|
||||
*) die 0 "Skipping build as instructed"
|
||||
esac
|
||||
|
||||
# Linux as-is
|
||||
if [ "$TRAVIS_OS_NAME" = linux ] && [ -z "$DOCKER" ] && [ -z "$QEMU" ]; then
|
||||
make --directory="/travis/Zernit" build-rustlang
|
||||
|
||||
# Linux via Docker
|
||||
elif [ "$TRAVIS_OS_NAME" = linux ] && [ -n "$DOCKER" ] && [ -z "$QEMU" ]; then
|
||||
sudo docker exec "$CONTAINER" make --directory="/travis/Zernit" build-rustlang
|
||||
|
||||
# MacOS X
|
||||
elif [ "$TRAVIS_OS_NAME" = osx ]; then
|
||||
make build-rustlang
|
||||
|
||||
elif [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$QEMU" = "FreeBSD" ]; then
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
make check
|
||||
|
||||
else
|
||||
die "Invalid setting of TRAVIS_OS_NAME=$TRAVIS_OS_NAME, DOCKER=$DOCKER, QEMU=$QEMU!"
|
||||
|
||||
fi
|
|
@ -1,132 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1117
|
||||
# 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
|
||||
# Based in part upon 'install.sh' from rsplib (https://raw.githubusercontent.com/dreibh/rsplib/master/ci/install), which is:
|
||||
# Copyright (C) 2018-2019 by Thomas Dreibholz <dreibh@iem.uni-due.de> as GPLv3 or any other GPL at your option
|
||||
|
||||
# shellcheck source=QA/travis-ci/travis-common.sh
|
||||
. "QA/travis-ci/travis-common.sh"
|
||||
|
||||
# shellcheck source=QA/travis-ci/get-container.sh
|
||||
. "QA/travis-ci/get-container.sh"
|
||||
|
||||
fixme "Travis - install.sh is disabling SC1117 as hotfix"
|
||||
|
||||
# Linux as-is
|
||||
if [ "$TRAVIS_OS_NAME" = linux ] && [ -z "$DOCKER" ] && [ -z "$QEMU" ]; then
|
||||
|
||||
# Update repositories based on available package manager
|
||||
if command -v apt >/dev/null; then
|
||||
sudo apt update || die 1 "Unable to update repositories on VARIANT '$VARIANT'"
|
||||
elif command -v cave >/dev/null; then
|
||||
cave sync || die 1 "Unable to update repositories on paludis"
|
||||
else
|
||||
die 256 "Unsupported package manager has been used"
|
||||
fi
|
||||
|
||||
# Install dependencies based on variant used
|
||||
case "$VARIANT" in
|
||||
ubuntu-*|debian-*)
|
||||
# Install dependencies
|
||||
if [ -n "$PACKAGES" ]; then
|
||||
sudo apt install -y "$PACKAGES" || die 1 "Unable to install following packages: '$PACKAGES'"
|
||||
elif [ -z "$PACKAGES" ]; then
|
||||
info "Dependencies are not specified in PACKAGES variable"
|
||||
else
|
||||
die 256 "Unexpected happend while processing PACKAGES variable"
|
||||
fi
|
||||
;;
|
||||
*) die 2 "Unsupported variant '$VARIANT' has been parsed"
|
||||
esac
|
||||
|
||||
# Do not clean repositories since docker images are not saved
|
||||
|
||||
# Linux via Docker
|
||||
elif [ "$TRAVIS_OS_NAME" = linux ] && [ -n "$DOCKER" ] && [ -z "$QEMU" ]; then
|
||||
|
||||
fixme "Fix duplicates of repository update"
|
||||
|
||||
case "$VARIANT" in
|
||||
ubuntu-*|debian-*)
|
||||
# Update repositories
|
||||
docker exec "$CONTAINER" apt update || die 1 "Unable to update repositories on '$VARIANT' using DOCKER '$DOCKER'"
|
||||
|
||||
# Install dependencies
|
||||
if [ -n "$PACKAGES" ]; then
|
||||
# NOTICE: DO not double quote PACKAGES
|
||||
docker exec "$CONTAINER" apt install -y $PACKAGES || die 1 "Unable to install following packages on '$CONTAINER': '$PACKAGES'"
|
||||
elif [ -z "$PACKAGES" ]; then
|
||||
true
|
||||
else
|
||||
die 256 "Resolving packages for '$CONTAINER'"
|
||||
fi
|
||||
;;
|
||||
*) die 256 "Unsupported variant '$VARIANT' has been parsed in DOCKER '$DOCKER'"
|
||||
esac
|
||||
|
||||
info "Fetching repository for $VARIANT"
|
||||
|
||||
sudo docker exec "$CONTAINER" git clone "$REPOSITORY" || die 1 "Unable to fetch '$REPOSITORY'"
|
||||
|
||||
# MacOS X
|
||||
elif [ "$TRAVIS_OS_NAME" = osx ]; then
|
||||
# Homebrew takes lots of time on runtime due to the cleanup used, this is a hotfix (https://travis-ci.community/t/macosx-brew-update-takes-too-much-time/6295)
|
||||
HOMEBREW_NO_INSTALL_CLEANUP=1 brew update || die "Unable to update brew"
|
||||
|
||||
info "Installing dependencies"
|
||||
|
||||
if [ -n "$PACKAGES" ]; then
|
||||
brew install $PACKAGES || die "Unable to install dependencies on $TRAVIS_OS_NAME"
|
||||
elif [ -z "$PACKAGES" ]; then
|
||||
true
|
||||
else
|
||||
die 256 "Unexpected happend while installing packages on '$TRAVIS_OS_NAME'"
|
||||
fi
|
||||
|
||||
# FreeBSD via QEMU
|
||||
elif [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$QEMU" = "FreeBSD" ]; then
|
||||
if [ -n "$VARIANT" ]; then
|
||||
# Install packages
|
||||
# Ensure the file system is true (fuse-ufs2 in write mode is unreliable!)
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
"mount -fr / ; fsck -y /dev/gpt/rootfs ; mount -fw / ; df -h"
|
||||
|
||||
# Basic dependencies:
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
env ASSUME_ALWAYS_YES=yes pkg update
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
env ASSUME_ALWAYS_YES=yes pkg install -y bash autoconf meson cppcheck fusefs-libs3 gcc git ninja bison libtool autoconf pkg-config indent fakeroot gzip rsync autopoint shellcheck
|
||||
|
||||
# Bash shell:
|
||||
# Use bash, and make sure it is available under /bin/bash.
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
chsh -s /usr/local/bin/bash
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
ln -s /usr/local/bin/bash /bin/bash || true
|
||||
|
||||
# Ports collection:
|
||||
# This is the slow method via portsnap:
|
||||
# --- ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
# --- "portsnap --interactive fetch extract | grep -v ^/usr/ports"
|
||||
# Using Git is much faster:
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
"rm -rf /usr/ports ; git clone --depth=1 --filter=tree:0 https://github.com/freebsd/freebsd-ports /usr/ports"
|
||||
|
||||
# Package's dependencies:
|
||||
ssh -p 8829 -oStrictHostKeyChecking=no -i "$HOME/.ssh/id_rsa" root@localhost \
|
||||
"cd /travis/freebsd/*/ && ( make build-depends-list && make run-depends-list ) | sed -e 's/^.*\///g' -e 's/glib20/glib/g' | sort -u | xargs -r env ASSUME_ALWAYS_YES=yes pkg install -y"
|
||||
|
||||
echo "===== The FreeBSD VM is ready! ====="
|
||||
|
||||
elif [ -z "$VARIANT" ]; then
|
||||
die "Variable VARIANT is not set for FreeBSD via QEMU which is fatal, This should be set in travis.yml"
|
||||
|
||||
else
|
||||
die "Unexpected in FreeBSD using QEMU"
|
||||
|
||||
fi
|
||||
else
|
||||
die "Invalid setting of TRAVIS_OS_NAME=$TRAVIS_OS_NAME, DOCKER=$DOCKER, QEMU=$QEMU!"
|
||||
|
||||
fi
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue