Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

M11 migration #18

Merged
merged 70 commits into from
Jul 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
641e035
Start of MM changes (generics)
fuhrmanator May 15, 2024
f86ad3c
remove trait
fuhrmanator May 16, 2024
5b7b2f3
Fix name for comment method
fuhrmanator May 16, 2024
5c37577
Update entites (model builds)
fuhrmanator May 16, 2024
17f9697
This doesn't work
fuhrmanator May 16, 2024
d3e26d1
Update ci.yml for Moose 11
fuhrmanator May 17, 2024
fa8ddde
Update ci.yml (don't error if docs directory exists)
fuhrmanator May 17, 2024
fe24147
Readme documentation and badge points to the M11-migration branch
fuhrmanator May 21, 2024
39e8a26
J'ai ajouté des tests pour FamixTypeScriptParametric avec des petite…
AyechiNour May 21, 2024
5a899c1
Merge pull request #19 from AyechiNour/M11-migration
fuhrmanator May 22, 2024
6ff0b9e
Merge branch 'master' into M11-migration
fuhrmanator May 22, 2024
04609e3
Fix UML documentor command, save the .puml
fuhrmanator May 22, 2024
12c54cf
Make sure we check out proper branch and push proper branch
fuhrmanator May 22, 2024
2453785
push to the right place
fuhrmanator May 22, 2024
57ecac6
Update docs for branch M11-migration
github-actions[bot] May 22, 2024
5bb7faf
Adding comments to TypeScript code.
AyechiNour May 22, 2024
7a3f40e
Merge pull request #21 from AyechiNour/M11-migration
fuhrmanator May 23, 2024
9a54869
Update docs for branch M11-migration
github-actions[bot] May 23, 2024
354e0e7
ParametricMethod
AyechiNour May 23, 2024
8a95d44
Update docs for branch M11-migration
github-actions[bot] May 23, 2024
96d30a7
parametricMethodTest
AyechiNour May 23, 2024
eefb6ef
Update docs for branch M11-migration
github-actions[bot] May 23, 2024
4e2cae5
other tests for parametricMethod
AyechiNour May 23, 2024
b2998a0
Update docs for branch M11-migration
github-actions[bot] May 23, 2024
97b87bf
parametricFunction and its tests
AyechiNour May 24, 2024
312d560
Merge b2998a0508f0d7795e5c075b4527a5f884eeafde
AyechiNour May 24, 2024
554c4b3
Update docs for branch M11-migration
github-actions[bot] May 24, 2024
4b122ee
Add/change comment, rename local variable in test
fuhrmanator May 25, 2024
52bf118
Update docs for branch M11-migration
github-actions[bot] May 25, 2024
3d822ec
CI builds two UML diagrams of MM with traits and without
fuhrmanator May 26, 2024
310a223
Update docs for branch M11-migration
github-actions[bot] May 26, 2024
9f08d41
delete association
AyechiNour Jun 4, 2024
f335d60
Update docs for branch M11-migration
github-actions[bot] Jun 4, 2024
23a8fb4
global changes
AyechiNour Jun 7, 2024
5711985
Update docs for branch M11-migration
github-actions[bot] Jun 7, 2024
378e6b3
isGetter
AyechiNour Jun 11, 2024
7b2c451
Update docs for branch M11-migration
github-actions[bot] Jun 11, 2024
cbc582a
method tests
AyechiNour Jun 12, 2024
c8f687f
overriding tests
AyechiNour Jun 12, 2024
1e5d7ae
Update docs for branch M11-migration
github-actions[bot] Jun 12, 2024
1d28d4a
add attribute and its tests
AyechiNour Jun 12, 2024
e5243ab
Merge 1e5d7aef455a73705af281f7cfb8900700a29c2d
AyechiNour Jun 12, 2024
d82a8c8
Add missing method (extension)
fuhrmanator Jun 12, 2024
355eec4
Update docs for branch M11-migration
github-actions[bot] Jun 12, 2024
1529936
Don't update docs on PR
fuhrmanator Jun 12, 2024
fdd4055
Update docs for branch M11-migration
github-actions[bot] Jun 12, 2024
b315bb6
ChatGPT-inspired dual workflow that should not run twice in PR context
fuhrmanator Jun 12, 2024
cb0eb51
Refactor test1 and test2
fuhrmanator Jun 14, 2024
952a3e7
Merge b315bb648ca167fe4d748d7551c6fa47c5e5bebe
fuhrmanator Jun 14, 2024
78d247d
Add Arrow Function and Parametric Arrow Function and retrieve some de…
AyechiNour Jun 14, 2024
d139864
Add missing traits for BehaviouralEntity
fuhrmanator Jun 14, 2024
cb0032f
ParametricArrowFunction used in test
fuhrmanator Jun 14, 2024
854c4b7
Clean up MM (redundant traits, format code)
fuhrmanator Jun 14, 2024
b195ba0
Add arrow function to test2
fuhrmanator Jun 14, 2024
f755526
Add non-parametric method and arrow functions
fuhrmanator Jun 19, 2024
eb8e5a6
delete Attribute
AyechiNour Jul 4, 2024
21571b3
Delete test for Attribute (it's a copy of Property)
fuhrmanator Jul 18, 2024
06bcf8e
readOnly for Property
fuhrmanator Jul 18, 2024
dd37075
Add isModule, isNamespace, isAmbient
AyechiNour Jul 23, 2024
0b5297b
modify isGenericEntity and isConcreteEntity
AyechiNour Jul 26, 2024
617de40
add note about test1
fuhrmanator Jul 26, 2024
2c46310
Merge 0b5297b4c699a25aface35b748aaf88387615918
fuhrmanator Jul 26, 2024
5a8032e
Sync with Java
fuhrmanator Jul 29, 2024
f1de6fe
regenerated entities
fuhrmanator Jul 30, 2024
453de10
Fix some Unknown property messages in Transcript when loading models
fuhrmanator Jul 30, 2024
8ec7443
Regenerated entities
fuhrmanator Jul 30, 2024
39c1992
Fix comments, type is a container, add #isJSDoc property
fuhrmanator Jul 30, 2024
0364f20
Generated entities
fuhrmanator Jul 30, 2024
7ec87f0
Add the properties for Property (isDefinitelyAssigned, isOptional, is…
fuhrmanator Jul 30, 2024
db9eb5f
Generated entities
fuhrmanator Jul 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 0 additions & 59 deletions .github/workflows/ci.yml

This file was deleted.

66 changes: 66 additions & 0 deletions .github/workflows/ci.yml-nope
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Name of the project in the GitHub action panel
name: Run-Tests-and-Generate-Model-Diagram

# Execute the CI on push or pull request on any branch
on:
push:
branches:
- '*' # Allow the workflow to trigger on any branch
pull_request:
branches:
- '*' # Allow the workflow to trigger on any branch
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
# List of images at https://github.com/hpi-swa/smalltalkCI#images
# Use Moose64-11 that includes our visualization tool
smalltalk: [ Moose64-11]
name: ${{ matrix.smalltalk }}
steps:
# Checkout the code from the branch that triggered the workflow
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.ref }} # Checkout the branch that triggered the workflow

# Prepare the CI - download the correct VM
- uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: ${{ matrix.smalltalk }}

# Run the tests
- run: smalltalkci -s ${{ matrix.smalltalk }}
shell: bash
timeout-minutes: 15

- name: Generate plantuml representation of meta-model
run: |
$SMALLTALK_CI_VM $SMALLTALK_CI_IMAGE eval "'FamixTypeScript-traits.puml' asFileReference writeStreamDo: [ :stream | stream nextPutAll: (FamixUMLDocumentor new model: FamixTypeScriptModel color: Color lightBlue ; beWithStubs ; generate; exportWith: (FamixUMLPlantUMLBackend new))]"
$SMALLTALK_CI_VM $SMALLTALK_CI_IMAGE eval "'FamixTypeScript.puml' asFileReference writeStreamDo: [ :stream | stream nextPutAll: (FamixUMLDocumentor new model: FamixTypeScriptModel color: Color lightBlue ; generate; exportWith: (FamixUMLPlantUMLBackend new))]"

- name: Generate SVG Diagram from PlantUML
uses: Timmy/plantuml-action@v1
with:
args: -v -tsvg FamixTypeScript-traits.puml FamixTypeScript.puml

- name: Move diagram to doc space
run: |
mkdir -p doc-uml
mv *.svg doc-uml
mv *.puml doc-uml

- name: Push docs to current branch
# do not try if it's a PR, since GitHub Actions checks out the code in a detached state
if: github.event_name == 'push'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git add doc-uml
git commit -m "Update docs for branch ${{ github.ref_name }}"
git push origin HEAD:refs/heads/${{ github.ref_name }} # Push to the branch that triggered the workflow
62 changes: 62 additions & 0 deletions .github/workflows/common.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# .github/workflows/common.yml
name: Common Workflow

on:
workflow_call:
inputs:
run_docs:
description: 'Whether to run documentation steps'
required: true
type: boolean

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
# List of images at https://github.com/hpi-swa/smalltalkCI#images
# Use Moose64-11 that includes our visualization tool
smalltalk: [Moose64-11]
name: ${{ matrix.smalltalk }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.ref }} # Checkout the branch that triggered the workflow

