diff --git a/.github/workflows/analyzers.yml b/.github/workflows/analyzers.yml index 83d10cfb6..7e31ba05d 100644 --- a/.github/workflows/analyzers.yml +++ b/.github/workflows/analyzers.yml @@ -44,11 +44,11 @@ jobs: - name: TinyORM prepare environment run: | - runnerWorkPath=$(realpath '${{ runner.workspace }}/..') + runnerWorkPath=$(realpath "$RUNNER_WORKSPACE/..") echo "TinyRunnerWorkPath=$runnerWorkPath" >> $GITHUB_ENV # Starts with the merydeye- - [[ "${{ runner.name }}" == 'merydeye-'* ]] && isSelfHostedRunner='true' || isSelfHostedRunner='false' + [[ "$RUNNER_NAME" == 'merydeye-'* ]] && isSelfHostedRunner='true' || isSelfHostedRunner='false' echo "TinyIsSelfHostedRunner=$isSelfHostedRunner" >> $GITHUB_ENV # Parallel 4 ISN't maximum but because this workflow runs hours I will use parallel 4 to be @@ -68,7 +68,7 @@ jobs: tinyormBuildFolder="build-$tinyormBuildName" echo "TinyORMBuildFolder=$tinyormBuildFolder" >> $GITHUB_ENV - tinyormBuildTree="${{ runner.workspace }}/TinyORM-builds-cmake/$tinyormBuildFolder" + tinyormBuildTree="$RUNNER_WORKSPACE/TinyORM-builds-cmake/$tinyormBuildFolder" echo "TinyORMBuildTree=$tinyormBuildTree" >> $GITHUB_ENV - name: Test self-hosted runner @@ -86,7 +86,7 @@ jobs: # Don't use the default CCACHE_DIR path on self-hosted runners - name: Ccache prepare environment run: | - ccacheDirPath=$(realpath '${{ runner.workspace }}/ccache') + ccacheDirPath=$(realpath "$RUNNER_WORKSPACE/ccache") echo "CCACHE_DIR=$ccacheDirPath" >> $GITHUB_ENV - name: Ccache prepare configuration 🥳 @@ -111,11 +111,11 @@ jobs: run: | echo "VCPKG_ROOT=$VCPKG_INSTALLATION_ROOT" >> $GITHUB_ENV echo 'VCPKG_DEFAULT_TRIPLET=x64-linux-dynamic' >> $GITHUB_ENV - echo 'VCPKG_MAX_CONCURRENCY=${{ env.TinyParallel }}' >> $GITHUB_ENV + echo "VCPKG_MAX_CONCURRENCY=$TinyParallel" >> $GITHUB_ENV - name: vcpkg needs upgrade? (once per day) run: | - vcpkgUpgradedAtFilepath='${{ runner.workspace }}/.vcpkg_upgraded_at' + vcpkgUpgradedAtFilepath="$RUNNER_WORKSPACE/.vcpkg_upgraded_at" if [ ! -f "$vcpkgUpgradedAtFilepath" ] || [ ! -r "$vcpkgUpgradedAtFilepath" ] || \ ! read datePreviousUpgradeRaw < "$vcpkgUpgradedAtFilepath" @@ -148,7 +148,7 @@ jobs: ./bootstrap-vcpkg.sh - date +%Y-%m-%d > '${{ runner.workspace }}/.vcpkg_upgraded_at' + date +%Y-%m-%d > "$RUNNER_WORKSPACE/.vcpkg_upgraded_at" - name: ${{ matrix.qt.name }} prepare environment run: | @@ -193,7 +193,7 @@ jobs: cmake --log-level=DEBUG --log-context -S . - -B '${{ env.TinyORMBuildTree }}' + -B "$TinyORMBuildTree" -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache -D CMAKE_CXX_COMPILER:FILEPATH=clang++-18 @@ -219,7 +219,7 @@ jobs: - name: TinyORM cmake build ✨ (${{ env.TinyORMBuildName }}) working-directory: ${{ env.TinyORMBuildTree }} run: >- - cmake --build . --target all --parallel ${{ env.TinyParallel }} + cmake --build . --target all --parallel $TinyParallel - name: Ccache print statistics run: | @@ -232,8 +232,8 @@ jobs: run-clang-tidy -extra-arg-before='-Qunused-arguments' - -p='${{ env.TinyORMBuildTree }}' - -j ${{ env.TinyParallel }} + -p="$TinyORMBuildTree" + -j $TinyParallel '[\\\/]+(?:drivers|examples|orm|src|tests|tom)[\\\/]+.+?[\\\/]+(?!mocs_)[\w\d_\-\+]+\.cpp$' # Disabled checks @@ -265,6 +265,6 @@ jobs: -checks="$checks" \ -extra-arg-before='-Qunused-arguments' \ -header-filter='[\\\/]+(drivers|examples|orm|tests|tom)[\\\/]+.+\.(h|hpp)$' \ - -j ${{ env.TinyParallel }} \ - -p='${{ env.TinyORMBuildTree }}' \ + -j $TinyParallel \ + -p="$TinyORMBuildTree" \ '[\\\/]+(?:drivers|examples|orm|src|tests|tom)[\\\/]+.+?[\\\/]+(?!mocs_)[\w\d_\-\+]+\.cpp$' diff --git a/.github/workflows/clang-cl-qt6.yml b/.github/workflows/clang-cl-qt6.yml index 6b6f7e91d..2dd959247 100644 --- a/.github/workflows/clang-cl-qt6.yml +++ b/.github/workflows/clang-cl-qt6.yml @@ -38,7 +38,7 @@ jobs: - name: TinyORM prepare environment run: | - $runnerWorkPath = Resolve-Path -Path '${{ runner.workspace }}/..' + $runnerWorkPath = Resolve-Path -Path "$env:RUNNER_WORKSPACE/.." "TinyRunnerWorkPath=$runnerWorkPath" >> $env:GITHUB_ENV $sqlitePath = Join-Path -Path $runnerWorkPath -ChildPath "SQLite/$env:DB_SQLITE_DATABASE" @@ -70,7 +70,7 @@ jobs: - name: PostgreSQL SSL certificates initialize id: openssl-initialize-postgresql-certificates run: | - $folderPath = Join-Path -Path '${{ env.TinyRunnerWorkPath }}' ` + $folderPath = Join-Path -Path $env:TinyRunnerWorkPath ` -ChildPath 'tiny-postgresql-certificates' # Create an empty folder for generating certificates @@ -261,15 +261,15 @@ jobs: - name: MySQL create data folder run: | - New-Item -Type Directory '${{ env.TinyMySQLDataPath }}' + New-Item -Type Directory $env:TinyMySQLDataPath - name: MySQL initialize my.ini configuration working-directory: .github/resources/windows run: >- (Get-Content -Path ./my_8_ssl.template.ini) -creplace - '\{MYSQL_DATADIR\}', '${{ env.TinyMySQLDataPath }}' -creplace + '\{MYSQL_DATADIR\}', $env:TinyMySQLDataPath -creplace '\{MYSQL_HOST\}', $env:DB_MYSQL_HOST | - Set-Content -Path '${{ env.TinyMySQLInstallationPath }}/my.ini' + Set-Content -Path "$env:TinyMySQLInstallationPath/my.ini" env: DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST_SSL }} @@ -297,7 +297,7 @@ jobs: - name: MySQL SSL certificates initialize id: openssl-initialize-mysql-certificates run: | - $folderPath = Join-Path -Path '${{ env.TinyRunnerWorkPath }}' ` + $folderPath = Join-Path -Path $env:TinyRunnerWorkPath ` -ChildPath 'tiny-mysql-certificates' # Create an empty folder for generating certificates @@ -385,17 +385,15 @@ jobs: working-directory: ${{ steps.openssl-initialize-mysql-certificates.outputs.FolderPath }} run: | Write-Output '::group::Install CA certificate' - Move-Item -Path ./ca.pem -Destination '${{ env.TinyMySQLDataPath }}' + Move-Item -Path ./ca.pem -Destination $env:TinyMySQLDataPath Write-Output '::endgroup::' Write-Output '::group::Install server certificates' - Move-Item -Path ./server-cert.pem, ./server-key.pem ` - -Destination '${{ env.TinyMySQLDataPath }}' + Move-Item -Path ./server-cert.pem, ./server-key.pem -Destination $env:TinyMySQLDataPath Write-Output '::endgroup::' Write-Output '::group::Install client certificates' - Move-Item -Path ./client-cert.pem, ./client-key.pem ` - -Destination '${{ env.TinyMySQLDataPath }}' + Move-Item -Path ./client-cert.pem, ./client-key.pem -Destination $env:TinyMySQLDataPath Write-Output '::endgroup::' - name: MySQL service install/start @@ -411,8 +409,8 @@ jobs: run: >- "alter user '$env:DB_MYSQL_ROOT_USERNAME'@'localhost' identified with caching_sha2_password by '$env:DB_MYSQL_ROOT_PASSWORD' - require issuer '${{ env.DB_MYSQL_SSL_SUBJECT_CA }}' and - subject '${{ env.DB_MYSQL_SSL_SUBJECT_CLIENT }}';" | + require issuer '$env:DB_MYSQL_SSL_SUBJECT_CA' and + subject '$env:DB_MYSQL_SSL_SUBJECT_CLIENT';" | mysql.exe --user=$env:DB_MYSQL_ROOT_USERNAME --password=$($env:secured_password | ConvertTo-SecureString | ConvertFrom-SecureString -AsPlainText) @@ -430,12 +428,12 @@ jobs: $filename = (Split-Path -Path $env:URL_MYSQL_TIMEZONE_TABLES -Leaf) "Filename=$filename" >> $env:GITHUB_OUTPUT - $filepath = Join-Path -Path ${{ runner.temp }} -ChildPath $filename + $filepath = Join-Path -Path $env:RUNNER_TEMP -ChildPath $filename "Filepath=$filepath" >> $env:GITHUB_OUTPUT $basename = Split-Path -Path $filename -LeafBase - $extractedFolder = Join-Path -Path ${{ runner.temp }} -ChildPath $basename + $extractedFolder = Join-Path -Path $env:RUNNER_TEMP -ChildPath $basename "ExtractedFolder=$extractedFolder" >> $env:GITHUB_OUTPUT "Hash=$basename" >> $env:GITHUB_OUTPUT @@ -461,7 +459,7 @@ jobs: Select-Object -ExpandProperty Content | Set-Content -Path $env:archive_filepath -AsByteStream - 7z.exe x -y -o'${{ runner.temp }}' "$env:archive_filepath" + 7z.exe x -y -o"$env:RUNNER_TEMP" $env:archive_filepath env: archive_filepath: ${{ steps.downloads-initialize-mysql-timezone-tables.outputs.Filepath }} URL_MYSQL_TIMEZONE_TABLES: ${{ secrets.URL_MYSQL_TIMEZONE_TABLES }} @@ -520,8 +518,8 @@ jobs: run: >- "create user '$env:DB_MYSQL_USERNAME'@'%' identified with caching_sha2_password by '$env:DB_MYSQL_PASSWORD' - require issuer '${{ env.DB_MYSQL_SSL_SUBJECT_CA }}' and - subject '${{ env.DB_MYSQL_SSL_SUBJECT_CLIENT }}'; + require issuer '$env:DB_MYSQL_SSL_SUBJECT_CA' and + subject '$env:DB_MYSQL_SSL_SUBJECT_CLIENT'; grant all privileges on ``tinyorm\_%``.* to '$env:DB_MYSQL_USERNAME'@'%'; grant select on ``mysql``.``time_zone_name`` to '$env:DB_MYSQL_USERNAME'@'%'; flush privileges;" | @@ -536,16 +534,16 @@ jobs: - name: MySQL add libmysql.dll on the $env:Path, INCLUDE, and LIB run: | - '${{ env.TinyMySQLInstallationPath }}\lib' >> $env:GITHUB_PATH + "$env:TinyMySQLInstallationPath\lib" >> $env:GITHUB_PATH # Needed by the lastest FindMySQL.cmake module, it stopped working without this - 'INCLUDE=${{ env.TinyMySQLInstallationPath }}\include' >> $env:GITHUB_ENV - 'LIB=${{ env.TinyMySQLInstallationPath }}\lib' >> $env:GITHUB_ENV + "INCLUDE=$env:TinyMySQLInstallationPath\include" >> $env:GITHUB_ENV + "LIB=$env:TinyMySQLInstallationPath\lib" >> $env:GITHUB_ENV - name: SQLite create TinyORM database run: | - New-Item -Type Directory (Split-Path -Parent -Path '${{ env.TinySQLitePath }}') + New-Item -Type Directory (Split-Path -Parent -Path $env:TinySQLitePath) - New-Item -Type File -Path '${{ env.TinySQLitePath }}' + New-Item -Type File -Path $env:TinySQLitePath - name: Print MySQL, PostgreSQL database versions run: | @@ -609,7 +607,7 @@ jobs: -QtRootPath (Get-Item -Path $env:QT_PLUGIN_PATH).Parent.Parent.Parent -QtVersion $env:TINY_QT_VERSION -QtSpec $env:TINY_QT_SPEC -MySQLServerPath $env:TinyMySQLInstallationPath - -BuildPath '${{ runner.workspace }}' + -BuildPath $env:RUNNER_WORKSPACE - name: Cache LLVM and Clang id: llvm-cache diff --git a/.github/workflows/linux-qt5.yml b/.github/workflows/linux-qt5.yml index 042daecf4..1ee27b589 100644 --- a/.github/workflows/linux-qt5.yml +++ b/.github/workflows/linux-qt5.yml @@ -34,7 +34,7 @@ jobs: - name: TinyORM prepare environment run: | - runnerWorkPath=$(realpath '${{ runner.workspace }}/..') + runnerWorkPath=$(realpath "$RUNNER_WORKSPACE/..") echo "TinyRunnerWorkPath=$runnerWorkPath" >> $GITHUB_ENV sqlitePath="$runnerWorkPath/SQLite/$DB_SQLITE_DATABASE" @@ -154,9 +154,9 @@ jobs: - name: SQLite create TinyORM database run: | - mkdir --parents "$(dirname '${{ env.TinySQLitePath }}')" + mkdir --parents "$(dirname "$TinySQLitePath")" - touch '${{ env.TinySQLitePath }}' + touch "$TinySQLitePath" - name: Print MySQL, SQLite, PostgreSQL database versions run: | diff --git a/.github/workflows/linux-qt6-drivers.yml b/.github/workflows/linux-qt6-drivers.yml index 99d94382a..6e665081f 100644 --- a/.github/workflows/linux-qt6-drivers.yml +++ b/.github/workflows/linux-qt6-drivers.yml @@ -77,7 +77,7 @@ jobs: - name: TinyORM prepare environment run: | - runnerWorkPath=$(realpath '${{ runner.workspace }}/..') + runnerWorkPath=$(realpath "$RUNNER_WORKSPACE/..") echo "TinyRunnerWorkPath=$runnerWorkPath" >> $GITHUB_ENV # Parallel gcc to 3 and clang to 8 is maximum what my computer allows but I decided to use @@ -104,7 +104,7 @@ jobs: tinyormBuildFolder="build-$tinyormBuildName" echo "TinyORMBuildFolder=$tinyormBuildFolder" >> $GITHUB_ENV - tinyormBuildTree="${{ runner.workspace }}/TinyORM-builds-cmake/$tinyormBuildFolder" + tinyormBuildTree="$RUNNER_WORKSPACE/TinyORM-builds-cmake/$tinyormBuildFolder" echo "TinyORMBuildTree=$tinyormBuildTree" >> $GITHUB_ENV - name: MySQL service check status @@ -123,7 +123,7 @@ jobs: # Don't use the default CCACHE_DIR path on self-hosted runners - name: Ccache prepare environment run: | - ccacheDirPath='${{ runner.workspace }}/ccache' + ccacheDirPath="$RUNNER_WORKSPACE/ccache" echo "CCACHE_DIR=$ccacheDirPath" >> $GITHUB_ENV # I'm managing the ccache configuration manually on self-hosted runners using the ccache.conf @@ -143,11 +143,11 @@ jobs: run: | echo "VCPKG_ROOT=$VCPKG_INSTALLATION_ROOT" >> $GITHUB_ENV echo 'VCPKG_DEFAULT_TRIPLET=x64-linux-dynamic' >> $GITHUB_ENV - echo 'VCPKG_MAX_CONCURRENCY=${{ env.TinyParallel }}' >> $GITHUB_ENV + echo "VCPKG_MAX_CONCURRENCY=$TinyParallel" >> $GITHUB_ENV - name: vcpkg needs upgrade? (once per day) run: | - vcpkgUpgradedAtFilepath='${{ runner.workspace }}/.vcpkg_upgraded_at' + vcpkgUpgradedAtFilepath="$RUNNER_WORKSPACE/.vcpkg_upgraded_at" if [ ! -f "$vcpkgUpgradedAtFilepath" ] || [ ! -r "$vcpkgUpgradedAtFilepath" ] || \ ! read datePreviousUpgradeRaw < "$vcpkgUpgradedAtFilepath" @@ -180,7 +180,7 @@ jobs: ./bootstrap-vcpkg.sh - date +%Y-%m-%d > '${{ runner.workspace }}/.vcpkg_upgraded_at' + date +%Y-%m-%d > "$RUNNER_WORKSPACE/.vcpkg_upgraded_at" - name: CMake print version run: | @@ -202,7 +202,7 @@ jobs: - name: TinyORM create build folder (${{ env.TinyORMBuildName }}) run: | - mkdir --parents '${{ env.TinyORMBuildTree }}' + mkdir --parents "$TinyORMBuildTree" - name: Ccache clear statistics run: | @@ -217,7 +217,7 @@ jobs: cmake --log-level=DEBUG --log-context -S . - -B '${{ env.TinyORMBuildTree }}' + -B "$TinyORMBuildTree" -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache -D CMAKE_CXX_COMPILER:FILEPATH=${{ matrix.compiler.command }} @@ -242,7 +242,7 @@ jobs: - name: TinyORM cmake build ✨ (${{ env.TinyORMBuildName }}) working-directory: ${{ env.TinyORMBuildTree }} run: | - cmake --build . --target all --parallel ${{ env.TinyParallel }} + cmake --build . --target all --parallel $TinyParallel - name: Ccache print statistics run: | @@ -318,8 +318,8 @@ jobs: if: matrix.compiler.key == 'gcc14' && matrix.drivers-type == 'Static' && matrix.build-type.key == 'release' working-directory: ${{ env.TinyORMBuildTree }}/tests/testdata_tom run: | - mkdir -p '${{ runner.workspace }}/.local/bin' - cp --force --target-directory='${{ runner.workspace }}/.local/bin' ./tom_testdata + mkdir -p "$RUNNER_WORKSPACE/.local/bin" + cp --force --target-directory="$RUNNER_WORKSPACE/.local/bin" ./tom_testdata # The reason for this is the concurrency:group: can contain only two in_progress workflows, # one will be in_progress and the second will be queued (waiting until the first finish), @@ -337,7 +337,7 @@ jobs: --jq '.[] | select (.path | endswith("/vcpkg-linux.yml")) | .state') if [ $? -eq 0 ] && [[ "$workflowState" == 'active' ]]; then - gh workflow run vcpkg-linux.yml --ref ${{ github.ref_name }} + gh workflow run vcpkg-linux.yml --ref "$GITHUB_REF_NAME" fi env: GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/linux-qt6.yml b/.github/workflows/linux-qt6.yml index 8783c274f..35f1d06e7 100644 --- a/.github/workflows/linux-qt6.yml +++ b/.github/workflows/linux-qt6.yml @@ -43,7 +43,7 @@ jobs: - name: TinyORM prepare environment run: | - runnerWorkPath=$(realpath '${{ runner.workspace }}/..') + runnerWorkPath=$(realpath "$RUNNER_WORKSPACE/..") echo "TinyRunnerWorkPath=$runnerWorkPath" >> $GITHUB_ENV sqlitePath="$runnerWorkPath/SQLite/$DB_SQLITE_DATABASE" @@ -90,7 +90,7 @@ jobs: - name: PostgreSQL SSL certificates initialize id: openssl-initialize-postgresql-certificates run: | - folderPath='${{ env.TinyRunnerWorkPath }}/tiny-postgresql-certificates' + folderPath="$TinyRunnerWorkPath/tiny-postgresql-certificates" # Create an empty folder for generating certificates sudo mkdir "$folderPath" @@ -311,7 +311,7 @@ jobs: - name: MySQL SSL certificates initialize id: openssl-initialize-mysql-certificates run: | - folderPath='${{ env.TinyRunnerWorkPath }}/tiny-mysql-certificates' + folderPath="$TinyRunnerWorkPath/tiny-mysql-certificates" # Create an empty folder for generating certificates sudo mkdir "$folderPath" @@ -514,9 +514,9 @@ jobs: - name: SQLite create TinyORM database run: | - mkdir --parents "$(dirname '${{ env.TinySQLitePath }}')" + mkdir --parents "$(dirname "$TinySQLitePath")" - touch '${{ env.TinySQLitePath }}' + touch "$TinySQLitePath" - name: Print MySQL, SQLite, PostgreSQL database versions run: | diff --git a/.github/workflows/msvc2019-qt5.yml b/.github/workflows/msvc2019-qt5.yml index 4497083f5..1d360bbd1 100644 --- a/.github/workflows/msvc2019-qt5.yml +++ b/.github/workflows/msvc2019-qt5.yml @@ -23,7 +23,7 @@ jobs: - name: TinyORM prepare environment run: | - $runnerWorkPath = Resolve-Path -Path '${{ runner.workspace }}/..' + $runnerWorkPath = Resolve-Path -Path "$env:RUNNER_WORKSPACE/.." "TinyRunnerWorkPath=$runnerWorkPath" >> $env:GITHUB_ENV $sqlitePath = Join-Path -Path $runnerWorkPath -ChildPath "SQLite/$env:DB_SQLITE_DATABASE" @@ -82,15 +82,15 @@ jobs: - name: MySQL create data folder run: | - New-Item -Type Directory '${{ env.TinyMySQLDataPath }}' + New-Item -Type Directory $env:TinyMySQLDataPath - name: MySQL initialize my.ini configuration working-directory: .github/resources/windows run: >- (Get-Content -Path ./my_5.template.ini) -creplace - '\{MYSQL_DATADIR\}', '${{ env.TinyMySQLDataPath }}' -creplace + '\{MYSQL_DATADIR\}', $env:TinyMySQLDataPath -creplace '\{MYSQL_HOST\}', $env:DB_MYSQL_HOST | - Set-Content -Path '${{ env.TinyMySQLInstallationPath }}/my.ini' + Set-Content -Path "$env.TinyMySQLInstallationPath/my.ini" env: DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }} @@ -133,12 +133,12 @@ jobs: $filename = (Split-Path -Path $env:URL_MYSQL_TIMEZONE_TABLES -Leaf) "Filename=$filename" >> $env:GITHUB_OUTPUT - $filepath = Join-Path -Path ${{ runner.temp }} -ChildPath $filename + $filepath = Join-Path -Path $env:RUNNER_TEMP -ChildPath $filename "Filepath=$filepath" >> $env:GITHUB_OUTPUT $basename = Split-Path -Path $filename -LeafBase - $extractedFolder = Join-Path -Path ${{ runner.temp }} -ChildPath $basename + $extractedFolder = Join-Path -Path $env:RUNNER_TEMP -ChildPath $basename "ExtractedFolder=$extractedFolder" >> $env:GITHUB_OUTPUT "Hash=$basename" >> $env:GITHUB_OUTPUT @@ -164,7 +164,7 @@ jobs: Select-Object -ExpandProperty Content | Set-Content -Path $env:archive_filepath -AsByteStream - 7z.exe x -y -o'${{ runner.temp }}' "$env:archive_filepath" + 7z.exe x -y -o"$env:RUNNER_TEMP" "$env:archive_filepath" env: archive_filepath: ${{ steps.downloads-initialize-mysql-timezone-tables.outputs.Filepath }} URL_MYSQL_TIMEZONE_TABLES: ${{ secrets.URL_MYSQL_TIMEZONE_TABLES }} @@ -240,16 +240,16 @@ jobs: - name: MySQL add libmysql.dll on the $env:Path, INCLUDE, and LIB run: | - '${{ env.TinyMySQLInstallationPath }}\lib' >> $env:GITHUB_PATH + "$env:TinyMySQLInstallationPath\lib" >> $env:GITHUB_PATH # Needed by the lastest FindMySQL.cmake module, it stopped working without this - 'INCLUDE=${{ env.TinyMySQLInstallationPath }}\include' >> $env:GITHUB_ENV - 'LIB=${{ env.TinyMySQLInstallationPath }}\lib' >> $env:GITHUB_ENV + "INCLUDE=$env:TinyMySQLInstallationPath\include" >> $env:GITHUB_ENV + "LIB=$env:TinyMySQLInstallationPath\lib" >> $env:GITHUB_ENV - name: SQLite create TinyORM database run: | - New-Item -Type Directory (Split-Path -Parent -Path '${{ env.TinySQLitePath }}') + New-Item -Type Directory (Split-Path -Parent -Path $env:TinySQLitePath) - New-Item -Type File -Path '${{ env.TinySQLitePath }}' + New-Item -Type File -Path $env:TinySQLitePath - name: Print MySQL, PostgreSQL database versions run: | @@ -278,7 +278,7 @@ jobs: $filename = (Split-Path -Path $env:URL_QMYSQL_DLLS_MSVC_X64_5_15_2 -Leaf) "Filename=$filename" >> $env:GITHUB_OUTPUT - $filepath = Join-Path -Path ${{ runner.temp }} -ChildPath $filename + $filepath = Join-Path -Path $env:RUNNER_TEMP -ChildPath $filename "Filepath=$filepath" >> $env:GITHUB_OUTPUT $response = Invoke-WebRequest -Uri $env:URL_CACHE_HASH_WINDOWS @@ -321,7 +321,7 @@ jobs: $filename = (Split-Path -Path $env:URL_LIBMYSQL_DLL_MYSQL_8_MSVC_X64_5_15_2 -Leaf) "Filename=$filename" >> $env:GITHUB_OUTPUT - $filepath = Join-Path -Path ${{ runner.temp }} -ChildPath $filename + $filepath = Join-Path -Path $env:RUNNER_TEMP -ChildPath $filename "Filepath=$filepath" >> $env:GITHUB_OUTPUT $response = Invoke-WebRequest -Uri $env:URL_CACHE_HASH_WINDOWS @@ -354,13 +354,13 @@ jobs: - name: MySQL 8 libmysql.dll install (Qt 5.15.2) run: | - 7z.exe x -y -o'${{ env.TinyRunnerWorkPath }}/TinyORM-bin' $env:archive_filepath + 7z.exe x -y -o"$env:TinyRunnerWorkPath/TinyORM-bin" $env:archive_filepath env: archive_filepath: ${{ steps.downloads-initialize-mysql_8-libmysql-dll.outputs.Filepath }} - name: MySQL 8 libmysql.dll add on the $env:Path run: | - '${{ env.TinyRunnerWorkPath }}/TinyORM-bin' >> $env:GITHUB_PATH + "$env:TinyRunnerWorkPath/TinyORM-bin" >> $env:GITHUB_PATH - name: Ccache initialize id: ccache-initialize-cache diff --git a/.github/workflows/msvc2022-qt6-drivers.yml b/.github/workflows/msvc2022-qt6-drivers.yml index 937ffa526..fd0906d86 100644 --- a/.github/workflows/msvc2022-qt6-drivers.yml +++ b/.github/workflows/msvc2022-qt6-drivers.yml @@ -57,7 +57,7 @@ jobs: - name: TinyORM prepare environment run: | - $runnerWorkPath = Resolve-Path -Path '${{ runner.workspace }}/..' + $runnerWorkPath = Resolve-Path -Path "$env:RUNNER_WORKSPACE/.." "TinyRunnerWorkPath=$runnerWorkPath" >> $env:GITHUB_ENV $mysqlExePath = (Get-Command -Name mysql.exe).Source @@ -80,16 +80,16 @@ jobs: $tinyormBuildFolder = 'Drivers-msvc-${{ matrix.drivers-type }}-${{ matrix.build-type.key }}' "TinyORMBuildFolder=$tinyormBuildFolder" >> $env:GITHUB_ENV - $tinyormBuildTree = Join-Path -Path '${{ runner.workspace }}' TinyORM-builds-cmake ` + $tinyormBuildTree = Join-Path -Path $env:RUNNER_WORKSPACE TinyORM-builds-cmake ` $tinyormBuildFolder "TinyORMBuildTree=$tinyormBuildTree" >> $env:GITHUB_ENV - name: MySQL add libmysql.dll on the $env:Path, INCLUDE, and LIB run: | - '${{ env.TinyMySQLInstallationPath }}\lib' >> $env:GITHUB_PATH + "$env:TinyMySQLInstallationPath\lib" >> $env:GITHUB_PATH # Needed by the lastest FindMySQL.cmake module, it stopped working without this - 'INCLUDE=${{ env.TinyMySQLInstallationPath }}\include' >> $env:GITHUB_ENV - 'LIB=${{ env.TinyMySQLInstallationPath }}\lib' >> $env:GITHUB_ENV + "INCLUDE=$env:TinyMySQLInstallationPath\include" >> $env:GITHUB_ENV + "LIB=$env:TinyMySQLInstallationPath\lib" >> $env:GITHUB_ENV - name: MySQL service check status run: | @@ -136,7 +136,7 @@ jobs: # Don't use the default CCACHE_DIR path on self-hosted runners - name: Ccache prepare environment run: | - $ccacheDirPath = Join-Path -Path '${{ runner.workspace }}' -ChildPath ccache + $ccacheDirPath = Join-Path -Path $env:RUNNER_WORKSPACE -ChildPath ccache "CCACHE_DIR=$ccacheDirPath" >> $env:GITHUB_ENV # I'm managing the ccache configuration manually on self-hosted runners using the ccache.conf @@ -163,11 +163,11 @@ jobs: run: | "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" >> $env:GITHUB_ENV 'VCPKG_DEFAULT_TRIPLET=x64-windows' >> $env:GITHUB_ENV - 'VCPKG_MAX_CONCURRENCY=${{ env.TinyParallel }}' >> $env:GITHUB_ENV + "VCPKG_MAX_CONCURRENCY=$env:TinyParallel" >> $env:GITHUB_ENV - name: vcpkg needs upgrade? (once per day) run: | - $vcpkgUpgradedAtFilepath = '${{ runner.workspace }}/.vcpkg_upgraded_at' + $vcpkgUpgradedAtFilepath = "$env:RUNNER_WORKSPACE/.vcpkg_upgraded_at" if (-not (Test-Path -Path $vcpkgUpgradedAtFilepath)) { 'TINY_VCPKG_NEEDS_UPGRADE=true' >> $env:GITHUB_ENV @@ -177,7 +177,7 @@ jobs: $datePreviousUpgrade = New-Object System.DateTime $result = [System.DateTime]::TryParseExact( ` - (Get-Content '${{ runner.workspace }}/.vcpkg_upgraded_at'), 'yyyyMMdd', ` + (Get-Content "$env:RUNNER_WORKSPACE/.vcpkg_upgraded_at"), 'yyyyMMdd', ` [cultureinfo]::InvariantCulture, ` [System.Globalization.DateTimeStyles]::None -bor ` [System.Globalization.DateTimeStyles]::AssumeLocal, [ref]$datePreviousUpgrade) @@ -203,7 +203,7 @@ jobs: .\bootstrap-vcpkg.bat - Get-Date -Format 'yyyyMMdd' > '${{ runner.workspace }}/.vcpkg_upgraded_at' + Get-Date -Format 'yyyyMMdd' > "$env:RUNNER_WORKSPACE/.vcpkg_upgraded_at" - name: CMake print version run: | @@ -215,8 +215,8 @@ jobs: - name: TinyORM create build folder (${{ env.TinyORMBuildFolder }}) run: | - if (-not (Test-Path '${{ env.TinyORMBuildTree }}')) { - New-Item -Type Directory '${{ env.TinyORMBuildTree }}' + if (-not (Test-Path $env:TinyORMBuildTree)) { + New-Item -Type Directory $env:TinyORMBuildTree } - name: Ccache clear statistics @@ -232,7 +232,7 @@ jobs: cmake.exe --log-level=DEBUG --log-context -S . - -B '${{ env.TinyORMBuildTree }}' + -B $env:TinyORMBuildTree -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache.exe -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" @@ -257,7 +257,7 @@ jobs: - name: TinyORM cmake build ✨ (${{ env.TinyORMBuildFolder }}) working-directory: ${{ env.TinyORMBuildTree }} run: | - cmake.exe --build . --target all --parallel ${{ env.TinyParallel }} + cmake.exe --build . --target all --parallel $env:TinyParallel - name: Ccache print statistics run: | @@ -342,7 +342,7 @@ jobs: --jq '.[] | select (.path | endswith("/vcpkg-windows.yml")) | .state' if ($? -and $workflowState -ceq 'active') { - gh workflow run vcpkg-windows.yml --ref ${{ github.ref_name }} + gh workflow run vcpkg-windows.yml --ref $env:GITHUB_REF_NAME } env: GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/msvc2022-qt6.yml b/.github/workflows/msvc2022-qt6.yml index 3b260c209..606c111e5 100644 --- a/.github/workflows/msvc2022-qt6.yml +++ b/.github/workflows/msvc2022-qt6.yml @@ -45,7 +45,7 @@ jobs: - name: TinyORM prepare environment run: | - $runnerWorkPath = Resolve-Path -Path '${{ runner.workspace }}/..' + $runnerWorkPath = Resolve-Path -Path "$env:RUNNER_WORKSPACE/.." "TinyRunnerWorkPath=$runnerWorkPath" >> $env:GITHUB_ENV $sqlitePath = Join-Path -Path $runnerWorkPath -ChildPath "SQLite/$env:DB_SQLITE_DATABASE" @@ -77,7 +77,7 @@ jobs: - name: PostgreSQL SSL certificates initialize id: openssl-initialize-postgresql-certificates run: | - $folderPath = Join-Path -Path '${{ env.TinyRunnerWorkPath }}' ` + $folderPath = Join-Path -Path $env:TinyRunnerWorkPath ` -ChildPath 'tiny-postgresql-certificates' # Create an empty folder for generating certificates @@ -271,15 +271,15 @@ jobs: - name: MySQL create data folder run: | - New-Item -Type Directory '${{ env.TinyMySQLDataPath }}' + New-Item -Type Directory $env:TinyMySQLDataPath - name: MySQL initialize my.ini configuration working-directory: .github/resources/windows run: >- (Get-Content -Path ./my_8_ssl.template.ini) -creplace - '\{MYSQL_DATADIR\}', '${{ env.TinyMySQLDataPath }}' -creplace + '\{MYSQL_DATADIR\}', $env:TinyMySQLDataPath -creplace '\{MYSQL_HOST\}', $env:DB_MYSQL_HOST | - Set-Content -Path '${{ env.TinyMySQLInstallationPath }}/my.ini' + Set-Content -Path "$env.TinyMySQLInstallationPath/my.ini" env: DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST_SSL }} @@ -307,8 +307,7 @@ jobs: - name: MySQL SSL certificates initialize id: openssl-initialize-mysql-certificates run: | - $folderPath = Join-Path -Path '${{ env.TinyRunnerWorkPath }}' ` - -ChildPath 'tiny-mysql-certificates' + $folderPath = Join-Path -Path $env:TinyRunnerWorkPath -ChildPath 'tiny-mysql-certificates' # Create an empty folder for generating certificates New-Item -Type Directory $folderPath @@ -395,17 +394,15 @@ jobs: working-directory: ${{ steps.openssl-initialize-mysql-certificates.outputs.FolderPath }} run: | Write-Output '::group::Install CA certificate' - Move-Item -Path ./ca.pem -Destination '${{ env.TinyMySQLDataPath }}' + Move-Item -Path ./ca.pem -Destination $env:TinyMySQLDataPath Write-Output '::endgroup::' Write-Output '::group::Install server certificates' - Move-Item -Path ./server-cert.pem, ./server-key.pem ` - -Destination '${{ env.TinyMySQLDataPath }}' + Move-Item -Path ./server-cert.pem, ./server-key.pem -Destination $env:TinyMySQLDataPath Write-Output '::endgroup::' Write-Output '::group::Install client certificates' - Move-Item -Path ./client-cert.pem, ./client-key.pem ` - -Destination '${{ env.TinyMySQLDataPath }}' + Move-Item -Path ./client-cert.pem, ./client-key.pem $env:TinyMySQLDataPath Write-Output '::endgroup::' - name: MySQL service install/start @@ -421,8 +418,8 @@ jobs: run: >- "alter user '$env:DB_MYSQL_ROOT_USERNAME'@'localhost' identified with caching_sha2_password by '$env:DB_MYSQL_ROOT_PASSWORD' - require issuer '${{ env.DB_MYSQL_SSL_SUBJECT_CA }}' and - subject '${{ env.DB_MYSQL_SSL_SUBJECT_CLIENT }}';" | + require issuer '$env:DB_MYSQL_SSL_SUBJECT_CA' and + subject '$env:DB_MYSQL_SSL_SUBJECT_CLIENT';" | mysql.exe --user=$env:DB_MYSQL_ROOT_USERNAME --password=$($env:secured_password | ConvertTo-SecureString | ConvertFrom-SecureString -AsPlainText) @@ -440,12 +437,12 @@ jobs: $filename = (Split-Path -Path $env:URL_MYSQL_TIMEZONE_TABLES -Leaf) "Filename=$filename" >> $env:GITHUB_OUTPUT - $filepath = Join-Path -Path ${{ runner.temp }} -ChildPath $filename + $filepath = Join-Path -Path $env:RUNNER_TEMP -ChildPath $filename "Filepath=$filepath" >> $env:GITHUB_OUTPUT $basename = Split-Path -Path $filename -LeafBase - $extractedFolder = Join-Path -Path ${{ runner.temp }} -ChildPath $basename + $extractedFolder = Join-Path -Path $env:RUNNER_TEMP -ChildPath $basename "ExtractedFolder=$extractedFolder" >> $env:GITHUB_OUTPUT "Hash=$basename" >> $env:GITHUB_OUTPUT @@ -471,7 +468,7 @@ jobs: Select-Object -ExpandProperty Content | Set-Content -Path $env:archive_filepath -AsByteStream - 7z.exe x -y -o'${{ runner.temp }}' "$env:archive_filepath" + 7z.exe x -y -o"$env:RUNNER_TEMP" "$env:archive_filepath" env: archive_filepath: ${{ steps.downloads-initialize-mysql-timezone-tables.outputs.Filepath }} URL_MYSQL_TIMEZONE_TABLES: ${{ secrets.URL_MYSQL_TIMEZONE_TABLES }} @@ -530,8 +527,8 @@ jobs: run: >- "create user '$env:DB_MYSQL_USERNAME'@'%' identified with caching_sha2_password by '$env:DB_MYSQL_PASSWORD' - require issuer '${{ env.DB_MYSQL_SSL_SUBJECT_CA }}' and - subject '${{ env.DB_MYSQL_SSL_SUBJECT_CLIENT }}'; + require issuer '$env:DB_MYSQL_SSL_SUBJECT_CA' and + subject '$env:DB_MYSQL_SSL_SUBJECT_CLIENT'; grant all privileges on ``tinyorm\_%``.* to '$env:DB_MYSQL_USERNAME'@'%'; grant select on ``mysql``.``time_zone_name`` to '$env:DB_MYSQL_USERNAME'@'%'; flush privileges;" | @@ -546,16 +543,16 @@ jobs: - name: MySQL add libmysql.dll on the $env:Path, INCLUDE, and LIB run: | - '${{ env.TinyMySQLInstallationPath }}\lib' >> $env:GITHUB_PATH + "$env:TinyMySQLInstallationPath\lib" >> $env:GITHUB_PATH # Needed by the lastest FindMySQL.cmake module, it stopped working without this - 'INCLUDE=${{ env.TinyMySQLInstallationPath }}\include' >> $env:GITHUB_ENV - 'LIB=${{ env.TinyMySQLInstallationPath }}\lib' >> $env:GITHUB_ENV + "INCLUDE=$env:TinyMySQLInstallationPath\include" >> $env:GITHUB_ENV + "LIB=$env:TinyMySQLInstallationPath\lib" >> $env:GITHUB_ENV - name: SQLite create TinyORM database run: | - New-Item -Type Directory (Split-Path -Parent -Path '${{ env.TinySQLitePath }}') + New-Item -Type Directory (Split-Path -Parent -Path $env:TinySQLitePath) - New-Item -Type File -Path '${{ env.TinySQLitePath }}' + New-Item -Type File -Path $env:TinySQLitePath - name: Print MySQL, PostgreSQL database versions run: | @@ -619,7 +616,7 @@ jobs: -QtRootPath (Get-Item -Path $env:QT_PLUGIN_PATH).Parent.Parent.Parent -QtVersion $env:TINY_QT_VERSION -QtSpec $env:TINY_QT_SPEC -MySQLServerPath $env:TinyMySQLInstallationPath - -BuildPath '${{ runner.workspace }}' + -BuildPath $env:RUNNER_WORKSPACE - name: Ccache initialize id: ccache-initialize-cache diff --git a/.github/workflows/msys2-ucrt64-drivers.yml b/.github/workflows/msys2-ucrt64-drivers.yml index ac1d48c12..870a2b216 100644 --- a/.github/workflows/msys2-ucrt64-drivers.yml +++ b/.github/workflows/msys2-ucrt64-drivers.yml @@ -60,7 +60,7 @@ jobs: - name: TinyORM prepare environment run: | - $runnerWorkPath = Resolve-Path -Path '${{ runner.workspace }}/..' + $runnerWorkPath = Resolve-Path -Path "$env:RUNNER_WORKSPACE/.." "TinyRunnerWorkPath=$runnerWorkPath" >> $env:GITHUB_ENV # Don't user more than 3 for GCC, it would need 64GB RAM (no money 💵) @@ -76,7 +76,7 @@ jobs: '${{ matrix.drivers-type }}-${{ matrix.build-type.key }}' "TinyORMBuildFolder=$tinyormBuildFolder" >> $env:GITHUB_ENV - $tinyormBuildTree = Join-Path -Path '${{ runner.workspace }}' TinyORM-builds-cmake ` + $tinyormBuildTree = Join-Path -Path $env:RUNNER_WORKSPACE TinyORM-builds-cmake ` $tinyormBuildFolder "TinyORMBuildTree=$tinyormBuildTree" >> $env:GITHUB_ENV @@ -126,7 +126,7 @@ jobs: # for MSYS2 and compiler. - name: Ccache prepare environment run: | - $ccacheDirPath = Join-Path '${{ runner.workspace }}' ccache_msys2_${{ matrix.compiler.key }} + $ccacheDirPath = Join-Path $env:RUNNER_WORKSPACE ccache_msys2_${{ matrix.compiler.key }} "CCACHE_DIR=$ccacheDirPath" >> $env:GITHUB_ENV - name: Ccache print version and configuration @@ -146,11 +146,11 @@ jobs: echo "VCPKG_ROOT=$VCPKG_INSTALLATION_ROOT" >> $GITHUB_ENV echo 'VCPKG_DEFAULT_TRIPLET=x64-mingw-dynamic' >> $GITHUB_ENV echo 'VCPKG_DEFAULT_HOST_TRIPLET=x64-mingw-dynamic' >> $GITHUB_ENV - echo 'VCPKG_MAX_CONCURRENCY=${{ env.TinyParallel }}' >> $GITHUB_ENV + echo "VCPKG_MAX_CONCURRENCY=$env:TinyParallel" >> $GITHUB_ENV - name: vcpkg needs upgrade? (once per day) run: | - $vcpkgUpgradedAtFilepath = '${{ runner.workspace }}/.vcpkg_upgraded_at' + $vcpkgUpgradedAtFilepath = "$env:RUNNER_WORKSPACE/.vcpkg_upgraded_at" if (-not (Test-Path -Path $vcpkgUpgradedAtFilepath)) { 'TINY_VCPKG_NEEDS_UPGRADE=true' >> $env:GITHUB_ENV @@ -160,7 +160,7 @@ jobs: $datePreviousUpgrade = New-Object System.DateTime $result = [System.DateTime]::TryParseExact( ` - (Get-Content '${{ runner.workspace }}/.vcpkg_upgraded_at'), 'yyyyMMdd', ` + (Get-Content "$env:RUNNER_WORKSPACE/.vcpkg_upgraded_at"), 'yyyyMMdd', ` [cultureinfo]::InvariantCulture, ` [System.Globalization.DateTimeStyles]::None -bor ` [System.Globalization.DateTimeStyles]::AssumeLocal, [ref]$datePreviousUpgrade) @@ -186,7 +186,7 @@ jobs: .\bootstrap-vcpkg.bat - Get-Date -Format 'yyyyMMdd' > '${{ runner.workspace }}/.vcpkg_upgraded_at' + Get-Date -Format 'yyyyMMdd' > "$env:RUNNER_WORKSPACE/.vcpkg_upgraded_at" - name: CMake print version shell: msys2 {0} @@ -200,8 +200,8 @@ jobs: - name: TinyORM create build folder (${{ env.TinyORMBuildFolder }}) run: | - if (-not (Test-Path '${{ env.TinyORMBuildTree }}')) { - New-Item -Type Directory '${{ env.TinyORMBuildTree }}' + if (-not (Test-Path $env:TinyORMBuildTree)) { + New-Item -Type Directory $env:TinyORMBuildTree } - name: Ccache clear statistics @@ -219,7 +219,7 @@ jobs: cmake.exe --log-level=DEBUG --log-context -S . - -B '${{ env.TinyORMBuildTree }}' + -B $env:TinyORMBuildTree -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH='/ucrt64/bin/ccache.exe' -D CMAKE_CXX_COMPILER:FILEPATH="/ucrt64/bin/${{ matrix.compiler.command }}" @@ -245,7 +245,7 @@ jobs: shell: msys2 {0} working-directory: ${{ env.TinyORMBuildTree }} run: | - cmake.exe --build . --target all --parallel ${{ env.TinyParallel }} + cmake.exe --build . --target all --parallel $env:TinyParallel - name: Ccache print statistics shell: msys2 {0} diff --git a/.github/workflows/msys2-ucrt64.yml b/.github/workflows/msys2-ucrt64.yml index 81a35757d..c45e93df2 100644 --- a/.github/workflows/msys2-ucrt64.yml +++ b/.github/workflows/msys2-ucrt64.yml @@ -49,7 +49,7 @@ jobs: - name: TinyORM prepare environment run: | - $runnerWorkPath = Resolve-Path -Path '${{ runner.workspace }}/..' + $runnerWorkPath = Resolve-Path -Path "$env:RUNNER_WORKSPACE/.." "TinyRunnerWorkPath=$runnerWorkPath" >> $env:GITHUB_ENV $sqlitePath = Join-Path -Path $runnerWorkPath -ChildPath "SQLite/$env:DB_SQLITE_DATABASE" @@ -100,15 +100,15 @@ jobs: - name: MySQL create data folder run: | - New-Item -Type Directory '${{ env.TinyMySQLDataPath }}' + New-Item -Type Directory $env:TinyMySQLDataPath - name: MySQL initialize my.ini configuration working-directory: .github/resources/windows run: >- (Get-Content -Path ./my_8.template.ini) -creplace - '\{MYSQL_DATADIR\}', '${{ env.TinyMySQLDataPath }}' -creplace + '\{MYSQL_DATADIR\}', $env:TinyMySQLDataPath -creplace '\{MYSQL_HOST\}', $env:DB_MYSQL_HOST | - Set-Content -Path '${{ env.TinyMySQLInstallationPath }}/my.ini' + Set-Content -Path "$env.TinyMySQLInstallationPath/my.ini" env: DB_MYSQL_HOST: ${{ secrets.DB_MYSQL_HOST }} @@ -151,12 +151,12 @@ jobs: $filename = (Split-Path -Path $env:URL_MYSQL_TIMEZONE_TABLES -Leaf) "Filename=$filename" >> $env:GITHUB_OUTPUT - $filepath = Join-Path -Path ${{ runner.temp }} -ChildPath $filename + $filepath = Join-Path -Path $env:RUNNER_TEMP -ChildPath $filename "Filepath=$filepath" >> $env:GITHUB_OUTPUT $basename = Split-Path -Path $filename -LeafBase - $extractedFolder = Join-Path -Path ${{ runner.temp }} -ChildPath $basename + $extractedFolder = Join-Path -Path $env:RUNNER_TEMP -ChildPath $basename "ExtractedFolder=$extractedFolder" >> $env:GITHUB_OUTPUT "Hash=$basename" >> $env:GITHUB_OUTPUT @@ -182,7 +182,7 @@ jobs: Select-Object -ExpandProperty Content | Set-Content -Path $env:archive_filepath -AsByteStream - 7z.exe x -y -o'${{ runner.temp }}' "$env:archive_filepath" + 7z.exe x -y -o"$env:RUNNER_TEMP" "$env:archive_filepath" env: archive_filepath: ${{ steps.downloads-initialize-mysql-timezone-tables.outputs.Filepath }} URL_MYSQL_TIMEZONE_TABLES: ${{ secrets.URL_MYSQL_TIMEZONE_TABLES }} @@ -253,9 +253,9 @@ jobs: - name: SQLite create TinyORM database run: | - New-Item -Type Directory (Split-Path -Parent -Path '${{ env.TinySQLitePath }}') + New-Item -Type Directory (Split-Path -Parent -Path $env:TinySQLitePath) - New-Item -Type File -Path '${{ env.TinySQLitePath }}' + New-Item -Type File -Path $env:TinySQLitePath - name: Print MySQL, PostgreSQL database versions run: | diff --git a/.github/workflows/vcpkg-linux-drivers.yml b/.github/workflows/vcpkg-linux-drivers.yml index 024741059..c75fecbba 100644 --- a/.github/workflows/vcpkg-linux-drivers.yml +++ b/.github/workflows/vcpkg-linux-drivers.yml @@ -59,7 +59,7 @@ jobs: # this way because I tried to refactor it to the env.TinyRunnerWorkPath and it looks terrible - name: TinyORM prepare environment run: | - runnerWorkPath=$(realpath '${{ runner.workspace }}/..') + runnerWorkPath=$(realpath "$RUNNER_WORKSPACE/..") echo "TinyRunnerWorkPath=$runnerWorkPath" >> $GITHUB_ENV echo "TinyParallel=10" >> $GITHUB_ENV @@ -85,9 +85,9 @@ jobs: echo "VCPKG_ROOT=$VCPKG_INSTALLATION_ROOT" >> $GITHUB_ENV # The x64-linux is correct echo 'VCPKG_DEFAULT_TRIPLET=x64-linux' >> $GITHUB_ENV - echo 'VCPKG_MAX_CONCURRENCY=${{ env.TinyParallel }}' >> $GITHUB_ENV + echo "VCPKG_MAX_CONCURRENCY=$TinyParallel" >> $GITHUB_ENV - vcpkgPath=$(realpath '${{ env.TinyORMPath }}/cmake/vcpkg') + vcpkgPath=$(realpath "$TinyORMPath/cmake/vcpkg") portsPath="$vcpkgPath/ports" echo "VCPKG_OVERLAY_PORTS=$portsPath" >> $GITHUB_ENV @@ -111,7 +111,7 @@ jobs: - name: vcpkg needs upgrade? (once per day) run: | - vcpkgUpgradedAtFilepath='${{ runner.workspace }}/.vcpkg_upgraded_at' + vcpkgUpgradedAtFilepath="$RUNNER_WORKSPACE/.vcpkg_upgraded_at" if [ ! -f "$vcpkgUpgradedAtFilepath" ] || [ ! -r "$vcpkgUpgradedAtFilepath" ] || \ ! read datePreviousUpgradeRaw < "$vcpkgUpgradedAtFilepath" @@ -144,7 +144,7 @@ jobs: ./bootstrap-vcpkg.sh - date +%Y-%m-%d > '${{ runner.workspace }}/.vcpkg_upgraded_at' + date +%Y-%m-%d > "$RUNNER_WORKSPACE/.vcpkg_upgraded_at" - name: CMake print version run: | @@ -163,9 +163,9 @@ jobs: . ./tools/private/Common-Deploy.ps1 $portfileQt6Path = Resolve-Path -Path './cmake/vcpkg/ports/tinyorm/portfile.cmake' - $vcpkgRef = '${{ github.sha }}' + $vcpkgRef = $env:GITHUB_SHA - Edit-VcpkgRefAndHash -Project '${{ github.repository }}' -Ref $vcpkgRef ` + Edit-VcpkgRefAndHash -Project $env:GITHUB_REPOSITORY -Ref $vcpkgRef ` -PortFile $portfileQt6Path -EnableRetries # The following two steps (vcpkg install) are not needed below they only test if the vcpkg @@ -220,7 +220,7 @@ jobs: # it's from GCC static Release build (build-TinyDrivers-gcc13-Static-release). - name: Prepare MySQL database run: | - export PATH='${{ runner.workspace }}/.local/bin'${PATH:+:}"$PATH" + export PATH="$RUNNER_WORKSPACE/.local/bin"${PATH:+:}"$PATH" tom_testdata migrate:fresh --database=tinyorm_testdata_tom_mysql --seed --drop-views env: @@ -259,7 +259,7 @@ jobs: cmake --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/HelloWorld-builds-cmake/build-TinyDrivers-vcpkgmanifest-gcc-${{ matrix.build-type.key }}' + -B "$RUNNER_WORKSPACE/HelloWorld-builds-cmake/build-TinyDrivers-vcpkgmanifest-gcc-${{ matrix.build-type.key }}" -G Ninja -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=ON @@ -271,7 +271,7 @@ jobs: working-directory: >- ../HelloWorld-builds-cmake/build-TinyDrivers-vcpkgmanifest-gcc-${{ matrix.build-type.key }} run: | - cmake --build . --target all --parallel ${{ env.TinyParallel }} + cmake --build . --target all --parallel $TinyParallel - name: HelloWorld-TinyDrivers execute (MySQL) 🏁 working-directory: >- @@ -311,7 +311,7 @@ jobs: # Don't use the default CCACHE_DIR path on self-hosted runners - name: Ccache prepare environment run: | - ccacheDirPath=$(realpath '${{ runner.workspace }}/ccache_drivers') + ccacheDirPath=$(realpath "$RUNNER_WORKSPACE/ccache_drivers") echo "CCACHE_DIR=$ccacheDirPath" >> $GITHUB_ENV - name: Ccache print version and configuration @@ -343,7 +343,7 @@ jobs: cmake --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/TinyORM-builds-cmake/build-TinyDrivers-manual-gcc-${{ matrix.build-type.key }}' + -B "$RUNNER_WORKSPACE/TinyORM-builds-cmake/build-TinyDrivers-manual-gcc-${{ matrix.build-type.key }}" -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" @@ -369,7 +369,7 @@ jobs: working-directory: >- ../TinyORM-builds-cmake/build-TinyDrivers-manual-gcc-${{ matrix.build-type.key }} run: | - cmake --build . --target all --parallel ${{ env.TinyParallel }} + cmake --build . --target all --parallel $TinyParallel - name: Ccache print statistics run: | @@ -389,9 +389,9 @@ jobs: cmake --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/HelloWorld-builds-cmake/build-TinyDrivers-manual-gcc-${{ matrix.build-type.key }}' + -B "$RUNNER_WORKSPACE/HelloWorld-builds-cmake/build-TinyDrivers-manual-gcc-${{ matrix.build-type.key }}" -G Ninja - -D CMAKE_PREFIX_PATH:PATH='${{ runner.workspace }}/TinyORM-builds-cmake/build-TinyDrivers-manual-gcc-${{ matrix.build-type.key }}' + -D CMAKE_PREFIX_PATH:PATH="$RUNNER_WORKSPACE/TinyORM-builds-cmake/build-TinyDrivers-manual-gcc-${{ matrix.build-type.key }}" -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=${{ matrix.build-type.name }} @@ -402,13 +402,13 @@ jobs: working-directory: >- ../HelloWorld-builds-cmake/build-TinyDrivers-manual-gcc-${{ matrix.build-type.key }} run: | - cmake --build . --target all --parallel ${{ env.TinyParallel }} + cmake --build . --target all --parallel $TinyParallel - name: HelloWorld-TinyDrivers execute (MySQL) 🏁 working-directory: >- ../HelloWorld-builds-cmake/build-TinyDrivers-manual-gcc-${{ matrix.build-type.key }} run: | - buildFolder='${{ runner.workspace }}/TinyORM-builds-cmake/build-TinyDrivers-manual-gcc-${{ matrix.build-type.key }}' + buildFolder="$RUNNER_WORKSPACE/TinyORM-builds-cmake/build-TinyDrivers-manual-gcc-${{ matrix.build-type.key }}" export LD_LIBRARY_PATH="$buildFolder"${LD_LIBRARY_PATH:+:}"$LD_LIBRARY_PATH" @@ -442,8 +442,8 @@ jobs: shell: pwsh -NoProfile -Command "& '{0}'" working-directory: HelloWorld-TinyDrivers run: | - $toolsPath = Resolve-Path -Path '${{ env.TinyORMPath }}/tools/private' - $gitTag = '${{ github.sha }}' + $toolsPath = Resolve-Path -Path "$TinyORMPath/tools/private" + $gitTag = $env:GITHUB_SHA & "$toolsPath/Edit-FetchContentGitTag.ps1" -CMakeLists ./CMakeLists.txt -GitTag $gitTag @@ -458,13 +458,13 @@ jobs: cmake --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/HelloWorld-builds-cmake/build-TinyDrivers-fetchcontent-gcc-${{ matrix.build-type.key }}' + -B "$RUNNER_WORKSPACE/HelloWorld-builds-cmake/build-TinyDrivers-fetchcontent-gcc-${{ matrix.build-type.key }}" -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=OFF -D CMAKE_BUILD_TYPE:STRING=${{ matrix.build-type.name }} - -D CMAKE_INSTALL_PREFIX:PATH='${{ runner.workspace }}/HelloWorld-TinyDrivers-FetchContent-Install/${{ matrix.build-type.name }}' + -D CMAKE_INSTALL_PREFIX:PATH="$RUNNER_WORKSPACE/HelloWorld-TinyDrivers-FetchContent-Install/${{ matrix.build-type.name }}" -D CMAKE_EXPORT_PACKAGE_REGISTRY:BOOL=OFF -D VCPKG_APPLOCAL_DEPS:BOOL=OFF -D VERBOSE_CONFIGURE:BOOL=ON @@ -485,7 +485,7 @@ jobs: working-directory: >- ../HelloWorld-builds-cmake/build-TinyDrivers-fetchcontent-gcc-${{ matrix.build-type.key }} run: | - cmake --build . --target install --parallel ${{ env.TinyParallel }} + cmake --build . --target install --parallel $TinyParallel - name: Ccache print statistics run: | @@ -529,7 +529,7 @@ jobs: --jq '.[] | select (.path | endswith("/analyzers.yml")) | .state') if [ $? -eq 0 ] && [[ "$workflowState" == 'active' ]]; then - gh workflow run analyzers.yml --ref ${{ github.ref_name }} + gh workflow run analyzers.yml --ref "$GITHUB_REF_NAME" fi env: GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/vcpkg-linux.yml b/.github/workflows/vcpkg-linux.yml index 7bddee3aa..4b834ffcc 100644 --- a/.github/workflows/vcpkg-linux.yml +++ b/.github/workflows/vcpkg-linux.yml @@ -69,11 +69,11 @@ jobs: # this way because I tried to refactor it to the env.TinyRunnerWorkPath and it looks terrible - name: TinyORM prepare environment run: | - runnerWorkPath=$(realpath '${{ runner.workspace }}/..') + runnerWorkPath=$(realpath "$RUNNER_WORKSPACE/..") echo "TinyRunnerWorkPath=$runnerWorkPath" >> $GITHUB_ENV # Starts with the merydeye- - [[ "${{ runner.name }}" == 'merydeye-'* ]] && isSelfHostedRunner='true' || isSelfHostedRunner='false' + [[ "$RUNNER_NAME" == 'merydeye-'* ]] && isSelfHostedRunner='true' || isSelfHostedRunner='false' echo "TinyIsSelfHostedRunner=$isSelfHostedRunner" >> $GITHUB_ENV # Parallel gcc to 3 and clang to 8 is maximum what my computer allows but I decided to use @@ -119,9 +119,9 @@ jobs: echo "VCPKG_ROOT=$VCPKG_INSTALLATION_ROOT" >> $GITHUB_ENV # The x64-linux is correct echo 'VCPKG_DEFAULT_TRIPLET=x64-linux' >> $GITHUB_ENV - echo 'VCPKG_MAX_CONCURRENCY=${{ env.TinyParallel }}' >> $GITHUB_ENV + echo "VCPKG_MAX_CONCURRENCY=$TinyParallel" >> $GITHUB_ENV - vcpkgPath=$(realpath '${{ env.TinyORMPath }}/cmake/vcpkg') + vcpkgPath=$(realpath "$TinyORMPath/cmake/vcpkg") portsPath="$vcpkgPath/ports" echo "VCPKG_OVERLAY_PORTS=$portsPath" >> $GITHUB_ENV @@ -146,7 +146,7 @@ jobs: - name: vcpkg needs upgrade? (once per day) run: | - vcpkgUpgradedAtFilepath='${{ runner.workspace }}/.vcpkg_upgraded_at' + vcpkgUpgradedAtFilepath="$RUNNER_WORKSPACE/.vcpkg_upgraded_at" if [ ! -f "$vcpkgUpgradedAtFilepath" ] || [ ! -r "$vcpkgUpgradedAtFilepath" ] || \ ! read datePreviousUpgradeRaw < "$vcpkgUpgradedAtFilepath" @@ -179,7 +179,7 @@ jobs: ./bootstrap-vcpkg.sh - date +%Y-%m-%d > '${{ runner.workspace }}/.vcpkg_upgraded_at' + date +%Y-%m-%d > "$RUNNER_WORKSPACE/.vcpkg_upgraded_at" - name: CMake print version run: | @@ -203,9 +203,9 @@ jobs: $portfileQt6Path = Resolve-Path -Path './cmake/vcpkg/ports/tinyorm/portfile.cmake' $portfileQt5Path = Resolve-Path -Path './cmake/vcpkg/ports/tinyorm-qt5/portfile.cmake' - $vcpkgRef = '${{ github.sha }}' + $vcpkgRef = $env:GITHUB_SHA - Edit-VcpkgRefAndHash -Project '${{ github.repository }}' -Ref $vcpkgRef ` + Edit-VcpkgRefAndHash -Project $env:GITHUB_REPOSITORY -Ref $vcpkgRef ` -PortFile $portfileQt6Path, $portfileQt5Path ` -EnableRetries @@ -243,7 +243,7 @@ jobs: - name: HelloWorld move HelloWorld.sqlite3 (to parent folder) working-directory: HelloWorld run: | - cp --target-directory='${{ runner.workspace }}' ./HelloWorld.sqlite3 + cp --target-directory="$RUNNER_WORKSPACE" ./HelloWorld.sqlite3 - name: TinyORM create folder for build trees run: | @@ -277,7 +277,7 @@ jobs: cmake --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/HelloWorld-builds-cmake/build-vcpkgmanifest-gcc-${{ matrix.build-type.key }}' + -B "$RUNNER_WORKSPACE/HelloWorld-builds-cmake/build-vcpkgmanifest-gcc-${{ matrix.build-type.key }}" -G Ninja -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=ON @@ -289,7 +289,7 @@ jobs: working-directory: >- ../HelloWorld-builds-cmake/build-vcpkgmanifest-gcc-${{ matrix.build-type.key }} run: | - cmake --build . --target all --parallel ${{ env.TinyParallel }} + cmake --build . --target all --parallel $TinyParallel - name: HelloWorld execute (SQLite) 🏁 working-directory: >- @@ -327,7 +327,7 @@ jobs: - name: Ccache prepare environment if: env.TinyIsSelfHostedRunner == 'true' run: | - ccacheDirPath=$(realpath '${{ runner.workspace }}/ccache') + ccacheDirPath=$(realpath "$RUNNER_WORKSPACE/ccache") echo "CCACHE_DIR=$ccacheDirPath" >> $GITHUB_ENV - name: Ccache initialize @@ -390,7 +390,7 @@ jobs: cmake --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/TinyORM-builds-cmake/build-manual-gcc-${{ matrix.build-type.key }}' + -B "$RUNNER_WORKSPACE/TinyORM-builds-cmake/build-manual-gcc-${{ matrix.build-type.key }}" -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" @@ -414,7 +414,7 @@ jobs: working-directory: >- ../TinyORM-builds-cmake/build-manual-gcc-${{ matrix.build-type.key }} run: | - cmake --build . --target all --parallel ${{ env.TinyParallel }} + cmake --build . --target all --parallel $TinyParallel - name: Ccache print statistics run: | @@ -434,9 +434,9 @@ jobs: cmake --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/HelloWorld-builds-cmake/build-manual-gcc-${{ matrix.build-type.key }}' + -B "$RUNNER_WORKSPACE/HelloWorld-builds-cmake/build-manual-gcc-${{ matrix.build-type.key }}" -G Ninja - -D CMAKE_PREFIX_PATH:PATH='${{ runner.workspace }}/TinyORM-builds-cmake/build-manual-gcc-${{ matrix.build-type.key }}' + -D CMAKE_PREFIX_PATH:PATH="$RUNNER_WORKSPACE/TinyORM-builds-cmake/build-manual-gcc-${{ matrix.build-type.key }}" -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=${{ matrix.build-type.name }} @@ -447,13 +447,13 @@ jobs: working-directory: >- ../HelloWorld-builds-cmake/build-manual-gcc-${{ matrix.build-type.key }} run: | - cmake --build . --target all --parallel ${{ env.TinyParallel }} + cmake --build . --target all --parallel $TinyParallel - name: HelloWorld execute (SQLite) 🏁 working-directory: >- ../HelloWorld-builds-cmake/build-manual-gcc-${{ matrix.build-type.key }} run: | - buildFolder='${{ runner.workspace }}/TinyORM-builds-cmake/build-manual-gcc-${{ matrix.build-type.key }}' + buildFolder="$RUNNER_WORKSPACE/TinyORM-builds-cmake/build-manual-gcc-${{ matrix.build-type.key }}" export LD_LIBRARY_PATH="$buildFolder"${LD_LIBRARY_PATH:+:}"$LD_LIBRARY_PATH" @@ -478,8 +478,8 @@ jobs: shell: pwsh -NoProfile -Command "& '{0}'" working-directory: HelloWorld run: | - $toolsPath = Resolve-Path -Path '${{ env.TinyORMPath }}/tools/private' - $gitTag = '${{ github.sha }}' + $toolsPath = Resolve-Path -Path "$TinyORMPath/tools/private" + $gitTag = $env:GITHUB_SHA & "$toolsPath/Edit-FetchContentGitTag.ps1" -CMakeLists ./CMakeLists.txt -GitTag $gitTag @@ -494,13 +494,13 @@ jobs: cmake --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/HelloWorld-builds-cmake/build-fetchcontent-gcc-${{ matrix.build-type.key }}' + -B "$RUNNER_WORKSPACE/HelloWorld-builds-cmake/build-fetchcontent-gcc-${{ matrix.build-type.key }}" -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=OFF -D CMAKE_BUILD_TYPE:STRING=${{ matrix.build-type.name }} - -D CMAKE_INSTALL_PREFIX:PATH='${{ runner.workspace }}/HelloWorld-FetchContent-Install/${{ matrix.build-type.name }}' + -D CMAKE_INSTALL_PREFIX:PATH="$RUNNER_WORKSPACE/HelloWorld-FetchContent-Install/${{ matrix.build-type.name }}" -D CMAKE_EXPORT_PACKAGE_REGISTRY:BOOL=OFF -D VCPKG_APPLOCAL_DEPS:BOOL=OFF -D VERBOSE_CONFIGURE:BOOL=ON @@ -520,7 +520,7 @@ jobs: working-directory: >- ../HelloWorld-builds-cmake/build-fetchcontent-gcc-${{ matrix.build-type.key }} run: | - cmake --build . --target install --parallel ${{ env.TinyParallel }} + cmake --build . --target install --parallel $TinyParallel - name: Ccache print statistics run: | @@ -554,7 +554,7 @@ jobs: --jq '.[] | select (.path | endswith("/vcpkg-linux-drivers.yml")) | .state') if [ $? -eq 0 ] && [[ "$workflowState" == 'active' ]]; then - gh workflow run vcpkg-linux-drivers.yml --ref ${{ github.ref_name }} + gh workflow run vcpkg-linux-drivers.yml --ref "$GITHUB_REF_NAME" fi env: GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/vcpkg-windows-drivers.yml b/.github/workflows/vcpkg-windows-drivers.yml index 3e9060e15..4cedc9402 100644 --- a/.github/workflows/vcpkg-windows-drivers.yml +++ b/.github/workflows/vcpkg-windows-drivers.yml @@ -49,7 +49,7 @@ jobs: # this way because I tried to refactor it to the env.TinyRunnerWorkPath and it looks terrible - name: TinyORM prepare environment run: | - $runnerWorkPath = Resolve-Path -Path '${{ runner.workspace }}/..' + $runnerWorkPath = Resolve-Path -Path "$env:RUNNER_WORKSPACE/.." "TinyRunnerWorkPath=$runnerWorkPath" >> $env:GITHUB_ENV $mysqlExePath = (Get-Command -Name mysql.exe).Source @@ -69,10 +69,10 @@ jobs: - name: MySQL add libmysql.dll on the $env:Path, INCLUDE, and LIB run: | - '${{ env.TinyMySQLInstallationPath }}\lib' >> $env:GITHUB_PATH + "$env:TinyMySQLInstallationPath\lib" >> $env:GITHUB_PATH # Needed by the lastest FindMySQL.cmake module, it stopped working without this - 'INCLUDE=${{ env.TinyMySQLInstallationPath }}\include' >> $env:GITHUB_ENV - 'LIB=${{ env.TinyMySQLInstallationPath }}\lib' >> $env:GITHUB_ENV + "INCLUDE=$env:TinyMySQLInstallationPath\include" >> $env:GITHUB_ENV + "LIB=$env:TinyMySQLInstallationPath\lib" >> $env:GITHUB_ENV - name: MySQL service check status run: | @@ -121,9 +121,9 @@ jobs: run: | "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" >> $env:GITHUB_ENV 'VCPKG_DEFAULT_TRIPLET=x64-windows' >> $env:GITHUB_ENV - 'VCPKG_MAX_CONCURRENCY=${{ env.TinyParallel }}' >> $env:GITHUB_ENV + "VCPKG_MAX_CONCURRENCY=$env:TinyParallel" >> $env:GITHUB_ENV - $vcpkgPath = Resolve-Path -Path '${{ env.TinyORMPath }}/cmake/vcpkg' + $vcpkgPath = Resolve-Path -Path "$env:TinyORMPath/cmake/vcpkg" $portsPath = Join-Path -Path $vcpkgPath -ChildPath 'ports' "VCPKG_OVERLAY_PORTS=$portsPath" >> $env:GITHUB_ENV @@ -148,7 +148,7 @@ jobs: - name: vcpkg needs upgrade? (once per day) run: | - $vcpkgUpgradedAtFilepath = '${{ runner.workspace }}/.vcpkg_upgraded_at' + $vcpkgUpgradedAtFilepath = "$env:RUNNER_WORKSPACE/.vcpkg_upgraded_at" if (-not (Test-Path -Path $vcpkgUpgradedAtFilepath)) { 'TINY_VCPKG_NEEDS_UPGRADE=true' >> $env:GITHUB_ENV @@ -158,7 +158,7 @@ jobs: $datePreviousUpgrade = New-Object System.DateTime $result = [System.DateTime]::TryParseExact( ` - (Get-Content '${{ runner.workspace }}/.vcpkg_upgraded_at'), 'yyyyMMdd', ` + (Get-Content "$env:RUNNER_WORKSPACE/.vcpkg_upgraded_at"), 'yyyyMMdd', ` [cultureinfo]::InvariantCulture, ` [System.Globalization.DateTimeStyles]::None -bor ` [System.Globalization.DateTimeStyles]::AssumeLocal, [ref]$datePreviousUpgrade) @@ -184,7 +184,7 @@ jobs: .\bootstrap-vcpkg.bat - Get-Date -Format 'yyyyMMdd' > '${{ runner.workspace }}/.vcpkg_upgraded_at' + Get-Date -Format 'yyyyMMdd' > "$env:RUNNER_WORKSPACE/.vcpkg_upgraded_at" - name: CMake print version run: | @@ -201,9 +201,9 @@ jobs: . ./tools/private/Common-Deploy.ps1 $portfileQt6Path = Resolve-Path -Path './cmake/vcpkg/ports/tinyorm/portfile.cmake' - $vcpkgRef = '${{ github.sha }}' + $vcpkgRef = $env:GITHUB_SHA - Edit-VcpkgRefAndHash -Project '${{ github.repository }}' -Ref $vcpkgRef ` + Edit-VcpkgRefAndHash -Project $env:GITHUB_REPOSITORY -Ref $vcpkgRef ` -PortFile $portfileQt6Path -EnableRetries # The following two steps (vcpkg install) are not needed below they only test if the vcpkg @@ -306,7 +306,7 @@ jobs: cmake.exe --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/HelloWorld-builds-cmake/Drivers-vcpkgmanifest-msvc-${{ matrix.build-type.key }}' + -B "$env:RUNNER_WORKSPACE/HelloWorld-builds-cmake/Drivers-vcpkgmanifest-msvc-${{ matrix.build-type.key }}" -G Ninja -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=ON @@ -318,7 +318,7 @@ jobs: working-directory: >- ../HelloWorld-builds-cmake/Drivers-vcpkgmanifest-msvc-${{ matrix.build-type.key }} run: | - cmake.exe --build . --target all --parallel ${{ env.TinyParallel }} + cmake.exe --build . --target all --parallel $env:TinyParallel - name: HelloWorld-TinyDrivers execute (MySQL) 🏁 working-directory: >- @@ -347,7 +347,7 @@ jobs: # for TinyDrivers). - name: Ccache prepare environment run: | - $ccacheDirPath = Join-Path -Path '${{ runner.workspace }}' -ChildPath ccache_drivers + $ccacheDirPath = Join-Path -Path $env:RUNNER_WORKSPACE -ChildPath ccache_drivers "CCACHE_DIR=$ccacheDirPath" >> $env:GITHUB_ENV # Manual method linking against the TinyORM build tree (no install or deployment) @@ -369,7 +369,7 @@ jobs: cmake.exe --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/TinyORM-builds-cmake/Drivers-manual-msvc-${{ matrix.build-type.key }}' + -B "$env:RUNNER_WORKSPACE/TinyORM-builds-cmake/Drivers-manual-msvc-${{ matrix.build-type.key }}" -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH='ccache.exe' -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" @@ -393,7 +393,7 @@ jobs: - name: TinyORM cmake build ✨ (manual-msvc-${{ matrix.build-type.key }}) working-directory: ../TinyORM-builds-cmake/Drivers-manual-msvc-${{ matrix.build-type.key }} run: | - cmake.exe --build . --target all --parallel ${{ env.TinyParallel }} + cmake.exe --build . --target all --parallel $env:TinyParallel - name: Ccache print statistics run: | @@ -413,9 +413,9 @@ jobs: cmake.exe --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/HelloWorld-builds-cmake/Drivers-manual-msvc-${{ matrix.build-type.key }}' + -B "$env:RUNNER_WORKSPACE/HelloWorld-builds-cmake/Drivers-manual-msvc-${{ matrix.build-type.key }}" -G Ninja - -D CMAKE_PREFIX_PATH:PATH='${{ runner.workspace }}/TinyORM-builds-cmake/Drivers-manual-msvc-${{ matrix.build-type.key }}' + -D CMAKE_PREFIX_PATH:PATH="$env:RUNNER_WORKSPACE/TinyORM-builds-cmake/Drivers-manual-msvc-${{ matrix.build-type.key }}" -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=${{ matrix.build-type.name }} @@ -426,7 +426,7 @@ jobs: working-directory: >- ../HelloWorld-builds-cmake/Drivers-manual-msvc-${{ matrix.build-type.key }} run: | - cmake.exe --build . --target all --parallel ${{ env.TinyParallel }} + cmake.exe --build . --target all --parallel $env:TinyParallel - name: HelloWorld-TinyDrivers execute (MySQL) 🏁 working-directory: >- @@ -462,8 +462,8 @@ jobs: - name: HelloWorld-TinyDrivers prepare FetchContent method (update GIT_TAG) working-directory: HelloWorld-TinyDrivers run: | - $toolsPath = Resolve-Path -Path '${{ env.TinyORMPath }}/tools/private' - $gitTag = '${{ github.sha }}' + $toolsPath = Resolve-Path -Path "$env:TinyORMPath/tools/private" + $gitTag = $env:GITHUB_SHA & "$toolsPath/Edit-FetchContentGitTag.ps1" -CMakeLists ./CMakeLists.txt -GitTag $gitTag @@ -478,13 +478,13 @@ jobs: cmake.exe --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/HelloWorld-builds-cmake/Drivers-fetchcontent-msvc-${{ matrix.build-type.key }}' + -B "$env:RUNNER_WORKSPACE/HelloWorld-builds-cmake/Drivers-fetchcontent-msvc-${{ matrix.build-type.key }}" -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH='ccache.exe' -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=${{ matrix.build-type.name }} - -D CMAKE_INSTALL_PREFIX:PATH='${{ runner.workspace }}/HelloWorld-TinyDrivers-FetchContent-Install/${{ matrix.build-type.name }}' + -D CMAKE_INSTALL_PREFIX:PATH="$env:RUNNER_WORKSPACE/HelloWorld-TinyDrivers-FetchContent-Install/${{ matrix.build-type.name }}" -D CMAKE_EXPORT_PACKAGE_REGISTRY:BOOL=OFF -D VCPKG_APPLOCAL_DEPS:BOOL=OFF -D VERBOSE_CONFIGURE:BOOL=ON @@ -505,7 +505,7 @@ jobs: working-directory: >- ../HelloWorld-builds-cmake/Drivers-fetchcontent-msvc-${{ matrix.build-type.key }} run: | - cmake.exe --build . --target install --parallel ${{ env.TinyParallel }} + cmake.exe --build . --target install --parallel $env:TinyParallel - name: Ccache print statistics run: | @@ -543,7 +543,7 @@ jobs: --jq '.[] | select (.path | endswith("/msys2-ucrt64-drivers.yml")) | .state' if ($? -and $workflowState -ceq 'active') { - gh workflow run msys2-ucrt64-drivers.yml --ref ${{ github.ref_name }} + gh workflow run msys2-ucrt64-drivers.yml --ref $env:GITHUB_REF_NAME } env: GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/vcpkg-windows.yml b/.github/workflows/vcpkg-windows.yml index 3167aa7e4..e6f6e81b7 100644 --- a/.github/workflows/vcpkg-windows.yml +++ b/.github/workflows/vcpkg-windows.yml @@ -58,11 +58,11 @@ jobs: # this way because I tried to refactor it to the env.TinyRunnerWorkPath and it looks terrible - name: TinyORM prepare environment run: | - $runnerWorkPath = Resolve-Path -Path '${{ runner.workspace }}/..' + $runnerWorkPath = Resolve-Path -Path "$env:RUNNER_WORKSPACE/.." "TinyRunnerWorkPath=$runnerWorkPath" >> $env:GITHUB_ENV # Starts with the merydeye- - $isSelfHostedRunner = '${{ runner.name }}'.StartsWith('merydeye-', $true, $null) + $isSelfHostedRunner = $env:RUNNER_NAME.StartsWith('merydeye-', $true, $null) "TinyIsSelfHostedRunner=$isSelfHostedRunner" >> $env:GITHUB_ENV # Parallel 10 is maximum what my computer allows, I have to invoke Linux self-hosted runners @@ -100,9 +100,9 @@ jobs: run: | "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" >> $env:GITHUB_ENV 'VCPKG_DEFAULT_TRIPLET=x64-windows' >> $env:GITHUB_ENV - 'VCPKG_MAX_CONCURRENCY=${{ env.TinyParallel }}' >> $env:GITHUB_ENV + "VCPKG_MAX_CONCURRENCY=$env:TinyParallel" >> $env:GITHUB_ENV - $vcpkgPath = Resolve-Path -Path '${{ env.TinyORMPath }}/cmake/vcpkg' + $vcpkgPath = Resolve-Path -Path "$env:TinyORMPath/cmake/vcpkg" $portsPath = Join-Path -Path $vcpkgPath -ChildPath 'ports' "VCPKG_OVERLAY_PORTS=$portsPath" >> $env:GITHUB_ENV @@ -128,7 +128,7 @@ jobs: - name: vcpkg needs upgrade? (once per day) run: | - $vcpkgUpgradedAtFilepath = '${{ runner.workspace }}/.vcpkg_upgraded_at' + $vcpkgUpgradedAtFilepath = "$env:RUNNER_WORKSPACE/.vcpkg_upgraded_at" if (-not (Test-Path -Path $vcpkgUpgradedAtFilepath)) { 'TINY_VCPKG_NEEDS_UPGRADE=true' >> $env:GITHUB_ENV @@ -138,7 +138,7 @@ jobs: $datePreviousUpgrade = New-Object System.DateTime $result = [System.DateTime]::TryParseExact( ` - (Get-Content '${{ runner.workspace }}/.vcpkg_upgraded_at'), 'yyyyMMdd', ` + (Get-Content "$env:RUNNER_WORKSPACE/.vcpkg_upgraded_at"), 'yyyyMMdd', ` [cultureinfo]::InvariantCulture, ` [System.Globalization.DateTimeStyles]::None -bor ` [System.Globalization.DateTimeStyles]::AssumeLocal, [ref]$datePreviousUpgrade) @@ -164,7 +164,7 @@ jobs: .\bootstrap-vcpkg.bat - Get-Date -Format 'yyyyMMdd' > '${{ runner.workspace }}/.vcpkg_upgraded_at' + Get-Date -Format 'yyyyMMdd' > "$env:RUNNER_WORKSPACE/.vcpkg_upgraded_at" - name: CMake print version run: | @@ -182,9 +182,9 @@ jobs: $portfileQt6Path = Resolve-Path -Path './cmake/vcpkg/ports/tinyorm/portfile.cmake' $portfileQt5Path = Resolve-Path -Path './cmake/vcpkg/ports/tinyorm-qt5/portfile.cmake' - $vcpkgRef = '${{ github.sha }}' + $vcpkgRef = $env:GITHUB_SHA - Edit-VcpkgRefAndHash -Project '${{ github.repository }}' -Ref $vcpkgRef ` + Edit-VcpkgRefAndHash -Project $env:GITHUB_REPOSITORY -Ref $vcpkgRef ` -PortFile $portfileQt6Path, $portfileQt5Path ` -EnableRetries @@ -222,7 +222,7 @@ jobs: - name: HelloWorld move HelloWorld.sqlite3 (to parent folder) working-directory: HelloWorld run: | - Copy-Item -Path ./HelloWorld.sqlite3 -Destination '${{ runner.workspace }}' -Force + Copy-Item -Path ./HelloWorld.sqlite3 -Destination $env:RUNNER_WORKSPACE -Force - name: TinyORM create folder for build trees run: | @@ -263,7 +263,7 @@ jobs: cmake.exe --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/HelloWorld-builds-cmake/build-vcpkgmanifest-msvc-${{ matrix.build-type.key }}' + -B "$env:RUNNER_WORKSPACE/HelloWorld-builds-cmake/build-vcpkgmanifest-msvc-${{ matrix.build-type.key }}" -G Ninja -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=ON @@ -275,7 +275,7 @@ jobs: working-directory: >- ../HelloWorld-builds-cmake/build-vcpkgmanifest-msvc-${{ matrix.build-type.key }} run: | - cmake.exe --build . --target all --parallel ${{ env.TinyParallel }} + cmake.exe --build . --target all --parallel $env:TinyParallel # Related issue: https://github.com/microsoft/vcpkg/issues/33539 - name: HelloWorld finish VCPKG_APPLOCAL_DEPS (Debug) @@ -343,7 +343,7 @@ jobs: - name: Ccache prepare environment if: env.TinyIsSelfHostedRunner == 'true' run: | - $ccacheDirPath = Join-Path -Path '${{ runner.workspace }}' -ChildPath ccache + $ccacheDirPath = Join-Path -Path $env:RUNNER_WORKSPACE -ChildPath ccache "CCACHE_DIR=$ccacheDirPath" >> $env:GITHUB_ENV - name: Ccache initialize @@ -414,7 +414,7 @@ jobs: cmake.exe --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/TinyORM-builds-cmake/build-manual-msvc-${{ matrix.build-type.key }}' + -B "$env:RUNNER_WORKSPACE/TinyORM-builds-cmake/build-manual-msvc-${{ matrix.build-type.key }}" -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH='ccache.exe' -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" @@ -438,7 +438,7 @@ jobs: working-directory: >- ../TinyORM-builds-cmake/build-manual-msvc-${{ matrix.build-type.key }} run: | - cmake.exe --build . --target all --parallel ${{ env.TinyParallel }} + cmake.exe --build . --target all --parallel $env:TinyParallel - name: Ccache print statistics run: | @@ -458,9 +458,9 @@ jobs: cmake.exe --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/HelloWorld-builds-cmake/build-manual-msvc-${{ matrix.build-type.key }}' + -B "$env:RUNNER_WORKSPACE/HelloWorld-builds-cmake/build-manual-msvc-${{ matrix.build-type.key }}" -G Ninja - -D CMAKE_PREFIX_PATH:PATH='${{ runner.workspace }}/TinyORM-builds-cmake/build-manual-msvc-${{ matrix.build-type.key }}' + -D CMAKE_PREFIX_PATH:PATH="$env:RUNNER_WORKSPACE/TinyORM-builds-cmake/build-manual-msvc-${{ matrix.build-type.key }}" -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=${{ matrix.build-type.name }} @@ -471,7 +471,7 @@ jobs: working-directory: >- ../HelloWorld-builds-cmake/build-manual-msvc-${{ matrix.build-type.key }} run: | - cmake.exe --build . --target all --parallel ${{ env.TinyParallel }} + cmake.exe --build . --target all --parallel $env:TinyParallel - name: HelloWorld execute (SQLite) 🏁 working-directory: >- @@ -498,8 +498,8 @@ jobs: - name: HelloWorld prepare FetchContent method (update GIT_TAG) working-directory: HelloWorld run: | - $toolsPath = Resolve-Path -Path '${{ env.TinyORMPath }}/tools/private' - $gitTag = '${{ github.sha }}' + $toolsPath = Resolve-Path -Path "$env:TinyORMPath/tools/private" + $gitTag = $env:GITHUB_SHA & "$toolsPath/Edit-FetchContentGitTag.ps1" -CMakeLists ./CMakeLists.txt -GitTag $gitTag @@ -514,13 +514,13 @@ jobs: cmake.exe --log-level=DEBUG --log-context -S . - -B '${{ runner.workspace }}/HelloWorld-builds-cmake/build-fetchcontent-msvc-${{ matrix.build-type.key }}' + -B "$env:RUNNER_WORKSPACE/HelloWorld-builds-cmake/build-fetchcontent-msvc-${{ matrix.build-type.key }}" -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER:FILEPATH='ccache.exe' -D CMAKE_TOOLCHAIN_FILE:FILEPATH="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=${{ matrix.build-type.name }} - -D CMAKE_INSTALL_PREFIX:PATH='${{ runner.workspace }}/HelloWorld-FetchContent-Install/${{ matrix.build-type.name }}' + -D CMAKE_INSTALL_PREFIX:PATH="$env:RUNNER_WORKSPACE/HelloWorld-FetchContent-Install/${{ matrix.build-type.name }}" -D CMAKE_EXPORT_PACKAGE_REGISTRY:BOOL=OFF -D VCPKG_APPLOCAL_DEPS:BOOL=OFF -D VERBOSE_CONFIGURE:BOOL=ON @@ -540,7 +540,7 @@ jobs: working-directory: >- ../HelloWorld-builds-cmake/build-fetchcontent-msvc-${{ matrix.build-type.key }} run: | - cmake.exe --build . --target install --parallel ${{ env.TinyParallel }} + cmake.exe --build . --target install --parallel $env:TinyParallel - name: Ccache print statistics run: | @@ -569,7 +569,7 @@ jobs: --jq '.[] | select (.path | endswith("/vcpkg-windows-drivers.yml")) | .state' if ($? -and $workflowState -ceq 'active') { - gh workflow run vcpkg-windows-drivers.yml --ref ${{ github.ref_name }} + gh workflow run vcpkg-windows-drivers.yml --ref $env:GITHUB_REF_NAME } env: GH_TOKEN: ${{ github.token }}