Skip to content

Commit

Permalink
A new start
Browse files Browse the repository at this point in the history
  • Loading branch information
RoiArthurB committed Feb 21, 2024
0 parents commit a368f08
Show file tree
Hide file tree
Showing 5,891 changed files with 978,216 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
20 changes: 20 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## How to contribute to GAMA

#### **Did you write a patch that fixes a bug or adds a new feature?**

* Open a new GitHub pull request with the patch if you think your addition is worth being included in the release.

* Ensure the PR description clearly describes the problem and solution or the new addition. Include the relevant issue number if applicable.

#### **Do you intend to add a new feature or change an existing one?**

* Suggest your change in the [gama-dev mailing list](https://groups.google.com/forum/#!forum/gama-dev) and start writing code.

* Do not open an issue on GitHub until you have collected positive feedback about the change. GitHub issues are primarily intended for bug reports and fixes.

<br/>


Thanks!

GAMA Team
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@

### Steps to reproduce
1.

2.

3.

### Expected behavior
Tell us what should happen (include all relevant expectations)

### Actual behavior
Tell us what happens instead (include relevant information, like logs, snapshots, etc.)

### System and version
Which version of GAMA, JDK, OS ... (if necessary, copy Help>Installation Details>Configuration in GAMA)

34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: Report a problem in using GAMA
about: Create a report to help us eliminate it. Search the repository first to make sure this is a new problem and remember, the more information you provide, the more likely we are to find a fix!
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. macOS High Sierra]
- PC Model: [if applicable, can be useful for displays, OpenGL problems)]
- GAMA version: [e.g. git, 1.7.1, etc.]
- Java version: [e.g. 1.8]
- Graphics cards / Display system: [can be useful for displays, OpenGL problems]

**Additional context**
Add any other context about the problem here.
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Report a problem regarding GAMA's website and documentation
url: https://github.com/gama-platform/gama-platform.github.io/issues/new/choose
about: Please open issues relating to http://gama-platform.org and the online documentation in their own repository
- name: Ask for support regarding your model (best practices, problem of data, ...) or how to use GAMA
url: https://groups.google.com/forum/#!forum/gama-platform
about: Please use the community mailing-list for support and questions related to the use of GAMA, advices and problems in your models
- name: Discuss possible enhancements, shortcomings or ideas about GAMA
url: https://github.com/gama-platform/gama/discussions
about: Please use discussions for questions related to enhancements to GAMA, use and future of the platform before turning them into issues !
- name: Thank you for your contributions !
url:
about: Your contributions to open source projects, large or small, make great projects like GAMA possible. Thank you for taking the time to contribute.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-or-enhancement-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature or enhancement request
about: Suggest an idea for improving or extending GAMA with new features. Please take the time to discuss it first in the forum or discussions if possible, as it might benefit from others users' feedbacks.
title: ''
labels: ''
assignees: ''

---

**Is your 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 improvement 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.

**Additional context**
Add any other context or screenshots about the feature request here.
19 changes: 19 additions & 0 deletions .github/SUPPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## Support

#### **Do you think you found a bug?**

* **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/gama-platform/gama/issues).

* If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/gama-platform/gama/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or a **test case** demonstrating the expected behavior that is not occurring.

#### **Do you have questions about your models?**

