chore: bump version and improve release workflow #342
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: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup repo | |
uses: actions/checkout@v2 | |
- name: Setup Deno | |
uses: denoland/setup-deno@main | |
with: | |
deno-version: 'v1.x' | |
- name: Check Formatting | |
run: deno fmt --check --ignore=sqlite | |
- name: Lint | |
run: deno lint --ignore=sqlite | |
cross-build-linux-aarch64: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Setup repo | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Setup Deno | |
uses: denoland/setup-deno@main | |
with: | |
deno-version: 'v1.x' | |
- name: Install Dependencies | |
run: | | |
sudo apt update | |
sudo apt install gcc-9-aarch64-linux-gnu | |
- name: Build | |
env: | |
CC: aarch64-linux-gnu-gcc-9 | |
TARGET_ARCH: aarch64 | |
run: deno task build | |
- name: Release | |
if: ${{ github.ref == 'refs/heads/main' }} | |
uses: softprops/action-gh-release@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: "Release Draft" | |
draft: true | |
files: | | |
build/libsqlite3_aarch64.so | |
test: | |
strategy: | |
matrix: | |
os: [ubuntu-20.04, windows-2022, macos-14] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Install Deno | |
uses: denoland/setup-deno@main | |
with: | |
deno-version: 'v1.x' | |
- name: Setup MSVC Dev Env | |
if: matrix.os == 'windows-2022' | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Build sqlite3 (windows, linux) | |
if: matrix.os != 'macos-14' | |
env: | |
TARGET_ARCH: x86_64 | |
CC: | |
run: deno task build | |
- name: Build sqlite3 (macos-x86_64) | |
if: matrix.os == 'macos-14' | |
env: | |
TARGET_ARCH: x86_64 | |
CC: clang -arch x86_64 | |
run: deno task build | |
- name: Build sqlite3 (macos-aarch64) | |
if: matrix.os == 'macos-14' | |
env: | |
TARGET_ARCH: aarch64 | |
CC: clang -arch arm64 | |
run: deno task build | |
- name: Run Tests | |
env: | |
DENO_SQLITE_LOCAL: 1 | |
run: deno task test | |
- name: Release | |
if: ${{ github.ref == 'refs/heads/main' }} | |
uses: softprops/action-gh-release@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: "Release Draft" | |
draft: true | |
files: | | |
build/libsqlite3.so | |
build/libsqlite3.dylib | |
build/libsqlite3_aarch64.dylib | |
build/sqlite3.dll |