Split packaging from Linux build in CI #159
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |