Initial comit - Clone
This commit is contained in:
29
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
29
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report
|
||||
title: "[BUG]"
|
||||
labels: bug
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
**Describe the bug / Description du bogue**
|
||||
|
||||
A clear and concise description of what the bug is and how to reproduce it.
|
||||
Adding a failing unit test showing the error would be appreciate.
|
||||
Do not hesitate to add screenshots.
|
||||
|
||||
Une définition claire et concise du bogue, ainsi que la description de la
|
||||
manière de le reproduire.
|
||||
Des screenshots peuvent aider à la compréhension du problème.
|
||||
|
||||
**Expected behavior / Comportement attendu**
|
||||
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
Une définition claire et concise de ce qui était attendu.
|
||||
|
||||
**Versions**
|
||||
|
||||
Version of packages used to reproduce the bug.
|
||||
|
||||
Les versions des paquets utilisés pour reproduire le bug.
|
17
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
17
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea
|
||||
title: "[FEATURE REQUEST]"
|
||||
labels: enhancement
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
7
.github/ISSUE_TEMPLATE/other.md
vendored
Normal file
7
.github/ISSUE_TEMPLATE/other.md
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
name: Other
|
||||
about: Anything that is neither a bug report nor a feature request
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
---
|
14
.github/dependabot.yml
vendored
Normal file
14
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "docker"
|
||||
directory: "docker/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
- package-ecosystem: "gitsubmodule"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: ".github/workflows/"
|
||||
schedule:
|
||||
interval: "daily"
|
44
.github/workflows/ci.yml
vendored
Normal file
44
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
name: build
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- macos-latest
|
||||
- ubuntu-latest
|
||||
- windows-latest
|
||||
ocaml-compiler:
|
||||
- 4.14.x
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
ocaml-version: 4.08.0
|
||||
- os: ubuntu-latest
|
||||
ocaml-version: 5.1.x
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
- name: Use Ocaml ${{ matrix.ocaml-compiler }}
|
||||
uses: ocaml/setup-ocaml@v2
|
||||
with:
|
||||
ocaml-compiler: ${{ matrix.ocaml-compiler }}
|
||||
- name: Setup GeneWeb dependencies + ocamlformat
|
||||
run: |
|
||||
opam pin add . -y --no-action
|
||||
opam depext -y geneweb
|
||||
opam install -y ./*.opam --deps-only --with-test
|
||||
opam pin ocamlformat 0.24.1
|
||||
- name: Make ocamlformat > build > distrib
|
||||
run: |
|
||||
opam exec -- ocaml ./configure.ml --release
|
||||
opam exec -- make build distrib
|
||||
- name: Make CI tests
|
||||
run: opam exec -- make ci
|
29
.github/workflows/doc.yml
vendored
Normal file
29
.github/workflows/doc.yml
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
name: deploy-doc
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: checkout-code
|
||||
uses: actions/checkout@v3
|
||||
- name: setup-ocaml
|
||||
uses: ocaml/setup-ocaml@v2
|
||||
with:
|
||||
ocaml-compiler: 4.14.0
|
||||
- name: setup
|
||||
run: |
|
||||
opam pin add . -y --no-action
|
||||
opam depext -y geneweb
|
||||
opam install -y ./*.opam --deps-only --with-doc
|
||||
- name: build
|
||||
run: |
|
||||
opam exec -- ocaml ./configure.ml
|
||||
opam exec -- make doc
|
||||
- name: deploy
|
||||
uses: JamesIves/github-pages-deploy-action@v4
|
||||
with:
|
||||
branch: gh-pages # The branch the action should deploy to.
|
||||
folder: _build/default/_doc/_html # The folder the action should deploy.
|
76
.github/workflows/docker.yml
vendored
Normal file
76
.github/workflows/docker.yml
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
name: Build Docker image
|
||||
|
||||
on:
|
||||
# Allow manual runs.
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
|
||||
env:
|
||||
PLATFORMS: linux/arm64/v8,linux/amd64
|
||||
IMAGE_NAME: "geneweb"
|
||||
PUSH_IMAGE: ${{ github.ref == 'refs/heads/master' }}
|
||||
|
||||
jobs:
|
||||
|
||||
build-images:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'true'
|
||||
|
||||
- name: Generate date stamp
|
||||
run: echo "DATESTAMP=$(date +"%Y.%m.%d")" >> $GITHUB_ENV
|
||||
|
||||
- name: Generate Docker image metadata
|
||||
id: docker-meta
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: |
|
||||
ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}
|
||||
# ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}
|
||||
tags: |
|
||||
type=edge,branch=master
|
||||
type=raw,${{ env.DATESTAMP }}
|
||||
type=ref,event=tag
|
||||
type=sha,prefix=,format=short
|
||||
|
||||
- name: Setup QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
|
||||
- name: Setup Docker BuildKit
|
||||
uses: docker/setup-buildx-action@v2
|
||||
|
||||
# - name: Login to DockerHub
|
||||
# if: ${{ env.PUSH_IMAGE == 'true' }}
|
||||
# uses: docker/login-action@v2
|
||||
# with:
|
||||
# username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
# password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
if: ${{ env.PUSH_IMAGE == 'true' }}
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ github.token }}
|
||||
|
||||
- name: Build and push ${{ env.IMAGE_NAME }} Docker image
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
target: container
|
||||
context: docker/
|
||||
file: docker/Dockerfile
|
||||
platforms: ${{ env.PLATFORMS }}
|
||||
push: ${{ env.PUSH_IMAGE }}
|
||||
tags: ${{ steps.docker-meta.outputs.tags }}
|
||||
labels: ${{ steps.docker-meta.outputs.labels }}
|
69
.github/workflows/release.yml
vendored
Normal file
69
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,69 @@
|
||||
name: release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v**
|
||||
|
||||
jobs:
|
||||
|
||||
release:
|
||||
|
||||
strategy:
|
||||
|
||||
fail-fast: false
|
||||
|
||||
matrix:
|
||||
|
||||
include:
|
||||
- os: macos-latest
|
||||
ocaml-version: 4.14.0
|
||||
geneweb-archive: geneweb-macos.zip
|
||||
- os: ubuntu-latest
|
||||
ocaml-version: 4.14.0
|
||||
geneweb-archive: geneweb-linux.zip
|
||||
- os: windows-latest
|
||||
ocaml-version: 4.14.0
|
||||
geneweb-archive: geneweb-windows.zip
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
|
||||
- name: checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: setup-ocaml
|
||||
uses: ocaml/setup-ocaml@v2
|
||||
with:
|
||||
ocaml-compiler: ${{ matrix.ocaml-version }}
|
||||
|
||||
- name: setup
|
||||
run: |
|
||||
opam install dune ocamlformat.0.24.1
|
||||
opam exec -- dune build @fmt
|
||||
opam pin add . -y --no-action
|
||||
opam depext -y geneweb
|
||||
opam install -y ./*.opam --deps-only --with-test
|
||||
|
||||
# Build the distribution
|
||||
- name: Build the distribution
|
||||
run: |
|
||||
opam exec -- ocaml ./configure.ml --sosa-legacy --gwdb-legacy --release
|
||||
opam exec -- make distrib
|
||||
|
||||
# Archive distribution for release
|
||||
- name: Archive Release
|
||||
uses: thedoctor0/zip-release@0.7.1
|
||||
with:
|
||||
type: zip
|
||||
filename: ${{ matrix.geneweb-archive }}
|
||||
directory: distribution
|
||||
|
||||
# Upload the distribution
|
||||
- name: Upload distribution to release
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: distribution/${{ matrix.geneweb-archive }}
|
||||
tag: ${{ github.ref }}
|
Reference in New Issue
Block a user