# Prepare the CI - download the correct VM
- uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: ${{ matrix.smalltalk }}

# Run the tests
- run: smalltalkci -s ${{ matrix.smalltalk }}
shell: bash
timeout-minutes: 15

- name: Generate plantuml representation of meta-model
run: |
$SMALLTALK_CI_VM $SMALLTALK_CI_IMAGE eval "'FamixTypeScript-traits.puml' asFileReference writeStreamDo: [ :stream | stream nextPutAll: (FamixUMLDocumentor new model: FamixTypeScriptModel color: Color lightBlue ; beWithStubs ; generate; exportWith: (FamixUMLPlantUMLBackend new))]"
$SMALLTALK_CI_VM $SMALLTALK_CI_IMAGE eval "'FamixTypeScript.puml' asFileReference writeStreamDo: [ :stream | stream nextPutAll: (FamixUMLDocumentor new model: FamixTypeScriptModel color: Color lightBlue ; generate; exportWith: (FamixUMLPlantUMLBackend new))]"
- name: Generate SVG Diagram from PlantUML
uses: Timmy/plantuml-action@v1
with:
args: -v -tsvg FamixTypeScript-traits.puml FamixTypeScript.puml

- name: Move diagram to doc space
if: inputs.run_docs == 'true'
run: |
mkdir -p doc-uml
mv *.svg doc-uml
mv *.puml doc-uml

