Skip to content

Commit

Permalink
Initial open source commit
Browse files Browse the repository at this point in the history
  • Loading branch information
dinkelk committed Nov 1, 2023
0 parents commit bf3941c
Show file tree
Hide file tree
Showing 3,057 changed files with 181,911 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
5 changes: 5 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/alire/
.git
.unison*
**/build
**/.tar
53 changes: 53 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Make sure detected text files are stored with LF, since all these
# files need to work in a Linux VM. Windows users should install a
# text editor that can work with Unix line endings.
# Make everything auto that doesn't have a file extension. This ignores
# LF in binary files and the like that don't have extensions.
* text=auto
# Any text file with an extension we want to force UNIX LF.
*.* text eol=lf

# Make sure that git recognizes the following as
# text files that should have LFs.
*.sh text eol=lf
*.do text eol=lf
*.txt text eol=lf
*.c text eol=lf
*.h text eol=lf
*.cpp text eol=lf
*.hpp text eol=lf
*.adb text eol=lf
*.ads text eol=lf
*.md text eol=lf
*.py text eol=lf
*.html text eol=lf
*.htm text eol=lf
*.tex text eol=lf
*.yaml text eol=lf
*.dot text eol=lf
*.xml text eol=lf
*.csv text eol=lf
*.json text eol=lf
.gitignore text eol=lf
.gitattributes text eol=lf
Vagrantfile text eol=lf

# These files are binary and should be left untouched
# (binary is a macro for -text -diff)
*.pptx binary
*.ppt binary
*.doc binary
*.docx binary
*.xls binary
*.xlsx binary
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.gz binary
*.zip binary
*.pyc binary
*.pdf binary
*.bin binary
*.elf binary
47 changes: 47 additions & 0 deletions .github/workflows/build_user_guide.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Build the User Guide
on:
push:
branches:
- master
workflow_dispatch:
jobs:
compile_job:
name: build_user_guide
runs-on: ubuntu-latest
container:
image: dinkelk/adamant:example-latest
credentials:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
env:
INSTALL_DIR: /home/user/env
ADAMANT_DIR: ${{ github.workspace }}
ADAMANT_CONFIGURATION_YAML: ${{ github.workspace }}/config/adamant.configuration.yaml
steps:
- run: echo "Starting job triggered by a ${{ github.event_name }} event on a ${{ runner.os }} server hosted by GitHub."
- run: echo "Checking out ${{ github.repository }} on branch ${{ github.ref }}."
- name: Check out repository code
uses: actions/checkout@v3
- name: Mark repository as safe so we can run git commands within it
run: git config --global --add safe.directory $ADAMANT_DIR
- name: Get alire dependencies
run: alr -n build --release && alr -n toolchain --select gnat_native && alr -n toolchain --select gprbuild
- name: Set up Adamant configuration file
run: cp config/adamant.configuration.yaml.original config/adamant.configuration.yaml
- name: Build the user guide
run: bash env/github_run.sh "redo doc/user_guide/build_user_guide"
- name: Archive user guide PDF
uses: actions/upload-artifact@v3
with:
name: user_guide
path: doc/user_guide/build/pdf/user_guide.pdf
if-no-files-found: error
- name: Build the architecture description document
run: bash env/github_run.sh "redo doc/architecture_description_document/build/pdf/architecture_description_document.pdf"
- name: Archive user guide PDF
uses: actions/upload-artifact@v3
with:
name: architecture_description_document
path: doc/architecture_description_document/build/pdf/architecture_description_document.pdf
if-no-files-found: error
- run: echo "Finished with status - ${{ job.status }}."
34 changes: 34 additions & 0 deletions .github/workflows/publish_all.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Build All Documentation
on:
push:
branches:
- master
workflow_dispatch:
jobs:
compile_job:
name: publish_all
runs-on: ubuntu-latest
container:
image: dinkelk/adamant:example-latest
credentials:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
env:
INSTALL_DIR: /home/user/env
ADAMANT_DIR: ${{ github.workspace }}
ADAMANT_CONFIGURATION_YAML: ${{ github.workspace }}/config/adamant.configuration.yaml
steps:
- run: echo "Starting job triggered by a ${{ github.event_name }} event on a ${{ runner.os }} server hosted by GitHub."
- run: echo "Checking out ${{ github.repository }} on branch ${{ github.ref }}."
- name: Check out repository code
uses: actions/checkout@v3
- name: Mark repository as safe so we can run git commands within it
run: git config --global --add safe.directory $ADAMANT_DIR
- name: Get alire dependencies
run: alr -n build --release && alr -n toolchain --select gnat_native && alr -n toolchain --select gprbuild
- name: Set up Adamant configuration file
run: cp config/adamant.configuration.yaml.original config/adamant.configuration.yaml
- name: Build all documentation
run: bash env/github_run.sh "redo publish"
- run: echo "Finished with status - ${{ job.status }}."
if: always()
42 changes: 42 additions & 0 deletions .github/workflows/style_all.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Check Style
on:
push:
branches:
- master
workflow_dispatch:
jobs:
compile_job:
name: style_all
runs-on: ubuntu-latest
container:
image: dinkelk/adamant:example-latest
credentials:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
env:
INSTALL_DIR: /home/user/env
ADAMANT_DIR: ${{ github.workspace }}
ADAMANT_CONFIGURATION_YAML: ${{ github.workspace }}/config/adamant.configuration.yaml
steps:
- run: echo "Starting job triggered by a ${{ github.event_name }} event on a ${{ runner.os }} server hosted by GitHub."
- run: echo "Checking out ${{ github.repository }} on branch ${{ github.ref }}."
- name: Check out repository code
uses: actions/checkout@v3
- name: Mark repository as safe so we can run git commands within it
run: git config --global --add safe.directory $ADAMANT_DIR
- name: Get alire dependencies
run: alr -n build --release && alr -n toolchain --select gnat_native && alr -n toolchain --select gprbuild
- name: Set up Adamant configuration file
run: cp config/adamant.configuration.yaml.original config/adamant.configuration.yaml
- name: Check all style
run: bash env/github_run.sh "redo style_all"
continue-on-error: true
- name: Archive logs for failed style checks
if: always() # Make sure this runs even if `redo style_all` fails
uses: actions/upload-artifact@v3
with:
name: failed_style_logs
path: build/failed_style_logs
if-no-files-found: ignore
- run: echo "Finished with status - ${{ job.status }}."
if: always()
41 changes: 41 additions & 0 deletions .github/workflows/test_all.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Run All Unit Tests
on:
push:
branches:
- master
workflow_dispatch:
jobs:
compile_job:
name: test_all
runs-on: ubuntu-latest
container:
image: dinkelk/adamant:example-latest
credentials:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
env:
INSTALL_DIR: /home/user/env
ADAMANT_DIR: ${{ github.workspace }}
ADAMANT_CONFIGURATION_YAML: ${{ github.workspace }}/config/adamant.configuration.yaml
steps:
- run: echo "Starting job triggered by a ${{ github.event_name }} event on a ${{ runner.os }} server hosted by GitHub."
- run: echo "Checking out ${{ github.repository }} on branch ${{ github.ref }}."
- name: Check out repository code
uses: actions/checkout@v3
- name: Mark repository as safe so we can run git commands within it
run: git config --global --add safe.directory $ADAMANT_DIR
- name: Get alire dependencies
run: alr -n build --release && alr -n toolchain --select gnat_native && alr -n toolchain --select gprbuild
- name: Set up Adamant configuration file
run: cp config/adamant.configuration.yaml.original config/adamant.configuration.yaml
- name: Run all unit tests
run: bash env/github_run.sh "redo test_all"
- name: Archive logs for failed unit tests
if: always() # Make sure this runs even if `redo test_all` fails
uses: actions/upload-artifact@v3
with:
name: failed_test_logs
path: build/failed_test_logs
if-no-files-found: ignore
- run: echo "Finished with status - ${{ job.status }}."
if: always()
25 changes: 25 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
build/
.vagrant
.Trash*
.pyenv/
*.pyc
*.pyo
__pycache__/
.tmp
.DS_Store
~*
*.swp
GNAT-*
~$*
.#*#
*.asv
*.tmp
.unison*