* Ask any question about how to use GAMA in the [gama-platform mailing list](https://groups.google.com/forum/#!forum/gama-platform).

* Consult the documentation on the [website](http://gama-platform.org) or, alternatively, on the [wiki](https://github.com/gama-platform/gama/wiki).
</br>


Thanks!

GAMA Team
26 changes: 26 additions & 0 deletions .github/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Slate bot which apply the "Slate" tag and close issue labeled "Fix to be tested"
#
# Full configuration documentation : https://github.com/actions/stale#all-options
# =======================
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 0
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Label to use when marking an issue as stale
staleLabel: "🤖 Slate"
# Issues with these labels will never be considered stale
#exemptLabels:
# - pinned
# - security
# Only issues/PRs with ANY of these labels are checked
any-labels:
- "👍 Fix to be tested"
# Order to get issues/PRs
ascending: true
# Remove stale label from issues on updates/comments
remove-issue-stale-when-updated: true
# Remove stale label from PRs on updates/comments
remove-pr-stale-when-updated: true
# Dry-run
operations-per-run: 0
debug-only: true
197 changes: 197 additions & 0 deletions .github/workflows/custom/publish-to-third-party.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
name: Auto publish release to external stores

on:
workflow_call:
inputs:
tag:
description: "The tag of the release to publish"
type: string
required: true
default: 1.9.3
targets:
description: "The targets to publish to separated by spaces"
type: string
default: "windows linux mac docker"
secrets:
BOT_TOKEN:
required: true
description: "The token used to authenticate to the Github API"

workflow_dispatch:
inputs:
tag:
description: "The tag of the release to publish"
type: string
required: true
default: 1.9.3
targets:
description: "The targets to publish to separated by spaces"
type: string
default: "windows linux mac docker"


run-name: Auto publishing ${{ inputs.tag }} to external stores

jobs:
get-tag-info:
runs-on: ubuntu-latest
name: Get tag info 🏷️

outputs:
tag: ${{ steps.release_data.outputs.tag_name }}
prerelease: ${{ steps.release_data.outputs.prerelease }}
commit_hash: ${{ steps.tag_data.outputs.commit_hash }}

steps:
- uses: actions/checkout@v4
with:
fetch-tags: true
ref: ${{ inputs.tag }}

- name: Get tag data
id: tag_data
run: |
echo "commit_hash=$(git rev-parse --short=7 HEAD)" >> "$GITHUB_OUTPUT"
- name: Get release data
uses: cardinalby/git-get-release-action@1.2.4
id: release_data
env:
GITHUB_TOKEN: ${{ github.token }}
with:
tag: ${{ inputs.tag }}

#
# ██████╗ ███████╗██╗ ███████╗ █████╗ ███████╗███████╗
# ██╔══██╗██╔════╝██║ ██╔════╝██╔══██╗██╔════╝██╔════╝
# ██████╔╝█████╗ ██║ █████╗ ███████║███████╗█████╗
# ██╔══██╗██╔══╝ ██║ ██╔══╝ ██╔══██║╚════██║██╔══╝
# ██║ ██║███████╗███████╗███████╗██║ ██║███████║███████╗
# ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝
#

windows:
needs: get-tag-info
runs-on: ubuntu-latest
name: Publish to windows 🪟
if: contains(inputs.targets, 'windows')

steps:
- name: Get Previous Release info
# This version incementation shall be removed when winget-releaser will be able to delete older releases again cf. https://github.com/gama-platform/gama/issues/3917
if: needs.get-tag-info.outputs.prerelease == 'true'
id: get-prev-release
run: |
curl -L -G \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/microsoft/winget-pkgs/contents/manifests/g/GamaPlatform/GamaAlpha" > ${{ runner.temp }}/prev_release.json
new_version_counter="$(jq -r '.[] | select(.type == "dir") | select(.name | test("^${{ inputs.tag }}-[0-9]+$")) | .name' ${{ runner.temp }}/prev_release.json | cut -d '-' -f 2 | sort -nuz | head -n1)"
if [ -n "$new_version_counter" ]; then
new_version_counter=$(($new_version_counter + 1))
else
new_version_counter=1
fi
echo "new_version_counter=$new_version_counter" >> $GITHUB_OUTPUT
- name: Publish Gama to Winget 🚀
if: needs.get-tag-info.outputs.prerelease == 'false'
uses: vedantmgoyal2009/winget-releaser@v2
with:
identifier: GamaPlatform.Gama
version: ${{ inputs.tag }}
release-tag: ${{ inputs.tag }}
installers-regex: ^GAMA.+JDK.*\.exe$
token: ${{ secrets.BOT_TOKEN }}
fork-user: gama-platform

- name: Publish Pre release to Winget 👷
if: needs.get-tag-info.outputs.prerelease == 'true'
uses: vedantmgoyal2009/winget-releaser@v2
with:
identifier: GamaPlatform.GamaAlpha
version: ${{ inputs.tag }}-${{ steps.get-prev-release.outputs.new_version_counter }}
release-tag: ${{ inputs.tag }}
installers-regex: ^GAMA.+JDK.*\.exe$
token: ${{ secrets.BOT_TOKEN }}
max-versions-to-keep: 1
fork-user: gama-platform

- name: Get PR created for the release
id: get-pr
run: |
curl -G \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.BOT_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
--data-urlencode "q=is:pr author:gama-bot state:open repo:microsoft/winget-pkgs sort:created-desc" \
"https://api.github.com/search/issues?sort=created&order=desc&per_page=1" > ${{ runner.temp }}/pr.json
echo "number=$(jq -r '.items[0].number' ${{ runner.temp }}/pr.json)" >> $GITHUB_OUTPUT
- name: Mention developpers
uses: actions/github-script@v3
with:
github-token: ${{secrets.BOT_TOKEN}}
script: |
let is_pre_release = ${{ needs.get-tag-info.outputs.prerelease }} == 'true'
github.issues.createComment({
issue_number: ${{ steps.get-pr.outputs.number }},
owner: "microsoft",
repo: "winget-pkgs",
body: 'Poke :point_right: @${{ github.triggering_actor }} @WoodenMaiden @lesquoyb'
})
core.summary.
addHeading(
`Release ${{ inputs.tag }}${(is_pre_release)? "" : "-${{ steps.get-prev-release.outputs.new_version_counter }} alpha (with hash ${{needs.get-tag-info.outputs.commit_hash }})" } published to Winget 🚀`
)
.addLink("Link to the Winget PR", "https://github.com/microsoft/winget-pkgs/pull/${{ steps.get-pr.outputs.number }}")
.write()
docker:
needs: get-tag-info
runs-on: ubuntu-latest
name: Publish pre-release as container 🐳
if: needs.get-tag-info.outputs.prerelease == 'true' && contains(inputs.targets, 'docker')

steps:
- name: Publish Gama to Github Packages 🚀
run: |
curl --request POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token ${{ secrets.BOT_TOKEN }}" \
--data '{"event_type": "automated-generation"}' \
https://api.github.com/repos/gama-platform/gama.docker/dispatches
linux-debian:
needs: get-tag-info
runs-on: ubuntu-latest
name: Publish to PPA/Debian repo 🐧 🟠🔴
if: contains(inputs.targets, 'linux')

steps:
- name: Publish Gama to https://ppa.gama-platform.org 🚀
run: |
curl -L --fail-with-body \
--request POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token ${{ secrets.BOT_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
--data '{"ref": "main", "inputs": {"tag": "${{ inputs.tag }}"}}' \
https://api.github.com/repos/gama-platform/gama.ppa/actions/workflows/69865833/dispatches
# linux-arch:
# needs: get-tag-info
# runs-on: ubuntu-latest
# name: Publish to AUR 🐧 🔷

# macos:
# needs: get-tag-info
# runs-on: ubuntu-latest
# name: Publish to macos 🍎
34 changes: 34 additions & 0 deletions .github/workflows/gama-build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Testing Maven Build

on:
workflow_call:
inputs:
artifact_download_id:
required: false
default: "gama-compiled-archive"
type: string

jobs:
compilation:
runs-on: ubuntu-latest
steps:
- name: Get linux testing releases
uses: actions/download-artifact@v4
with:
name: ${{ inputs.artifact_download_id }}

- name: Extract GAMA w/o JDK
run: tar xvf $GITHUB_WORKSPACE/gama.application-linux.gtk.x86_64.tar.gz

- name: Set up Adopt OpenJDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
java-package: jdk

- name: Test release
run: |
bash $GITHUB_WORKSPACE/headless/gama-headless.sh -m 10g -validate && \
bash $GITHUB_WORKSPACE/headless/gama-headless.sh -m 10g -test && \
echo "All good ! 🎉"
Loading

0 comments on commit a368f08

Please sign in to comment.