From 95835264790d992a386ab717127204e2d6dd6732 Mon Sep 17 00:00:00 2001 From: fendor Date: Sun, 14 Jun 2026 11:32:20 +0200 Subject: [PATCH 1/5] Add automatic release workflows --- .github/workflows/release.yaml | 55 ++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/release.yaml diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..70c1ee4 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,55 @@ +on: + release: + types: [prereleased, released] + +name: Deploy Extension +jobs: + publish-extension: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 + with: + ## make sure this corresponds with the version in test.yml + node-version: latest + + - name: Install deps + run: npm ci + + - name: Build grammars + run: make grammars + + - name: Run tests + run: make test + + - name: Package Extension + id: packageExtension + run: | + npx vsce package --out language-haskell-${{ github.event.release.tag_name }}.vsix + + ## Make sure the artifact is added to the release. + - name: Upload extension vsix to workflow artifacts + uses: actions/upload-artifact@v7 + with: + name: language-haskell-${{ github.event.release.tag_name }}.vsix + path: language-haskell-${{ github.event.release.tag_name }}.vsix + + # Set pre-release flag if the job is a pre-release + - name: Set pre-release flag + id: flags + run: | + if [ "${{ github.event.release.prerelease }}" = "true" ]; then + echo "flag=--pre-release" >> $GITHUB_OUTPUT + else + echo "flag=" >> $GITHUB_OUTPUT + fi + + # Publish to VS Marketplace + - run: npx vsce publish ${{ steps.flags.outputs.flag }} --packagePath language-haskell-${{ github.event.release.tag_name }}.vsix + env: + VSCE_PAT: ${{ secrets.VS_MARKETPLACE_TOKEN }} + + # Publish to Open VSX + - run: npx ovsx publish ${{ steps.flags.outputs.flag }} --packagePath language-haskell-${{ github.event.release.tag_name }}.vsix + env: + OVSX_PAT: ${{ secrets.OPEN_VSX_TOKEN }} From 3620b869c5f8e80e1d90826d6661fa348f90c40e Mon Sep 17 00:00:00 2001 From: fendor Date: Sun, 14 Jun 2026 11:37:40 +0200 Subject: [PATCH 2/5] Don't typecheck dependencies --- tsconfig.json | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index 10ebbf5..2324b02 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,15 +1,13 @@ { - "compilerOptions": { - "module": "commonjs", - "target": "esnext", - "outDir": "out", - "sourceMap": true, - "strict": true, - "lib": ["ESNext"], - "rootDir": "." - }, - "exclude": [ - "node_modules", - "out" - ] + "compilerOptions": { + "module": "commonjs", + "target": "esnext", + "outDir": "out", + "sourceMap": true, + "strict": true, + "lib": ["ESNext"], + "rootDir": ".", + "skipDefaultLibCheck": true + }, + "exclude": ["node_modules", "out"] } From 44d199e2b9a5b7d2c57696e3fc8c31cfb2707899 Mon Sep 17 00:00:00 2001 From: fendor Date: Sun, 14 Jun 2026 12:14:32 +0200 Subject: [PATCH 3/5] Upgrade typescript version to fix builds --- package-lock.json | 21 +++++++++++---------- package.json | 4 ++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 670c4e4..07d335b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "language-haskell", - "version": "3.6.0", + "version": "3.7.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "language-haskell", - "version": "3.6.0", + "version": "3.7.0", "license": "BSD-3-Clause", "devDependencies": { "@types/vscode": "^1.0.0", @@ -14,7 +14,7 @@ "js-yaml": "^4.0.0", "npm": "^11.13.0", "ts-loader": "^9.4.2", - "typescript": "^4.9.4", + "typescript": "^6.0.3", "webpack": "^5.106.2", "webpack-cli": "^5.0.1" }, @@ -4719,16 +4719,17 @@ } }, "node_modules/typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/uc.micro": { @@ -8252,9 +8253,9 @@ } }, "typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true }, "uc.micro": { diff --git a/package.json b/package.json index 8495c5d..a69fffb 100644 --- a/package.json +++ b/package.json @@ -255,8 +255,8 @@ "js-yaml": "^4.0.0", "npm": "^11.13.0", "ts-loader": "^9.4.2", - "typescript": "^4.9.4", + "typescript": "^6.0.3", "webpack": "^5.106.2", "webpack-cli": "^5.0.1" } -} \ No newline at end of file +} From b4db209801fdb4f128f14b36eecca3d066c2712e Mon Sep 17 00:00:00 2001 From: fendor Date: Sun, 14 Jun 2026 12:55:44 +0200 Subject: [PATCH 4/5] Bump GitHub actions checkout and setup-node to v6 --- .github/workflows/github-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/github-ci.yml b/.github/workflows/github-ci.yml index a1c6692..dcc3437 100644 --- a/.github/workflows/github-ci.yml +++ b/.github/workflows/github-ci.yml @@ -17,10 +17,10 @@ jobs: steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - name: Setup node - uses: actions/setup-node@v1 + uses: actions/setup-node@v6 with: node-version: ${{ matrix.node-version }} From 2512f698f4c2433183ae72b1cfe6d59d9f0fc772 Mon Sep 17 00:00:00 2001 From: fendor Date: Sun, 14 Jun 2026 12:59:46 +0200 Subject: [PATCH 5/5] Test on more node versions --- .github/workflows/github-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/github-ci.yml b/.github/workflows/github-ci.yml index dcc3437..918316f 100644 --- a/.github/workflows/github-ci.yml +++ b/.github/workflows/github-ci.yml @@ -13,7 +13,8 @@ jobs: strategy: matrix: - node-version: [18.x] + # We test latest, the LTS version and an old one. + node-version: [26.x, 24.x, 18.x] steps: