Skip to content

swig-rb-x64-mswin64: { "dependencies": "swig=3.0.12 py3c=v1.4 apr=1.7.5 apr-util=1.6.3 httpd=2.4.62 serf=1.3.10 junit=4.13.2", "name": "swig-rb-x64-mswin64", "os": "windows-2022", "subversion": "jun66j5/subversion@swig-rb-x64-mswin64", "targets": "swig-rb" } #170

swig-rb-x64-mswin64: { "dependencies": "swig=3.0.12 py3c=v1.4 apr=1.7.5 apr-util=1.6.3 httpd=2.4.62 serf=1.3.10 junit=4.13.2", "name": "swig-rb-x64-mswin64", "os": "windows-2022", "subversion": "jun66j5/subversion@swig-rb-x64-mswin64", "targets": "swig-rb" }

swig-rb-x64-mswin64: { "dependencies": "swig=3.0.12 py3c=v1.4 apr=1.7.5 apr-util=1.6.3 httpd=2.4.62 serf=1.3.10 junit=4.13.2", "name": "swig-rb-x64-mswin64", "os": "windows-2022", "subversion": "jun66j5/subversion@swig-rb-x64-mswin64", "targets": "swig-rb" } #170

Workflow file for this run

---
name: Run tests
run-name: "${{ inputs.name }}: ${{ toJSON(inputs) }}"
on:
workflow_dispatch:
inputs:
name:
description: 'Name'
required: true
type: string
default: 'Run tests'
os:
description: 'Runs on'
required: false
type: string
default: 'ubuntu-22.04 macos-14 windows-2022'
targets:
description: 'Test targets'
required: false
type: string
default: 'core swig-py swig-pl swig-rb javahl'
subversion:
description: 'Subversion (owner/repo@ref | version | URL-to-tarball)'
required: true
default: 'apache/subversion@trunk'
dependencies:
required: true
default: 'swig=3.0.12 py3c=v1.4 apr=1.7.5 apr-util=1.6.3 httpd=2.4.62 serf=1.3.10 junit=4.13.2'
jobs:
setup:
runs-on: ubuntu-latest
timeout-minutes: 15
outputs:
ubuntu: ${{ steps.convert.outputs.ubuntu }}
macos: ${{ steps.convert.outputs.macos }}
windows: ${{ steps.convert.outputs.windows }}
targets: ${{ steps.convert.outputs.targets }}
subversion: ${{ steps.convert.outputs.subversion }}
dependencies: ${{ steps.convert.outputs.dependencies }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Convert inputs to json outputs
id: convert
env:
INPUTS: ${{ toJSON(inputs) }}
run: ./convert.sh
- name: Cache Subversion archives
if: ${{ steps.convert.outputs.subversion &&
fromJson(steps.convert.outputs.subversion).archive }}
uses: actions/cache@v4
with:
path: arc
enableCrossOsArchive: true
key: arc-svn-${{ fromJson(steps.convert.outputs.subversion).archive }}
restore-keys: |
arc-svn-${{ fromJson(steps.convert.outputs.subversion).archive }}
arc-svn-
- name: Cache SWIG archives
if: ${{ contains(fromJson(steps.convert.outputs.targets), 'swig-pl') ||
contains(fromJson(steps.convert.outputs.targets), 'swig-py') ||
contains(fromJson(steps.convert.outputs.targets), 'swig-rb') }}
uses: actions/cache@v4
with:
path: arc
enableCrossOsArchive: true
key: arc-swig-${{ fromJson(steps.convert.outputs.dependencies).swig }}
restore-keys: |
arc-swig-${{ fromJson(steps.convert.outputs.dependencies).swig }}
arc-swig-
- name: Cache junit jar file
if: ${{ contains(fromJson(steps.convert.outputs.targets), 'javahl') }}
uses: actions/cache@v4
with:
path: arc
enableCrossOsArchive: true
key: arc-junit-${{ fromJson(steps.convert.outputs.dependencies).junit }}
restore-keys: |
arc-junit-${{ fromJson(steps.convert.outputs.dependencies).junit }}
arc-junit-
- name: Download Subversion archives
if: ${{ steps.convert.outputs.subversion &&
fromJson(steps.convert.outputs.subversion).archive }}
env:
SVNARC: ${{ fromJson(steps.convert.outputs.subversion).archive }}
SVNARC_NETRC: ${{ secrets.SVNARC_NETRC }}
run: |
set -ex
/bin/sh -c 'data="$SVNARC_NETRC"; test -n "$data" && echo -n "$data" | base64 -d - >"$HOME/.netrc"'
test -d arc || mkdir arc
wget -nv -N -P arc "$SVNARC" "${SVNARC%.tar.bz2}.zip"
rm -rf "$HOME/.netrc"
- name: Download SWIG archives
if: ${{ contains(fromJson(steps.convert.outputs.targets), 'swig-pl') ||
contains(fromJson(steps.convert.outputs.targets), 'swig-py') ||
contains(fromJson(steps.convert.outputs.targets), 'swig-rb') }}
env:
SWIG_VER: ${{ fromJson(steps.convert.outputs.dependencies).swig }}
run: |
set -ex
prefix='https://prdownloads.sourceforge.net/swig'
swig_tar="$prefix/swig-$SWIG_VER.tar.gz"
swig_zip="$prefix/swigwin-$SWIG_VER.zip"
test -d arc || mkdir arc
wget -nv -N -P arc "$swig_tar" "$swig_zip"
- name: Download junit jar file
if: ${{ contains(fromJson(steps.convert.outputs.targets), 'javahl') }}
env:
JUNIT_VER: ${{ fromJson(steps.convert.outputs.dependencies).junit }}
run: |
set -ex
junit_url="https://repo1.maven.org/maven2/junit/junit/$JUNIT_VER/junit-$JUNIT_VER.jar"
test -d arc || mkdir arc
wget -nv -N -P arc "$junit_url"
ubuntu:
if: ${{ needs.setup.outputs.ubuntu != '[]' }}
needs: setup
uses: ./.github/workflows/test-ubuntu.yml
secrets: inherit
with:
targets: ${{ needs.setup.outputs.targets }}
os: ${{ needs.setup.outputs.ubuntu }}
subversion: ${{ needs.setup.outputs.subversion }}
dependencies: ${{ needs.setup.outputs.dependencies }}
macos:
if: ${{ needs.setup.outputs.macos != '[]' }}
needs: setup
uses: ./.github/workflows/test-macos.yml
secrets: inherit
with:
targets: ${{ needs.setup.outputs.targets }}
os: ${{ needs.setup.outputs.macos }}
subversion: ${{ needs.setup.outputs.subversion }}
dependencies: ${{ needs.setup.outputs.dependencies }}
windows:
if: ${{ needs.setup.outputs.windows != '[]' }}
needs: setup
uses: ./.github/workflows/test-windows.yml
secrets: inherit
with:
targets: ${{ needs.setup.outputs.targets }}
os: ${{ needs.setup.outputs.windows }}
subversion: ${{ needs.setup.outputs.subversion }}
dependencies: ${{ needs.setup.outputs.dependencies }}