CI/CD - Build accdb/accde from source (msaccess-vcs exports)
Thanks to Martin Leduc (DecimalTurn) for VBA-Build, which was a great reference.
inputs:
source-dir:
description: 'msaccess-vcs source folder'
required: false
default: 'source'
target-dir:
description: 'target dir for binary file'
required: false
default: ''
compile:
description: 'create accde file'
required: false
default: false
vcs-url:
description: 'msaccess-vcs release url'
required: false
default: 'https://api.github.com/repos/josef-poetzl/msaccess-vcs-addin/releases/latest'
# remove to 'https://api.github.com/repos/joyfullservice/msaccess-vcs-addin/releases/latest' if Commit db07ef2 released
Example call:
jobs:
build:
runs-on: [self-hosted, Windows, Office]
steps:
- ...
- name: "Build Access file (accdb/accde)"
id: build_access_file
uses: AccessCodeLib/msaccess-vcs-build@main
with:
source-dir: "./Version Control.accda.src"
target-dir: "bin"
compile: "false"
vcs-url: "https://api.github.com/repos/josef-poetzl/msaccess-vcs-addin/releases/tags/v4.1.2-build"
- josef-poetzl/msaccess-vcs-addin: Build-self-hosted (on release)
- AccessCodeLib/BuildAccdeExample: Build-self-hosted-O64
- AccessCodeLib/BuildAccdeExample: Build-self-hosted-O64-O32: call 64 and 32 runner to get 32 and 64 bit accde
Install Office with the appropriate bit version and license
- Pre-install msaccess-vcs and set the vcs-url parameter to “”.
- Set the required Trusted Locations
You can also run the Runner on your own developer PC for testing purposes.
It is also possible to use only the PowerShell scripts to execute the build process locally.
- [string]$SourceDir = "", # empty use parameter SourceFile, don't use msaccess-vcs
- [string]$SourceFile = "", # empty = name from vcs options
- [string]$TargetDir = "", # Folder for output file, default (empty): current folder
- [string]$Compile = 'false', # Default to "false" if not specified
- [string]$AppConfigFile = "", # Default "" => don't change database properties etc.
- [string]$vcsUrl = "https://api.github.com/repos/josef-poetzl/msaccess-vcs-addin/releases/latest", # empty = don't install msacess-vcs
- [string]$SetTrustedLocation = 'true' # set trusted location for current folder
.\Build.ps1 -SourceDir "source" -Compile $true -AppConfigFile ".\Application-Config.json"
Steps:
- download msacesss-vcs
- build accdb from source (use file name from msaccess-vcs property file)
- compile accdb to accde
- config accde with settings from Application-Config.json
.\Build.ps1 -SourceFile "Test.accdb" -Compile $true -AppConfigFile ".\Application-Config.json"
Steps:
- compile Test.accdb to Test.accde
- config accde with settings from Application-Config.json