Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
prudhomm authored Oct 3, 2023
0 parents commit ce88d5e
Show file tree
Hide file tree
Showing 46 changed files with 9,718 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "Feel++ Dev Jammy",
"image": "ghcr.io/feelpp/feelpp-dev:jammy",
// Add the IDs of extensions you want installed when the container is created in the array below.
"extensions": [
"ms-vscode.cpptools",
"ms-vscode.cmake-tools",
"josetr.cmake-language-support-vscode",
"asciidoctor.asciidoctor-vscode",
"ms-python.python",
"ms-toolsai.jupyter"
]
}
28 changes: 28 additions & 0 deletions .github/CONTRIBUTING.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
= Contribution Guide
:uri-org: https://github.com/feelpp
:uri-repo: {uri-org}/feelpp-project
:uri-www: http://www.feelpp.org
:uri-project: http://docs.feelpp.org/
:uri-docs: {uri-project}
:uri-issues: {uri-repo}/issues

In the spirit of {uri-freesoftware}[free software], _everyone_ is encouraged to help improve this project.
If you discover errors or omissions in the source code, documentation, or website content, please don't hesitate to submit an issue, open a pull request with a fix or even directly Edit the documentation pages.
New contributors are always welcome!

Here are some ways *you* can contribute:

* by using `develop` branch
* by {uri-issues}[reporting bugs]
* by {uri-issues}[suggesting new features]
* by writing or editing documentation
* by writing specifications
* by writing code -- _No patch is too small._
** fix typos
** add comments
** write examples!
** write tests!
* by refactoring code
* by fixing {uri-issues}[issues]
* by reviewing Pull Requests
15 changes: 15 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "npm" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"
- package-ecosystem: "github-actions" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"
114 changes: 114 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: CI

on:
push:
branches:
- '**' # Push events on all branches
paths-ignore:
- '.github/workflows/init.yml'
- 'docs/**'
- 'package*.json'
- 'site.yml'
- 'generate-jupyter.sh'
- 'netlify*'
- '.github/workflows/docs.yml'
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 including semver

jobs:

build_code:
runs-on: self-ubuntu-22.04
name: Build, Install, Package code
if: "!contains(github.event.head_commit.message, 'code skip')"
steps:
- name: Checkout
uses: actions/checkout@v3
with:
lfs: true
recursive: true
-
name: Build
run: |
cmake --preset default
cmake --build --preset default
-
name: Check
run: |
ctest --preset default
env:
OMPI_ALLOW_RUN_AS_ROOT: 1
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
-
name: Package
run: |
cmake --build --preset default -t package
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
# Artifact name
name: feelpp-project-artifacts
# Directory containing files to upload
path: build/default/assets/feelpp-project-*
- name: Release
if: startsWith(github.ref ,'refs/tags/v')
uses: softprops/action-gh-release@v1
with:
files: build/default/assets/feelpp-project-*
draft: false
prerelease: ${{ contains(github.ref, 'alpha') || contains(github.ref, 'beta') || contains(github.ref, 'rc')}}
name: Release ${{ github.ref_name }}
generate_release_notes: true
tag_name: ${{ github.ref }}
token: ${{ secrets.GITHUB_TOKEN }}
deliver:
runs-on: self-ubuntu-22.04
needs: build_code
name: Build docker, tag and push

steps:
- uses: actions/checkout@v3
with:
lfs: true
submodules: 'recursive'
- name: Download
uses: actions/download-artifact@v3
with:
# Artifact name
name: feelpp-project-artifacts
path: artifacts/
-
name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
ghcr.io/feelpp/feelpp-project
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.CR_PAT }}
-
name: Build container image
uses: docker/build-push-action@v5
with:
context: artifacts
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
file: ./Dockerfile

49 changes: 49 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Docs CI

on:
push:
branches:
- '**' # Push events on all branches
paths:
- 'docs/**'
- 'package*.json'
- 'site.yml'
- 'generate-jupyter.sh'
- 'netlify*'
- '.github/workflows/docs.yml'
- 'requirements.txt'
- '!.github/workflows/ci.yml'
- '!.github/workflows/init.yml'
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 including semver

jobs:

docs:
runs-on: ubuntu-22.04
name: Build Antora Site
if: "!contains(github.event.head_commit.message, 'docs skip')"
steps:
- uses: actions/checkout@v3
- name: Install credentials
run: echo https://$GITHUB_OAUTH:@github.com > $HOME/.git-credentials
env:
GITHUB_OAUTH: ${{ secrets.CR_PAT_WORKFLOW }}
- name: Install NPM dependencies
run: npm install
- name: Install Python dependencies
run: |
python -m venv --system-site-packages .venv
source .venv/bin/activate
pip install -r requirements.txt
- name: Build Antora Site
run: |
source .venv/bin/activate
npm run antora
- name: Deploy
if: ${{ github.ref_name == 'master' }}
uses: JamesIves/github-pages-deploy-action@v4
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages # The branch the action should deploy to.
FOLDER: public # The folder the action should deploy.
45 changes: 45 additions & 0 deletions .github/workflows/init.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Execute workflow only upon repository initialisation

on:
push:
branches:
- '**'

jobs:
activate:
runs-on: ubuntu-latest
if: github.repository != 'feelpp/feelpp-project'
steps:
- run: echo ok go

initialize:
needs: activate
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
fetch-depth: 0
token: ${{ secrets.CR_PAT_WORKFLOW }}
- name: Rename project
shell: bash
run: |
bash rename.sh $GITHUB_REPOSITORY
env:
GITHUB_TOKEN: ${{secrets.CR_PAT_WORKFLOW}}
- name: Commit files
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git commit -a -m "Renamed feelpp-project to $GITHUB_REPOSITORY"
- name: Push changes
uses: ad-m/github-push-action@master
with:
force_with_lease: true
github_token: ${{ secrets.CR_PAT_WORKFLOW }}
- name: Disable this workflow
shell: bash
run: |
gh workflow disable -R $GITHUB_REPOSITORY "${{ github.workflow }}"
env:
GITHUB_TOKEN: ${{secrets.CR_PAT_WORKFLOW}}
46 changes: 46 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
node_modules/
build*/
public/
cache/
*.bak
jupyter/
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# Emacs files
*~
\#*\#
*.elc
auto-save-list
tramp
.\#*
4 changes: 4 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"C_Cpp.default.configurationProvider": "vector-of-bool.cmake-tools",
"cmake.buildDirectory": "${workspaceFolder}/build-${variant:buildType}"
}
Loading

0 comments on commit ce88d5e

Please sign in to comment.