Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 59 additions & 14 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,13 @@ name: Build and Test

on:
push:
branches: [master]
# Run on all branches, but not on tags (release.yml handles tags)
branches:
- '**'
tags-ignore:
- '**'
pull_request:
branches: [master]
workflow_call:

permissions:
contents: read
Expand All @@ -15,13 +19,46 @@ jobs:
fail-fast: false
matrix:
include:
- os: windows-latest
# ── Windows x64 native ─────────────────────────────────────────────
- os: windows-2022
artifact-name: windows-x64-binaries
firebird-version: '5.0.3'
- os: windows-2022
firebird-branch: master

# ── Windows x86 native (WoW64) ─────────────────────────────────────
- os: windows-2022
artifact-name: windows-x86-binaries
arch: Win32
firebird-version: '5.0.3'
- os: windows-2022
arch: Win32
firebird-branch: master

# ── Windows ARM64 native ───────────────────────────────────────────
# Official Firebird releases have no win-arm64 binaries; snapshots do.
- os: windows-11-arm
artifact-name: windows-arm64-binaries
firebird-branch: master

# ── Linux x64 native ───────────────────────────────────────────────
- os: ubuntu-22.04
artifact-name: linux-x64-binaries
firebird-version: '5.0.3'
- os: ubuntu-22.04
firebird-branch: master

# ── Linux ARM64 native ─────────────────────────────────────────────
- os: ubuntu-22.04-arm
artifact-name: linux-arm64-binaries
firebird-version: '5.0.3'
- os: ubuntu-22.04-arm
firebird-branch: master

runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
fetch-depth: 0 # Full history for git-tag-based versioning

Expand All @@ -37,18 +74,26 @@ jobs:
shell: pwsh
env:
API_GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: Invoke-Build test -Configuration Release -File ./firebird-odbc-driver.build.ps1
FIREBIRD_VERSION: ${{ matrix.firebird-version }}
FIREBIRD_BRANCH: ${{ matrix.firebird-branch }}
run: |
$archArgs = @{}
if ('${{ matrix.arch }}') { $archArgs['Architecture'] = '${{ matrix.arch }}' }
Invoke-Build test -Configuration Release @archArgs -File ./firebird-odbc-driver.build.ps1

- name: Upload driver (Windows)
if: runner.os == 'Windows'
uses: actions/upload-artifact@v4
- name: Upload artifacts (Windows)
if: runner.os == 'Windows' && matrix.artifact-name
uses: actions/upload-artifact@v7
with:
name: FirebirdODBC-windows-x64
path: build/Release/FirebirdODBC.dll
name: ${{ matrix.artifact-name }}
path: |
build/Release/FirebirdODBC.dll
build/Release/FirebirdODBC.lib
build/Release/FirebirdODBC.pdb

- name: Upload driver (Linux)
if: runner.os == 'Linux'
uses: actions/upload-artifact@v4
- name: Upload artifacts (Linux)
if: runner.os == 'Linux' && matrix.artifact-name
uses: actions/upload-artifact@v7
with:
name: FirebirdODBC-linux-x64
name: ${{ matrix.artifact-name }}
path: build/libOdbcFb.so
116 changes: 0 additions & 116 deletions .github/workflows/msbuild.yml

This file was deleted.

96 changes: 0 additions & 96 deletions .github/workflows/msbuild_arm64.yaml

This file was deleted.

Loading