# Standard alire ignores:
/alire/
/config/
!/config/README.md
!/config/adamant.configuration.yaml.original
!/config/.all_path
!/config/.gitignore
33 changes: 33 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# How to Contribute

Adamant welcomes any and all contributions! Do you have something to add?

This file provides basic information on how to contribute to the Adamant software framework.

While we encourage all contributions, remember that Adamant is used everyday to create reliable and efficient software for safety-critical applications including spacecraft. As such, code quality is important, and you may be asked to make adjustments to your submission prior to inclusion.

## Creating a Submission

Adamant follows the [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) development process. You should begin by [forking](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repository. When you have finished making changes on your fork, create a pull request back to this repository.

Please try to keep submissions small and focused on single fixes, enhancements, or additions. This makes changes easier to review and faster to merge.

Once a pull request has been submitted the following will occur:

### Submission Review

All pull requests are reviewed by an Adamant maintainer and the community. Your code may fly in space, and will be held to a high standard. Our maintainers are happy to work with contributors to ensure changes meet these standards. Once the pull request is approved by a maintainer, the submission will be included within the repository.

### Tests and Checks

Adamant leverages [GitHub Actions](https://docs.github.com/en/actions) to unit test and style check the code. These automated checks will be run after a maintainer has reviewed your request. All checks must pass successfully before your pull request can be included.

Note that many of these checks are annoyingly pedantic, but this helps ensure uniformity and quality in the Adamant code base. Adamant maintainers may make commits on your pull request to correct minor issues.

### Approval and Merge

Once the pull request is passing all tests and checks and has been approved by a maintainer it will be merged into the Adamant repository!

## Questions?

Ask using the project's [discussions](https://github.com/lasp/adamant/discussions).
12 changes: 12 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
A full and current list of contributors can be found here <https://github.com/lasp/adamant/graphs/contributors>.

Adamant was created at the Laboratory for Atmospheric and Space Physics (LASP) at the University of Colorado Boulder.

Below is a list of authors at the who contributed to Adamant at LASP prior to its open source release.

* Kevin Dinkel
* Mathew Merkow
* Ed Wullschleger
* Matthew Cirbo
* Alex Mazur
* Marissa Montano
Loading

0 comments on commit bf3941c

Please sign in to comment.