- name: Push docs to current branch
if: inputs.run_docs == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git add doc-uml
git commit -m "Update docs for branch ${{ github.ref_name }}"
git push origin HEAD:refs/heads/${{ github.ref_name }} # Push to the branch that triggered the workflow
13 changes: 13 additions & 0 deletions .github/workflows/pr_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# .github/workflows/pr.yml
name: PR CI

on:
pull_request:
branches:
- '*' # Trigger on any branch pull request

jobs:
build:
uses: ./.github/workflows/common.yml
with:
run_docs: false
14 changes: 14 additions & 0 deletions .github/workflows/push_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# .github/workflows/ci.yml
name: CI for push on branch

on:
push:
branches:
- '*' # Trigger on any branch push
workflow_dispatch:

jobs:
build:
uses: ./.github/workflows/common.yml
with:
run_docs: true
4 changes: 2 additions & 2 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@

# FamixNG Metamodel for TypeScript.

[![Smalltalk CI](https://github.com/fuhrmanator/FamixTypeScript/actions/workflows/ci.yml/badge.svg)](https://github.com/fuhrmanator/FamixTypeScript/actions/workflows/ci.yml)
[![Smalltalk CI](https://github.com/fuhrmanator/FamixTypeScript/actions/workflows/ci.yml/badge.svg?branch=M11-migration)](https://github.com/fuhrmanator/FamixTypeScript/actions/workflows/ci.yml?query=branch:M11-migration)

This project is normally synchronized with [FamixTypeScriptImporter](https://github.com/fuhrmanator/FamixTypeScriptImporter) as it is the FamixNG metamodel it supports.

## Metamodel documentation (visualization)

The following was generated by CI.

![FamixTypeScript Metamodel](./doc-uml/FamixTypeScript.svg)
![FamixTypeScript Metamodel](./doc-uml/FamixTypeScript-traits.svg)

## Loading from a playground

Expand Down
Loading