Final tweaks for v0.6.0 #48
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: Test the Install Action | |
on: | |
push: | |
branches: '*' | |
jobs: | |
documentation-example: | |
if: true | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./. | |
- run: mclient -d demo -s 'SELECT * FROM environment' | |
binary: | |
if: true | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest # intel, the include: setting maps this to the manylinux container | |
- ubuntu-24.04 # intel | |
- ubuntu-22.04 # intel | |
- ubuntu-20.04 # intel | |
- macos-13 # intel | |
#- macos-12 # intel; disabled because Homebrew builds monetdb from source there, which costs many extra actions minutes | |
- macos-15 # arm | |
- macos-14 # arm | |
- windows-2022 # intel | |
- windows-2019 # intel | |
include: | |
# the 'container' attribute is the string representation of the | |
# desired container: setting. Usually it's null which means | |
# 'no container' but for Linux we set it to manylinux_2_28. | |
- container: "null" | |
- os: ubuntu-latest | |
container: '{ "image": "quay.io/pypa/manylinux_2_28_x86_64" }' | |
runs-on: ${{ matrix.os }} | |
container: ${{ fromJSON(matrix.container) }} | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
path: action-checkout | |
- name: Run the action | |
id: thisaction | |
uses: ./action-checkout | |
- name: Check activity output parameters | |
run: | | |
ls "${{ steps.thisaction.outputs.prefix }}" | |
ls "${{ steps.thisaction.outputs.bindir }}/mclient${{ runner.os == 'Windows' && '.bat' || ''}}" | |
ls "${{ steps.thisaction.outputs.includedir }}/monetdbe.h" | |
ls "${{ steps.thisaction.outputs.libdir}}/${{ runner.os != 'Windows' && 'lib' || ''}}monetdbe.${{ runner.os == 'Windows' && 'lib' || steps.thisaction.outputs.dynsuffix }}" | |
- name: Test mclient --version | |
run: mclient --version | |
- name: Try to connect with pymonetdb | |
run: | | |
${{ runner.os == 'Windows' && 'python' || 'python3' }} -m venv "$RUNNER_TEMP"/venv | |
. "$RUNNER_TEMP/venv/${{ runner.os == 'Windows' && 'Scripts' || 'bin' }}/activate" | |
python -m pip install pymonetdb | |
python action-checkout/verify-with-pymonetdb.py monetdb:///demo --expect-version="${{ steps.thisaction.outputs.versionnumber }}" | |
shell: bash | |
binary-withversion: | |
if: true | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest # the include: setting maps this to the manylinux container | |
- ubuntu-24.04 | |
- windows-latest | |
# exclude macos-latest for now, our Homebrew only supports installing the latest | |
include: | |
# see above | |
- container: "null" | |
- os: ubuntu-latest | |
container: '{ "image": "quay.io/pypa/manylinux_2_28_x86_64" }' | |
env: | |
# Since Aug2024-SP1 (11.51.5) has been release, Aug2024 (11.51.3) is no | |
# longer the default version. | |
MDB_RELEASE: Aug2024 | |
EXPECTED_VERSION: 11.51.3 | |
runs-on: ${{ matrix.os }} | |
container: ${{ fromJSON(matrix.container) }} | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run the action with | |
id: thisaction | |
uses: ./. | |
with: | |
version: "${{ env.MDB_RELEASE }}" | |
- name: Quick version check | |
run: test "x${{ steps.thisaction.outputs.versionnumber }}" = "x${{ env.EXPECTED_VERSION }}" | |
shell: bash | |
- name: Try to connect with pymonetdb | |
run: | | |
${{ runner.os == 'Windows' && 'python' || 'python3' }} -m venv "$RUNNER_TEMP"/venv | |
. "$RUNNER_TEMP/venv/${{ runner.os == 'Windows' && 'Scripts' || 'bin' }}/activate" | |
python -m pip install pymonetdb | |
python verify-with-pymonetdb.py monetdb:///demo --expect-version="${{ steps.thisaction.outputs.versionnumber }}" | |
shell: bash | |