Skip to content

Build and Deploy

Build and Deploy #3208

Workflow file for this run

name: Build and Deploy
on:
push:
branches:
- main
- 'release/*'
tags:
- 'v[0-9]+.*'
pull_request:
branches:
- '**'
jobs:
release-npm:
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
environment: deployments
runs-on: ubuntu-latest
permissions:
id-token: write
actions: read
contents: write
steps:
- uses: actions/checkout@v6
- uses: actions/setup-java@v5
with:
java-version: 11
distribution: 'temurin'
cache: 'maven'
- name: setup node
uses: actions/setup-node@v6
with:
node-version: 20.x
cache: 'npm'
cache-dependency-path: rascal-vscode-extension/package-lock.json
registry-url: 'https://registry.npmjs.org'
- name: Package & compile rascal-lsp
working-directory: ./rascal-lsp
run: mvn -B clean verify -DskipTests -Drascal.compile.skip -Drascal.tutor.skip
- name: prepare packages that copy jars etc
working-directory: rascal-vscode-extension
run: npm run lsp4j:package
- name: rewrite package.json & readme for NPM package
working-directory: rascal-vscode-extension
run: |
node src/rewritePackageForNPMPublish.js
rm -rf assets/images/
rm -rf lib/test
rm -rf src/test
mv README-lib.md README.md
- name: Test compile for NPM
if: startsWith(github.ref, 'refs/tags/v') != true
working-directory: rascal-vscode-extension
run: npm run compile
- name: publish to NPM
if: startsWith(github.ref, 'refs/tags/v')
working-directory: rascal-vscode-extension
run: npm publish --provenance