Commit graph

273 commits

Author SHA1 Message Date
dundargoc 9319e28bcc ci(sanitize): add a timeout of 60 minutes
There's a possibility of the test freezing so we add this as precaution.
2024-02-14 17:32:49 +01:00
Amaan Qureshi 0afa891ffc ci: use the native m1 mac runner 2024-02-11 01:59:56 -05:00
dundargoc 77d7843b7b ci: remove minimum glibc information in summary page
It clutters up the page with unnecessary information. This information
can be provided as release notes or another form if needed.
2024-02-10 18:50:12 +01:00
dundargoc 8759352542 build: add useful development targets to makefile 2024-02-09 13:19:28 +01:00
dundargoc 95b08f107a docs: create issue template
This will help enforce a minimum amount of necessary information, and
also help with automatic labeling.
2024-02-09 12:34:18 +01:00
dundargoc 38cb60ccda ci: only create release for normal semver tags
We don't need releases for pre-releases.
2024-02-09 10:56:15 +01:00
dundargoc 5f63074057 ci: introduce "response bot"
It's basically a bot that closes issues or PRs if the author hasn't
responded after 30 days. This is only done on issues/PRs that has the
`more-information-needed` label and is meant to be used for issues that
has hit a dead-end and cannot progress without further information from
the author. If the author responds after an issue is closed and gives
more context the issue can simply be reopened.
2024-02-07 16:26:24 +01:00
Amaan Qureshi 032a1089fd
Merge pull request #2936 from dundargoc/ci/release
ci: rework release strategy
2024-02-06 23:42:59 -05:00
dundargoc c8bd6705cf
chore: clippy 2024-02-06 23:34:14 -05:00
dundargoc c3ab70cc98 ci: rework release strategy
Switch the release trigger from PR to a git tag. In practice this would
mean tagging a commit in master branch and pushing it with
`git push --tags`.

The benefit of this is that tagging is already an event that is reserved
for maintainers, so we can remove the need for verifying whether the
event was done by a maintainer.

We also no longer need to keep track of the tag. Previously the trigger
was a PR which has a different ref from the tag, so manual bookkeeping
was required to ensure github used the tag reference instead of the PR
reference. Having the tagging itself be the trigger removes this need
entirely as the default checkout will already use the tag as reference.
2024-02-06 14:48:50 +01:00
dundargoc 9d8e31bf9f ci: add timeout to build.yml
This will abort the run early if it gets caught in an infinite loop
during testing.
2024-02-05 23:19:36 +01:00
Amaan Qureshi 59e64d74fe
Merge pull request #2925 from dundargoc/ci/workflow
ci: remove workflow_dispatch from build.yml
2024-02-05 14:58:02 -05:00
dundargoc 2003d23518 ci: include cargo packages to dependabot 2024-02-05 20:20:20 +01:00
dundargoc 7b0b2464cd ci: remove workflow_dispatch from build.yml
The cases where you'd need to manually run tests with specific
parameters should be rare.
2024-02-05 20:15:56 +01:00
dundargoc fdd0e21041 ci: add caching to build.yml 2024-02-05 00:52:18 +01:00
Amaan Qureshi dd2dc236c4
Merge pull request #2909 from tree-sitter/dependabot/github_actions/mymindstorm/setup-emsdk-14
ci: bump mymindstorm/setup-emsdk from 12 to 14
2024-02-04 13:24:03 -05:00
Amaan Qureshi e86cb85c81
Merge pull request #2917 from dundargoc/ci/cache
ci(checks): use rust-cache action to cache dependencies
2024-02-04 13:10:07 -05:00
Amaan Qureshi ff53f54e53
Merge pull request #2918 from dundargoc/ci/publish
ci: add workflow_dispatch event to publish
2024-02-04 13:09:41 -05:00
Amaan Qureshi 887d48ab4a
Merge pull request #2921 from dundargoc/ci/concurrency
ci: simplify concurrency
2024-02-04 13:07:50 -05:00
dundargoc 26fbe78f20 ci: simplify concurrency 2024-02-04 18:03:58 +01:00
dundargoc 003521895d ci(checks): use rust-cache action to cache dependencies 2024-02-04 17:31:14 +01:00
dundargoc 34682fa8d2 ci: add clippy 2024-02-04 17:22:32 +01:00
dundargoc f8e6ddf945 ci: add workflow_dispatch event to publish
This allows manual publishing in case the automatic publishing fails for
some reason.
2024-02-04 15:46:58 +01:00
Amaan Qureshi 72a75326f7
Merge pull request #2910 from tree-sitter/dependabot/github_actions/actions/checkout-4
ci: bump actions/checkout from 3 to 4
2024-02-04 05:03:09 -05:00
dependabot[bot] 98f3ecc9d6
ci: bump mymindstorm/setup-emsdk from 12 to 14
Bumps [mymindstorm/setup-emsdk](https://github.com/mymindstorm/setup-emsdk) from 12 to 14.
- [Release notes](https://github.com/mymindstorm/setup-emsdk/releases)
- [Commits](https://github.com/mymindstorm/setup-emsdk/compare/v12...v14)

---
updated-dependencies:
- dependency-name: mymindstorm/setup-emsdk
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-04 10:03:00 +00:00
Amaan Qureshi 5478ced3b5
Merge pull request #2908 from tree-sitter/dependabot/github_actions/actions/upload-artifact-4
ci: bump actions/upload-artifact from 3 to 4
2024-02-04 05:02:05 -05:00
Amaan Qureshi 8bb98dfdc2
Merge pull request #2914 from amaanq/clippy-pt2
chore: apply clippy fixes
2024-02-04 05:00:44 -05:00
Amaan Qureshi 55afb4efaf
ci: remove unnecessary targets 2024-02-04 04:19:09 -05:00
Amaan Qureshi 03aa007847
Merge pull request #2907 from tree-sitter/dependabot/github_actions/actions/download-artifact-4
ci: bump actions/download-artifact from 3 to 4
2024-02-03 22:36:58 -05:00
dependabot[bot] 12b3567092
ci: bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-04 03:23:58 +00:00
Amaan Qureshi 2957ce9497
Merge pull request #2911 from dundargoc/ci/publish
ci: deduplicate publish workflow
2024-02-03 22:23:20 -05:00
dundargoc 67bc1e37c3 ci: deduplicate publish workflow 2024-02-04 00:21:34 +01:00
dependabot[bot] 1b333603c7
ci: bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-03 23:16:33 +00:00
dependabot[bot] a9a552a4b2
ci: bump actions/download-artifact from 3 to 4
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-03 23:16:30 +00:00
dundargoc f91050c8c0 ci: add dependabot for automatic actions updates 2024-02-04 00:04:20 +01:00
dundargoc dfb2bd97d4 ci: remove msrv.yml workflow as it's not really used
If it does become relevant to actually implement this is can be done at
that time. Having a non-functional stub isn't useful.
2024-02-03 11:25:14 +01:00
dundargoc b122c59ca3 ci: merge fast_checks into full_rust_checks
It's not necessary to have two separate linting workflows as the full
lints themselves are very quick.
2024-02-02 23:45:33 +01:00
Max Brunsfeld 1d8975319c
Merge pull request #2840 from tree-sitter/language-reference-count
Introduce APIs for managing the lifetimes of languages, allow WASM languages to be deleted
2024-01-30 10:24:37 -08:00
Amaan Qureshi 98be227227
0.20.9 2024-01-25 15:05:17 -05:00
Max Brunsfeld bfb966e2e0 Enable wasm feature when running tests on CI 2023-12-31 10:06:03 -08:00
Max Brunsfeld bd0796d11d Remove mips targets from CI workflow 2023-11-24 20:06:36 -08:00
Max Brunsfeld adb0e6958e Only enable wasm feature on CI for supported architectures 2023-10-31 17:13:50 -07:00
Max Brunsfeld f4e2f68f14 Merge branch 'master' into wasm-language 2023-10-27 12:11:43 +01:00
Andrew Hlynskyi a91a6cc615 cicd: disable failed linux-riscv64gc target
Related issue #2712
2023-10-16 16:13:40 +03:00
Andrew Hlynskyi a9c4965dd6 cicd: exclude hang tests for exotic arches and ASAN 2023-08-28 05:39:57 +03:00
Andrew Hlynskyi 5c5de9ca61 cicd: rename runtime to platform for better clarity 2023-08-25 17:36:03 +03:00
Andrew Hlynskyi e985d0e743 cicd: pin rust toolchain to 1.71.1 for all mips targets 2023-08-25 17:36:03 +03:00
James McCoy 545ef842de
Remove -Werror from default CFLAGS
Production builds shouldn't include -Werror by default since that could
cause spurious build failures when there are toolchain updates.

CI uses -Werror to prevent warnings, so that should be sufficient.
2023-08-18 14:23:19 -04:00
Andrew Hlynskyi e9bed05c7c chore(ci): explicitly define halt on error for ASAN detected issues 2023-08-17 18:26:08 +03:00
Amaan Qureshi 211e13d566
ci: add asan 2023-07-24 01:15:48 -04:00
Amaan Qureshi 9a05739851
fix: typo 2023-07-24 00:44:44 -04:00
Amaan Qureshi 77a8c56558
ci: add big-endian & some obscure architectures 2023-07-18 15:44:20 -04:00
Andrew Hlynskyi e7a16ceb06 cicd: install Emscripten conditionally 2023-07-16 16:07:13 +03:00
Andrew Hlynskyi 6ab282b578 cicd: add armv7l target #1366#issuecomment-1503176694 2023-07-16 16:07:13 +03:00
Amaan Qureshi c23ec2c3ae ci: add more architectures 2023-07-16 05:14:11 -04:00
Amaan Qureshi 12971103f5
ci: only run release if the owner is tree-sitter 2023-07-15 21:04:42 -04:00
Andrew Hlynskyi 0c318d3468 cicd: fix ubsan deb package installation 2023-07-13 17:44:38 +03:00
Andrew Hlynskyi 010f288b3c cicd: move branch locality checking to the release workflow 2023-05-20 04:56:39 +03:00
Andrew Hlynskyi 30dc31ff53 cicd: run tests on ready to review PRs 2023-05-20 00:53:31 +03:00
Andrew Hlynskyi e783d8848d cicd: don't start release on draft PRs 2023-05-20 00:53:31 +03:00
Andrew Hlynskyi 1f42f1efc0 cicd: show info about minimal required GLIBC version for CLI 2023-05-20 00:53:31 +03:00
Andrew Hlynskyi 3af763e4be cicd: build - add a rust-test-threads number input parameter 2023-05-20 00:53:31 +03:00
Andrew Hlynskyi fcbc3db1ab cicd: build - add a run-tests input parameter 2023-05-19 23:40:34 +03:00
Andrew Hlynskyi b41c678da6 cicd: rollback runner version to link against older GLIBC 2023-05-19 01:25:46 +03:00
Andrew Hlynskyi ebd80906fb cicd: a series of small improvements 2023-05-03 05:29:34 +03:00
Andrew Hlynskyi 1666283f37 cicd: cleanup and add building for windows-arm64 2023-04-17 00:21:54 +03:00
Andrew Hlynskyi 7642fda99f cli: npm - strict platform / arch mapping for provided targets 2023-04-17 00:17:43 +03:00
Andrew Hlynskyi 160550dabe cicd: fix windows targets sporadic issue due to corrupted PATH 2023-04-15 02:58:17 +03:00
Andrew Hlynskyi 8eacd34fd7 chore(cicd): better naming in the build matrix 2023-04-10 22:20:24 +03:00
Andrew Hlynskyi 7bc2bb605e cicd: switch main workflow to work on any branch except release/v* prefixed
The `release/v*` prefixed branches can be used only with a PR opened on
such branches. The release branches only accepted in the main repo
and not from forks.

Also this workflow enables runining on every `push` unconditionaly.
This leads to parallel runs on `push` and `pull_request` events
and that would seen in PR checks also in parallel, but this is
useful because checks that run on the `push` event runs on
head ref while checks on the `pull_request` event runs on
an additional `refs/pull/<PR>/merge` ref what is created
by Github on every push to a PR to check that it can be
merged to a target branch without conflicts and passed checks.
2023-04-10 21:20:36 +03:00
Andrew Hlynskyi 4a723c985d cicd: don't cancel runs on master by concurrency condition 2023-04-10 03:55:23 +03:00
Andrew Hlynskyi d8caf6f8c5 chore(cicd): change formatting 2023-04-08 08:48:01 +03:00
Andrew Hlynskyi f03f024ec4 cicd: change approach for matrix shaping with an anchor name plus extras 2023-04-08 08:48:01 +03:00
Andrew Hlynskyi 96086806d5 cicd: change author configuring for a tag 2023-04-08 08:48:01 +03:00
Andrew Hlynskyi bb122d6d47 cicd: separate sanitize workflow + manual trigger for build workflow 2023-04-08 02:45:58 +03:00
Andrew Hlynskyi 71f32a2166 cicd: additional tweaks 2023-04-07 10:23:25 +03:00
Christian Clason 52f22a65eb cicd: build CLI for macos-arm64 2023-04-07 10:23:21 +03:00
Andrew Hlynskyi 0376533c04 cicd: add a test job with enabled UBSAN 2023-04-06 01:59:41 +03:00
Andrew Hlynskyi 404ae5f49a cicd: fix bug in release workflow 2023-04-04 11:44:50 +03:00
Andrew Hlynskyi cc4f932d17 cicd: new workflow 2023-04-04 03:42:16 +03:00
Andrew Hlynskyi ced103b519 ci: rustup install rustfmt and clippy 2023-01-15 19:18:51 +02:00
Andrew Hlynskyi 7a56f08154 ci: bump setup-emsdk action version to @v12 2023-01-15 19:18:51 +02:00
Andrew Hlynskyi e733a07a5c Update CI action versions 2023-01-06 10:05:27 +02:00
Max Brunsfeld d47713ee4a Integrate WASM compilation into the CLI's Loader 2022-11-15 17:14:33 -08:00
Max Brunsfeld 4bf5149a18 Run cargo test directly on CI 2022-03-02 17:12:25 -08:00
Andrew Helwer 815c281c48 Fix ci.yml format 2021-09-28 18:52:12 -04:00
Andrew Helwer 8eef790a61 Build rust with warnings=errors 2021-09-28 18:51:09 -04:00
Andrew Helwer 652235a6b8 Moved windows build out into separate job 2021-09-28 18:45:27 -04:00
Andrew Helwer eeff48d79f Specify bash shell 2021-09-28 18:35:40 -04:00
Andrew Helwer 02253866d7 Added windows to github CI workflow 2021-09-28 18:28:56 -04:00
Max Brunsfeld 4d64c2b939 Put emscripten-version file in cli directory
This lets the CLI crate build without relying on sibling directories.
2021-09-03 13:57:45 -07:00
Andrew Hlynskyi a286f831c7 Bump Emscripten version to 2.0.24 2021-06-30 01:06:33 +03:00
Vladimir Panteleev b14ea51e3d
Refactor emscripten/emsdk version to a single file 2021-06-29 21:39:12 +00:00
Andrew Hlynskyi 96ad90a646 CI: Add 'cargo fmt -- --check' to ci.yml
The step is placed right after Rust installation to fail faster.
2021-05-19 23:21:43 +03:00
Andrew Hlynskyi 9ee8ddb6b6 Fail CI in case of compiler warnings like dead_code 2021-04-30 06:55:00 +03:00
Max Brunsfeld 699af84259 Don't rely on bash 4.0 to lowercase platform name on CI 2021-02-11 17:08:14 -08:00
Max Brunsfeld 457c565266 Lowercase the OS in release asset filenames 2021-02-11 16:14:28 -08:00
Max Brunsfeld 0943dc27a2 Run CI for version tags 2021-02-11 15:21:04 -08:00
Max Brunsfeld 9857438d9b Revert "Print out tar version in CI"
This reverts commit 9c480bee23.
2021-02-05 11:26:40 -08:00
Max Brunsfeld 9c480bee23 Print out tar version in CI 2021-02-05 10:35:13 -08:00
Max Brunsfeld 4c93178488 Revert "Revert "Remove emscripten caching again""
This reverts commit 82dad76b98.
2021-02-05 10:27:18 -08:00
Max Brunsfeld 82dad76b98 Revert "Remove emscripten caching again"
This reverts commit 94eeb0662f.
2021-02-05 09:44:32 -08:00
Max Brunsfeld 8050c4026c ci: Use gnu tar on macOS 2021-02-05 09:44:29 -08:00
Max Brunsfeld d6ad7484a6 Fix install-rust step in GH CI 2021-01-11 16:59:05 -08:00
Max Brunsfeld 94eeb0662f Remove emscripten caching again 2021-01-11 16:13:43 -08:00
Max Brunsfeld 4bedff9c75 Include emscripten version in cache key 2021-01-11 16:03:54 -08:00
Max Brunsfeld ffef8f53f6 Publish assets to GH releases from CI on tagged builds 2021-01-11 15:46:17 -08:00
Max Brunsfeld 2f5a6598fa Try again with caching for emscripten 2021-01-11 15:02:50 -08:00
Max Brunsfeld c1660d201d Don't cache emscripten stuff for now 2021-01-11 14:37:42 -08:00
Max Brunsfeld f94d67b42a Use a publisehd action for setting up emscripten on CI 2021-01-11 14:21:52 -08:00
Max Brunsfeld ea8a2dcb8e Add macOS build to GH actions CI 2021-01-05 12:21:55 -08:00
Max Brunsfeld 9dd35e7853 Build wasm binding, run wasm tests on GH actions 2020-12-03 09:39:12 -08:00
Max Brunsfeld 00d25e8298 Use caching in GH actions 2020-12-01 17:56:01 -08:00
Max Brunsfeld abef4a7417 Use stable rust, remove custom rustc flags 2020-12-01 17:38:22 -08:00
Patrick Thomson 3b121894c2 Is it make that's whining? 2020-11-24 14:38:29 -05:00
Patrick Thomson cdb108b781 Try not building wasm because it's making actions very sad 2020-11-24 14:24:25 -05:00
Patrick Thomson dd78781403 whoops 2020-11-24 13:49:43 -05:00
Patrick Thomson 25c5821400 Try just Ubuntu. Justbuntu 2020-11-24 13:45:45 -05:00
Patrick Thomson 9ea5e491a9 Actually run all the tests, not just make. 2020-11-24 13:42:59 -05:00
Patrick Thomson 07948dfa42 regular make? 2020-11-11 09:05:17 -05:00
Patrick Thomson 711d4fdace make instead of cargo 2020-11-11 09:00:26 -05:00
Patrick Thomson 8b64c12517 Simple workflow derived from Amethyst's; let's see if it works 2020-11-11 08:49:33 -05:00
Patrick Thomson 8904660804 Institute Actions .yml 2020-11-11 08:44:14 -05:00