Skip to content

Workflow file for this run

name: Create Release
on:
push:
tags: ["v*"]
jobs:
build-matrix:
strategy:
matrix:
node-version:
- 18.x
os:
- windows-latest
- ubuntu-latest
- macos-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Install Build Dependencies
if: ${{ startsWith(matrix.os, 'macos') }}
- name: Upgrade NPM
run: npm install -g npm
- name: Install node-gyp
run: npm install -g node-gyp
- name: Install npm dependencies
run: npm ci --production
run: brew install unixodbc
- name: Build Binary
run: ./node_modules/.bin/node-pre-gyp rebuild --production
- name: Package Binary
run: ./node_modules/.bin/node-pre-gyp package
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.os }}-binaries
path: build/stage/*.tar.gz
create-release:
runs-on: ubuntu-latest
needs: build-matrix
steps:
- uses: actions/checkout@v2
- name: get-npm-version
id: package-version
run: jq -r '"version=" + .version' package.json >> "$GITHUB_OUTPUT"
# Download all of the various binaries that were created
- name: Download built binaries from workflow
uses: actions/download-artifact@v3
- name: Create Release
id: create_release
uses: softprops/action-gh-release@v2
with:
draft: true
prerelease: true
name: ${{ steps.package-version.outputs.version }}
generate_release_notes: true
fail_on_unmatched_files: true
files:
./*-binaries/odbc-*.tar.gz