Commit Graph

40 Commits

Author SHA1 Message Date
Karl Ostmo
a388af6155
enforce scenario normalization (#1718)
Closes #1713.
2024-01-06 01:21:21 +00:00
Brent Yorgey
96d3062550
update to megaparsec-9.6.1 (#1609)
* Update to `megaparsec-9.6.1`.  This allows us to remove any annoying workaround. 
* Bump stack resolver to LTS-21.19.
* Drop support for GHC 8.10.
2023-11-08 12:26:23 -06:00
Ondřej Šebek
7cd7bde746
Publish VSCode extension under swarm-game everywhere (#1477)
* move the VSCode extension under "swarm-game" organisation
* add Open VSX Registry to "Deploy Extension" GitHub Action
* bump version, so it gets pushed once tagged
* closes #1453
2023-08-28 18:20:31 +00:00
Karl Ostmo
bfc0c143b8
Validate scenarios against json schema (#1475)
Closes #1428

Since the authoritative validation of scenario files is actually performed by virtue of `swarm` parsing them, this CI job actually exists to ensure the JSON Schema descriptions are accurate.  This is important for two purposes:
* Documentation is generated from the JSON Schema files (#1436)
* JSON Schema has integration with VS Code and other IDEs

# Testing

Verified that the schema checker action does indeed work by intentionally pushing an invalid scenario file in f789f81.
2023-08-28 02:34:03 +00:00
Brent Yorgey
7f53d9061d
Update to support GHC 9.6, mtl-2.3, and bump upper bounds (#1363)
Support GHC 9.6 / `base-4.18`, `mtl-2.3`, `megaparsec-9.4`, `servant-0.20`, `servant-docs-0.13`, `servant-server-0.20`, `template-haskell-2.20`, `optparse-applicative-0.18`, fix a bunch of new warnings, and update CI to test on GHC 9.6. 

---------

Co-authored-by: restyled-io[bot] <32688539+restyled-io[bot]@users.noreply.github.com>
Co-authored-by: Restyled.io <commits@restyled.io>
2023-07-11 19:05:14 -05:00
Ondřej Šebek
e72ca4c770
Fix TODO action ID (#1117)
Previously the action did not run because of an error:
```
The workflow is not valid. .github/workflows/check_todos.yml (Line: 14, Col: 3):
  The identifier 'Enforce issue references' is invalid. IDs may only contain alphanumeric characters, '_', and '-'.
  IDs must start with a letter or '_' and and must be less than 100 characters.
```

- fixes #1101
2023-02-18 13:44:54 +00:00
Karl Ostmo
4c5b7f8413
improve github action name (#1101)
Makes the TODO checker job displayed on Pull Requests more specific than `enforce`, changed to `Enforce issue references`.
# Before
![Screenshot from 2023-02-09 16-17-36](https://user-images.githubusercontent.com/261693/217968698-11561ef6-0afd-4541-8489-28bfe57d55c9.png)
2023-02-10 01:48:26 +00:00
Karl Ostmo
5927238497
Todo enforcement line number (#1045)
As an extension to #514, include the line number in the grep output, and move the grep logic to a script, so that it can be used within VS Code and clicking on the file:line will open the editor at the right place.

![vscode-demo](https://user-images.githubusercontent.com/261693/214456476-c27b2360-1018-4281-8930-45faaa17d66b.png)

The GitHub action still works.  See this CI run: https://github.com/swarm-game/swarm/actions/runs/4001861308/jobs/6868527786
2023-01-25 05:15:41 +00:00
Ondřej Šebek
2857c2deaa
Link TODOs to Issues (#514)
- replace `XXX` with `TODO: #<issue number>`

TODO has simply better editor support. The GitHub plugin will suggest creating an issue for TODO that does not have the issue number after it and some editors may even ask for confirmation when committing code with TODO.
2023-01-24 21:45:44 +00:00
Brent Yorgey
a4d0d230cd
allow latest versions of dependencies + GHC 9.4 (#752)
Update dependencies + add GHC 9.4 to CI.  Closes #748 .
2022-10-31 02:51:43 +00:00
Ondřej Šebek
0efb1c3e6d
Use Node 16 in both VS Code actions (#751) 2022-10-18 19:24:41 +02:00
Brent Yorgey
58ff215480
upgrade to hsnoise-0.0.3 (#746)
Closes #745.
2022-10-13 20:48:56 +00:00
Brent Yorgey
1731b9e873 0.1.0.1 bugfix release
Also rename `data.zip` to `swarm-data.zip`
2022-10-06 14:19:55 -05:00
Ondřej Šebek
e57743da91
Add release action (#716)
- create the release on pushed PVP-style tag
- publish the binary, zipped data and license to the release
- publish to Hackage
- closes #673
2022-10-05 23:25:29 +00:00
Ondřej Šebek
88eee0aaab
Rename the bug tag 2022-10-03 08:36:35 +02:00
Brent Yorgey
ffd94792cf
set up config for issue template chooser, with link to COMMUNITY (#718) 2022-10-02 23:40:38 +00:00
Ondřej Šebek
4c6f6dc3f1 Make VSCode CI fool proof
It has to work somehow, I give up!
2022-09-09 00:04:00 +02:00
Ondřej Šebek
8f2affd7aa Add missing typescript build to VSCode CI 2022-09-08 23:47:28 +02:00
Ondřej Šebek
8a1cc8992b Run action on CI script change 2022-09-08 23:26:05 +02:00
Ondřej Šebek
c76cc1f9b1 Fix VSCode installation in CI 2022-09-08 23:26:05 +02:00
Ondřej Šebek
c290ecc149
Fix VSCode highlighting (#667)
- bump extension version to 0.0.6
- fix highlighting
  - do not let an "empty decimal" (`[0-9]*`) match every time. 😉 
- add snapshot test
- add VSCode GitHub Action to build and test
- add VSCode GitHub Action to release the extension
  - it is triggered when pushing a tag `swarm-language-vscode-*`
- closes #609
2022-09-08 21:06:26 +00:00
Ondřej Šebek
8366135ae1
Notify user about newer version (#652)
- query GitHub Releases for a new version
- add `swarm version` command
- show the version notification in the main menu
- add a new app-wide logging queue
- show the app-wide logs in the main menu as Messages
- catch and show the web API failure in the Messages
- closes #66
- closes #627
2022-09-06 07:32:24 +00:00
Brent Yorgey
e6defd44b1
update to brick-1.0 (#641)
* Update to `brick-1.0`
* Test with GHC 9.2.4
2022-08-17 12:35:10 -05:00
Ondřej Šebek
0150b8a901
Update to new brick EventM API (#583)
- closes #561
2022-07-27 21:53:11 +00:00
Ondřej Šebek
f1f43f354c Add dependency config
- whitelist a few packages
- disable no new release fail
- disable single author fail
2022-07-27 23:40:31 +02:00
Ondřej Šebek
8652440607
Make GHC2021 extensions default (#520)
- closes #419
2022-07-01 09:07:41 +00:00
Tristan de Cacqueray
15b758ba70
Add branch filter to reduce CI cost (#488)
The action presently runs twice because both `on` conditions matche
every contributions. With this change, the push action only triggers
for the final push to the main branch, and the pull_requeste action
only triggers for PR made for the main branch.

That also means restyled PR should not trigger CI as they are made
for non main branches.
2022-06-25 21:07:03 +00:00
Ondřej Šebek
14c5bdbd04 Move HLint to GHC 8.10.7 in CI
The version check only cares about 8/9
and HLint has some trouble installing
in 9.2, so this avoids it for now.
2022-06-09 01:29:05 +02:00
Ondřej Šebek
ff9ec66711 Add ci flag to CI
- set -Werror in CI
- fix GHC 9.2 warning about TH looking syntax ($e)
2022-06-09 01:29:05 +02:00
Ondřej Šebek
94c876a01a Add GHC 9.2.3 to CI 2022-06-09 01:29:05 +02:00
Ondřej Šebek
b67a0f3ef4
Enable HLint in CI (#371)
- uncomment HLint configuration in Haskell-CI config
- remove unused pragmas
- remove some unnecessary parens
2022-06-08 22:40:29 +00:00
Ondřej Šebek
7ad65ad00a
Update Github Actions and fix Doctest (#352)
* Fix doctests

* Regenerate haskell-ci with config

- use latest haskell-ci
- configure haskell-ci to use doctest

* Update tested with compiler

- update cabal tested-with field
- update .mergify.yaml to new compiler
  - restore note about mergify in haskell-ci
2022-06-04 15:04:26 -05:00
Ondřej Šebek
89e613c678
Add the CI file check to mergify (#283)
I made a mistake in #279, for PRs that modify both .hs an .md the dummy would pass 🙄

Copying the logic to .mergify.yml should fix this. 🤞
2021-11-07 15:55:03 +01:00
Ondřej Šebek
95f2247657
Filter paths that run CI (#279)
* Filter paths that run CI
* Add dummy CI to check
2021-11-07 14:39:10 +01:00
Brent Yorgey
d8e3334cad
update CI and include the test suite (#165) 2021-10-03 21:29:08 -05:00
Tristan de Cacqueray
c7baf13efe
Add basic editor integration with LSP (#108)
This change improves the user experience when editing swarm code outside of the REPL with:

- CLI for a `format` command to quickly parse and type check a file.
- Basic LSP server to provide IDE feedback on save, e.g. visual squiggly for errors.
- Initial emacs mode.

Fixes #82 #110
2021-10-01 20:11:08 +00:00
Tristan Cacqueray
50e9558071 Add mergify configuration
This change configures the mergify bot so that:
- PR are validated with the tip of the project before merge
  to prevent incompatible PRs to be merged at once which could
  break the CI.
- PR maintainer uses a consistent smart squash workflow
2021-09-26 19:44:38 +00:00
Tristan Cacqueray
5746fd432e Add ghc-options and ci flags to prevent compilation warnings 2021-09-25 14:10:21 +00:00
Brent Yorgey
9d07565042 Update issue templates 2021-09-19 22:16:54 -05:00
Brent Yorgey
4a10e27c6a create initial CI workflow 2021-08-29 17:32:30 -05:00