Skip to content

Commit eb7072b

Browse files
authored
Merge pull request #286 from fdcastel/new-installer
MSI installer, semantic versioning, and GitHub Releases
2 parents a2aee27 + b32168a commit eb7072b

32 files changed

+644
-2209
lines changed

.github/workflows/build-and-test.yml

Lines changed: 59 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@ name: Build and Test
22

33
on:
44
push:
5-
branches: [master]
5+
# Run on all branches, but not on tags (release.yml handles tags)
6+
branches:
7+
- '**'
8+
tags-ignore:
9+
- '**'
610
pull_request:
7-
branches: [master]
11+
workflow_call:
812

913
permissions:
1014
contents: read
@@ -15,13 +19,46 @@ jobs:
1519
fail-fast: false
1620
matrix:
1721
include:
18-
- os: windows-latest
22+
# ── Windows x64 native ─────────────────────────────────────────────
23+
- os: windows-2022
24+
artifact-name: windows-x64-binaries
25+
firebird-version: '5.0.3'
26+
- os: windows-2022
27+
firebird-branch: master
28+
29+
# ── Windows x86 native (WoW64) ─────────────────────────────────────
30+
- os: windows-2022
31+
artifact-name: windows-x86-binaries
32+
arch: Win32
33+
firebird-version: '5.0.3'
34+
- os: windows-2022
35+
arch: Win32
36+
firebird-branch: master
37+
38+
# ── Windows ARM64 native ───────────────────────────────────────────
39+
# Official Firebird releases have no win-arm64 binaries; snapshots do.
40+
- os: windows-11-arm
41+
artifact-name: windows-arm64-binaries
42+
firebird-branch: master
43+
44+
# ── Linux x64 native ───────────────────────────────────────────────
1945
- os: ubuntu-22.04
46+
artifact-name: linux-x64-binaries
47+
firebird-version: '5.0.3'
48+
- os: ubuntu-22.04
49+
firebird-branch: master
50+
51+
# ── Linux ARM64 native ─────────────────────────────────────────────
52+
- os: ubuntu-22.04-arm
53+
artifact-name: linux-arm64-binaries
54+
firebird-version: '5.0.3'
55+
- os: ubuntu-22.04-arm
56+
firebird-branch: master
2057

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

2360
steps:
24-
- uses: actions/checkout@v4
61+
- uses: actions/checkout@v6
2562
with:
2663
fetch-depth: 0 # Full history for git-tag-based versioning
2764

@@ -37,18 +74,26 @@ jobs:
3774
shell: pwsh
3875
env:
3976
API_GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
40-
run: Invoke-Build test -Configuration Release -File ./firebird-odbc-driver.build.ps1
77+
FIREBIRD_VERSION: ${{ matrix.firebird-version }}
78+
FIREBIRD_BRANCH: ${{ matrix.firebird-branch }}
79+
run: |
80+
$archArgs = @{}
81+
if ('${{ matrix.arch }}') { $archArgs['Architecture'] = '${{ matrix.arch }}' }
82+
Invoke-Build test -Configuration Release @archArgs -File ./firebird-odbc-driver.build.ps1
4183
42-
- name: Upload driver (Windows)
43-
if: runner.os == 'Windows'
44-
uses: actions/upload-artifact@v4
84+
- name: Upload artifacts (Windows)
85+
if: runner.os == 'Windows' && matrix.artifact-name
86+
uses: actions/upload-artifact@v7
4587
with:
46-
name: FirebirdODBC-windows-x64
47-
path: build/Release/FirebirdODBC.dll
88+
name: ${{ matrix.artifact-name }}
89+
path: |
90+
build/Release/FirebirdODBC.dll
91+
build/Release/FirebirdODBC.lib
92+
build/Release/FirebirdODBC.pdb
4893
49-
- name: Upload driver (Linux)
50-
if: runner.os == 'Linux'
51-
uses: actions/upload-artifact@v4
94+
- name: Upload artifacts (Linux)
95+
if: runner.os == 'Linux' && matrix.artifact-name
96+
uses: actions/upload-artifact@v7
5297
with:
53-
name: FirebirdODBC-linux-x64
98+
name: ${{ matrix.artifact-name }}
5499
path: build/libOdbcFb.so

.github/workflows/msbuild.yml

Lines changed: 0 additions & 116 deletions
This file was deleted.

.github/workflows/msbuild_arm64.yaml

Lines changed: 0 additions & 96 deletions
This file was deleted.

0 commit comments

Comments
 (0)