Skip to content

Commit 4116929

Browse files
author
Rico Schrage
committed
Adding minimal github open source setup for releasing.
1 parent b6cd0f3 commit 4116929

8 files changed

Lines changed: 200 additions & 0 deletions

File tree

.codecov.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
comment: false
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Full code to reproduce the issue
16+
2. The console input
17+
18+
**The console output**
19+
Add the full console output, especially the stack trace (if applicable)
20+
21+
**Expected behavior**
22+
A clear and concise description of what you expected to happen.
23+
24+
**Environment (please complete the following information):**
25+
- OS: [e.g. GNU-Linux-OS/macOS]
26+
- OS-Version [e.g. 22]
27+
- Julia Version: [e.g. 1.9]
28+
29+
**Additional context**
30+
Add any other context about the problem here.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Statement of need**
17+
A clear and concise description of why you think this feature is necessary.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
## Checklist
2+
- [ ] Did you read the [contributing guide](https://github.com/OFFIS-DAI/Mango.jl/blob/contribution-guidelines/CONTRIBUTING.md)
3+
- [ ] Do you have a meaningful commit history?
4+
- [ ] Do follow the style guide meantioned in the contribution guidelines?
5+
- [ ] Did you execute the tests locally?
6+
7+
8+
## Description
9+
* Reference the issue you are working on (except for minor contributions it is preferred to open an issue first before the code contributions!)
10+
or
11+
* **OR** Describe the issue you tackled and why it should be merged to Mango.jl
12+
13+
## Implementation details
14+
Share any implementation details/decisions/reasonings you think are relevant for reviewing the pull request.

.github/workflows/TagBot.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: TagBot
2+
on:
3+
issue_comment:
4+
types:
5+
- created
6+
workflow_dispatch:
7+
inputs:
8+
lookback:
9+
default: 3
10+
permissions:
11+
actions: read
12+
checks: read
13+
contents: write
14+
deployments: read
15+
issues: read
16+
discussions: read
17+
packages: read
18+
pages: read
19+
pull-requests: read
20+
repository-projects: read
21+
security-events: read
22+
statuses: read
23+
jobs:
24+
TagBot:
25+
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
26+
runs-on: ubuntu-latest
27+
steps:
28+
- uses: JuliaRegistries/TagBot@v1
29+
with:
30+
token: ${{ secrets.GITHUB_TOKEN }}
31+
ssh: ${{ secrets.DOCUMENTER_KEY }}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- development
7+
tags: '*'
8+
pull_request:
9+
10+
jobs:
11+
build:
12+
permissions:
13+
contents: write
14+
statuses: write
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v4
18+
- uses: julia-actions/setup-julia@v1
19+
with:
20+
version: '1.9'
21+
- name: Install dependencies
22+
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
23+
- name: Build and deploy
24+
env:
25+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token
26+
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # If authenticating with SSH deploy key
27+
run: julia --project=docs/ docs/make.jl

.github/workflows/test-do.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Test DistributedOptimization.jl
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- development
8+
pull_request:
9+
types: [opened, synchronize, reopened]
10+
11+
12+
# needed to allow julia-actions/cache to delete caches
13+
permissions:
14+
actions: write
15+
contents: read
16+
17+
18+
jobs:
19+
test_win_mac:
20+
runs-on: ${{ matrix.os }}
21+
strategy:
22+
matrix:
23+
julia-version: ['1.10', '1']
24+
julia-arch: [x64]
25+
os: [windows-latest, macOS-latest]
26+
27+
steps:
28+
- uses: actions/checkout@v4
29+
- uses: julia-actions/setup-julia@v1
30+
with:
31+
version: ${{ matrix.julia-version }}
32+
arch: ${{ matrix.julia-arch }}
33+
- uses: julia-actions/cache@v1
34+
- uses: julia-actions/julia-buildpkg@v1
35+
- uses: julia-actions/julia-runtest@v1
36+
- uses: julia-actions/julia-processcoverage@v1
37+
- uses: codecov/codecov-action@v5
38+
with:
39+
token: ${{ secrets.CODECOV_TOKEN }}
40+
slug: Digitalized-Energy-Systems/DistributedOptimization.jl
41+
fail_ci_if_error: false
42+
43+
test_linux:
44+
runs-on: ubuntu-latest
45+
strategy:
46+
matrix:
47+
julia-version: ['1.10', '1']
48+
julia-arch: [x64]
49+
50+
steps:
51+
- uses: actions/checkout@v4
52+
- uses: julia-actions/setup-julia@v1
53+
with:
54+
version: ${{ matrix.julia-version }}
55+
arch: ${{ matrix.julia-arch }}
56+
- uses: julia-actions/cache@v1
57+
- uses: julia-actions/julia-buildpkg@v1
58+
59+
- uses: julia-actions/julia-runtest@v1
60+
- uses: julia-actions/julia-processcoverage@v1
61+
- uses: codecov/codecov-action@v5
62+
with:
63+
token: ${{ secrets.CODECOV_TOKEN }}
64+
slug: Digitalized-Energy-Systems/DistributedOptimization.jl
65+
fail_ci_if_error: false

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
# Distributed Optimization for Julia
3+
4+
The package DistributedOptimization.jl (DO) aims to provide a collection of distributed algorithms. The algorithms are implemented without considering one special communication technique or package. DO provides abstract types and function interfaces to implement so-called carriers, which are able to execute the distributed algorithms asynchronous. All algorithms can also be used without carrier using fitting @spawn or @async statements.
5+
6+
Currently there are two tested algorithms:
7+
* ADMM multi-value consensus such that the sum of all resp values equals a target vector
8+
* COHDA, Combinatorial Optimization Heuristic for Distributed Agents, which minimizes the distance of schedule sums to a given target schedule
9+
10+
There is one carrier implemented:
11+
* Mango.jl, agent framework for the simulation of distributed systems, DO provides roles to which the specific algorithms can be assigned to
12+

0 commit comments

Comments
 (0)