Skip to content

Split packaging from Linux build in CI #159

Split packaging from Linux build in CI

Split packaging from Linux build in CI #159

Workflow file for this run

name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
linux:
name: Build and Test [Linux]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Get polserver HEAD ref
id: get-ref
run: |
echo "ref=$( cd native/polserver && git log -1 --format=%h )" >> $GITHUB_OUTPUT
- name: Cache polserver
uses: actions/cache@v3
with:
path: native/polserver
key: linux-polserver-full-${{ steps.get-ref.outputs.ref }}
- run: npm install
- run: npm test
- name: Upload Extension Artifact
uses: actions/upload-artifact@v3
with:
name: vscode-escript-native.linux-x64
path: native/build/Release/vscode-escript-native.linux-x64.node
windows:
name: Build and Test [Windows]
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Get polserver HEAD ref
id: get-ref
shell: bash
run: |
echo "ref=$( cd native/polserver && git log -1 --format=%h )" >> $GITHUB_OUTPUT
- name: Cache polserver
uses: actions/cache@v3
with:
path: native/polserver
key: windows-polserver-full-${{ steps.get-ref.outputs.ref }}
- run: npm install
- run: npm run eslint
- run: npm test
- name: Upload Extension Artifact
uses: actions/upload-artifact@v3
with:
name: vscode-escript-native.win32-x64
path: native/build/Release/vscode-escript-native.win32-x64.node
mac:
name: Build and Test [Mac]
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Get polserver HEAD ref
id: get-ref
run: |
echo "ref=$( cd native/polserver && git log -1 --format=%h )" >> $GITHUB_OUTPUT
- name: Cache polserver
uses: actions/cache@v3
with:
path: native/polserver
key: mac-polserver-full-${{ steps.get-ref.outputs.ref }}
- name: Set polserver Dependencies
run: |
echo "PKG_CONFIG_PATH=/usr/local/opt/openssl@1.1/lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV
- run: npm install
- run: npm test
- name: Upload Extension Artifact
uses: actions/upload-artifact@v3
with:
name: vscode-escript-native.darwin-universal
path: native/build/Release/vscode-escript-native.darwin-universal.node
package:
name: Package
runs-on: ubuntu-latest
needs: [windows, mac, linux]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Get polserver HEAD ref
id: get-ref
run: |
echo "ref=$( cd native/polserver && git log -1 --format=%h )" >> $GITHUB_OUTPUT
- name: Cache polserver
uses: actions/cache@v3
with:
path: native/polserver
key: linux-polserver-full-${{ steps.get-ref.outputs.ref }}
- run: npm install
- name: Download Temporary Artifact darwin-universal
uses: actions/download-artifact@v3
with:
name: vscode-escript-native.darwin-universal
path: native/build/Release
- name: Download Temporary Artifact win32-x64
uses: actions/download-artifact@v3
with:
name: vscode-escript-native.win32-x64
path: native/build/Release
- name: Download Temporary Artifact linux-x64
uses: actions/download-artifact@v3
with:
name: vscode-escript-native.linux-x64
path: native/build/Release
- run: npx vsce package
- name: Upload Extension Artifact
uses: actions/upload-artifact@v3
with:
name: escript-lsp-universal
path: escript-lsp-*.vsix
- name: Delete Temporary Artifact darwin-universal
uses: geekyeggo/delete-artifact@v2
with:
name: vscode-escript-native.darwin-universal
- name: Delete Temporary Artifact win32-x64
uses: geekyeggo/delete-artifact@v2
with:
name: vscode-escript-native.win32-x64
- name: Delete Temporary Artifact linux-x64
uses: geekyeggo/delete-artifact@v2
with:
name: vscode-escript-native.linux-x64