Skip to content

Commit

Permalink
EPIC README + publishing marketplace (#110)
Browse files Browse the repository at this point in the history
* Packaging reduced

* back to node_modules

* tuning ignored files

* Packaging reduced

* Fix #109 - contributors list

* #109 configure contributor list in README

* Fix #33 - add platform testings for ci

* Testing ubuntu + windows

* Using strategy matrix

* Back to gallium and running only contributors for ubuntu-latest

* Back to hydrogen, Windows out

* testing only in windows again

* Fix commented node version

* Back to gallium

* MacOS matrix

* adding ubuntu-latest

* Using newer version of xvfb

* ubuntu only

* running dbus prior to tests

* Configure e2e

* Using old version of VSC

* Testing old issue fix

* 1.83 back & avoid exit 1

* small change to force build

* trying options

* using node 16 for xvfb

* avoid using xvfb

* test only

* Back to 3 os and avoid using ubuntu for e2e tests

* Using hydrogen again

* Testing node 18

* Using node 20

* Back to gallium

* 0.1.2

* 1.0.0

* Using node lts/hydrogen

* add contributors list

* Testing contributors list

* testing contributors again

* Using different contributors list

* Forcing contributors list again

* Deleting contributors

* Testing contributors in PR

* Forcing new list of contributors to be generated

* pushing contributors on branches different than master

* πŸ“ Update contributors list

* testing jinja template

* πŸ“ Update contributors list

* customizing images

* πŸ“ Update contributors list

* customizing image - part 2

* πŸ“ Update contributors list

* Using markdown again

* πŸ“ Update contributors list

* Testing contributors

* πŸ“ Update contributors list

* More testing contributors

* πŸ“ Update contributors list

* Contributor list - rounded

* πŸ“ Update contributors list

* add space between images

* πŸ“ Update contributors list

* Add demo

* Expand demos in README

* expand demos - enhancement

* Single gif file

* Add wollok-ts-cli instructions

* Adding coverage badge for server

* Running coverage instead of common tests

* add server badge

* Add coverage to client e2e tests

* Fix #112 - problems running the extension

* Add coverage & badge to client e2e tests

* Add badge for client

* adding server + client label badges

* Backward compatibility to 1.80

* Add links to coverage article

* Using img shield badges

* Add license

* Newcomers instructions

* Fix #113 - dependencies installation

* Undo #113 because e2e tests are failing

* Fix #49 - adding vsix in draft release

* #49 only for master branch

* Change logo name

* Version only for root package.json

* Add script in order to publish to marketplace

* Add new version to changelog

* Enhance README

* Add validation of version in package.json

---------

Co-authored-by: Fake Dodain <fakeDodain@gmail.com>
Co-authored-by: Publishing Bot <action@github.com>
  • Loading branch information
3 people authored Oct 31, 2023
1 parent ba9440a commit fa92b64
Show file tree
Hide file tree
Showing 22 changed files with 6,070 additions and 876 deletions.
3 changes: 3 additions & 0 deletions .github/contributor_list_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{{ header_level }} πŸ‘₯ Contributors

{% for contributor in contributors %}<img src="{{contributor.avatar_url}}" height="40" width="40" alt="{{contributor.login}}" title="{{contributor.login}}" class="avatar circle"/>&nbsp;{% endfor %}
20 changes: 12 additions & 8 deletions .github/workflows/contributors_list.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
name: Contributors List
on:
push:
branches:
- main
- '*'
- '!master'

jobs:
contrib-readme-job:
contributor_list:
name: Contributors List
runs-on: ubuntu-latest
name: A job to automate contrib in readme
steps:
- name: Contribute List
uses: akhilmhdh/contributors-readme-action@v2.3.6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@master
- uses: docker://cjdenio/contributor_list:latest
with:
image_size: 60
commit_message: πŸ“ Update contributors list
# Max number of contributors to display on the README
max_contributors: 20 # Default: 10
# Markdown heading level for the contributors section
header_level: 2 # Default: 2
45 changes: 37 additions & 8 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,14 @@ on:
pull_request:



jobs:
test:

runs-on: windows-latest
runs-on: ${{ matrix.os }}

strategy:
matrix:
node-version: [lts/gallium]
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
node-version: [lts/hydrogen]

steps:
- uses: actions/checkout@v3
Expand All @@ -29,8 +28,38 @@ jobs:
- run: npm install
- run: npm run compile
- name: Run headless test
uses: coactions/setup-xvfb@v1
if: matrix.os != 'ubuntu-latest' # we need to fix ubuntu-latest first
uses: smithki/xvfb-action@v1.1.2
with:
run: npm run test:e2e
run: npm run test-with-coverage:e2e
- name: Unit Tests
run: npm run test:unit
run: npm run test-with-coverage:unit
- name: Update server coverage badge
uses: codecov/codecov-action@v3
if: matrix.os == 'ubuntu-latest'
with:
files: ./server/coverage/coverage-final.json
verbose: true
flags: lsp-ide-server
- name: Update client coverage badge
uses: codecov/codecov-action@v3
if: matrix.os == 'windows-latest'
with:
files: ./client/coverage/coverage-final.json
verbose: true
flags: lsp-ide-client
- name: Generate VSIX file
if: matrix.os == 'ubuntu-latest' && github.ref == 'refs/heads/master'
run: |
npm i -g vsce
vsce package
- name: Add VSIX to the latest release
if: matrix.os == 'ubuntu-latest' && github.ref == 'refs/heads/master'
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "draft"
prerelease: true
title: "Draft"
files: |
./*.vsix
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,6 @@ client/server
.history
.yalc
yalc.lock
.DS_Store
.DS_Store
coverage
.nyc_output
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
lts/gallium
lts/hydrogen
1 change: 0 additions & 1 deletion .vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
.gitignore
**/tsconfig.json
**/tsconfig.base.json
**/node_modules/**
**/.mocharc.js
**/.prettierrc
**/.eslintrc
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
# Changelog

## v0.1.2

- Upgrade Node to lts/hydrogen 18 ⬆️
- Fix Marketplace extension error 🩹
- Add coverage badges 🎯
- README enhancements for user & developers ✨

## v0.1.1

- Minor change in extension published πŸ”΄

## v0.1.0

- Upgrade Wollok-TS 4.0.5 ⬆️
- Published in Marketplace 🌈
- Dynamic diagram enhancements πŸ”΅
Expand Down
38 changes: 31 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,45 @@
<!-- DO NOT REMOVE - contributor_list:data:start:["fdodino", "ivojawer", "PalumboN", "npasserini", "FerRomMu", "dependabot[bot]"]:end -->


# Wollok IDE

[![Node.js CI](https://github.com/uqbar-project/wollok-lsp-ide/actions/workflows/node.js.yml/badge.svg)](https://github.com/uqbar-project/wollok-lsp-ide/actions/workflows/node.js.yml)
[![Node.js CI](https://github.com/uqbar-project/wollok-lsp-ide/actions/workflows/node.js.yml/badge.svg)](https://github.com/uqbar-project/wollok-lsp-ide/actions/workflows/node.js.yml)&nbsp;&nbsp;![server label](https://img.shields.io/badge/server-red) [![server coverage](https://codecov.io/gh/uqbar-project/wollok-lsp-ide/branch/master/graph/badge.svg?token=OT11UZ38OM&flag=lsp-ide-server)](https://codecov.io/gh/uqbar-project/wollok-lsp-ide)&nbsp;&nbsp;![server label](https://img.shields.io/badge/client-blue) [![client coverage](https://codecov.io/gh/uqbar-project/wollok-lsp-ide/branch/master/graph/badge.svg?token=OT11UZ38OM&flag=lsp-ide-client)](https://codecov.io/gh/uqbar-project/wollok-lsp-ide) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)

Starting from [LSP sample code](https://code.visualstudio.com/api/language-extensions/language-server-extension-guide) for Visual Studio Code, we developed a couple of tools for Wollok using Language Server Protocol (for Visual Studio Code, IntelliJ, Eclipse, Atom, etc.)

## Developer Instructions
## πŸ–– Welcome to Wollok!

Here you can see how to develop a Wollok example using autocompletion tools. Once you have defined your objects and classes, you can test it in the REPL using a dynamic diagram:

<img src="./images/demo.gif" title="first example" alt="first example" height="80%" width="80%"/>

## πŸƒβ€β™€οΈ Quick Start πŸƒβ€β™‚οΈ

- You need to install [wollok-ts command line interface](https://github.com/uqbar-project/wollok-ts-cli) tool in order to run unit tests, REPL session & dynamic diagram. Go to [latest release](https://github.com/uqbar-project/wollok-ts-cli/releases/latest), download the executable based on your operating system and add it to the PATH (here are instructions to do so in [Mac](https://apple.stackexchange.com/questions/41542/adding-a-new-executable-to-the-path-environment-variable), [Windows](https://medium.com/@kevinmarkvi/how-to-add-executables-to-your-path-in-windows-5ffa4ce61a53) and [Linux](https://unix.stackexchange.com/questions/183295/adding-programs-to-path))
- We recommend to install [Wollok Highlight](https://marketplace.visualstudio.com/items?itemName=uqbar.wollok-highlight) as an additional extension

## ✨ Features

- For a guided tour, see the [Tools](https://github.com/uqbar-project/wollok-lsp-ide/wiki/Tools) wiki page.
- Having problems? You can [open an issue](https://github.com/uqbar-project/wollok-lsp-ide/issues/new) and tag @PalumboN or @fdodino for additional info. Special thanks for those who help to enhance Wollok!
- This extension is part of the [Wollok language project](https://github.com/uqbar-project/wollok-language) where you can have an overall picture of our roadmap.

## πŸ‘©β€πŸ’» Developer Instructions

By now we have a first working version of a linter, calling wollok-ts implementation. For a deeper developer guide, please refer to the [wiki](https://github.com/uqbar-project/wollok-lsp-ide/wiki). See [installation instructions for developers](https://github.com/uqbar-project/wollok-lsp-ide/wiki/Development-Environment).
Do you want to contribute? Great, you are always welcome!

## Features
- See [installation instructions for developers](https://github.com/uqbar-project/wollok-lsp-ide/wiki/Development-Environment)
- You can also [join the Discord channel!](https://discord.gg/MWK9fafk)
- There's a list of [good first issues](https://github.com/uqbar-project/wollok-lsp-ide/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) to tackle, but in case of any hesitation you can always ping @PalumboN or @fdodino
- Additional info is available at the [wiki](https://github.com/uqbar-project/wollok-lsp-ide/wiki)

See [Tools](https://github.com/uqbar-project/wollok-lsp-ide/wiki/Tools) wiki.

#### Powered by [Uqbar](https://uqbar.org/)

<!-- prettier-ignore-start -->
<!-- DO NOT REMOVE - contributor_list:start -->
## πŸ‘₯ Contributors

<!-- readme: contributors -start -->
<!-- readme: contributors -end -->
<img src="https://avatars.githubusercontent.com/u/4549002?v=4" height="40" width="40" alt="fdodino" title="fdodino" class="avatar circle"/>&nbsp;<img src="https://avatars.githubusercontent.com/u/18614957?v=4" height="40" width="40" alt="ivojawer" title="ivojawer" class="avatar circle"/>&nbsp;<img src="https://avatars.githubusercontent.com/u/4098184?v=4" height="40" width="40" alt="PalumboN" title="PalumboN" class="avatar circle"/>&nbsp;<img src="https://avatars.githubusercontent.com/u/4633913?v=4" height="40" width="40" alt="npasserini" title="npasserini" class="avatar circle"/>&nbsp;<img src="https://avatars.githubusercontent.com/u/70177008?v=4" height="40" width="40" alt="FerRomMu" title="FerRomMu" class="avatar circle"/>&nbsp;<img src="https://avatars.githubusercontent.com/in/29110?v=4" height="40" width="40" alt="dependabot[bot]" title="dependabot[bot]" class="avatar circle"/>&nbsp;
<!-- DO NOT REMOVE - contributor_list:end -->
<!-- prettier-ignore-end -->
Loading

0 comments on commit fa92b64

Please sign in to comment.