diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index c8babfe..6af372d 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -330,6 +330,7 @@ jobs: build-env: ${{ steps.build-variables.outputs.env }} build-commands: ${{ steps.build-variables.outputs.commands }} build-artifact: ${{ steps.build-variables.outputs.artifact }} + working-directory: ${{ steps.build-variables.outputs.working-directory }} steps: - name: Checkout repository if: inputs.container == '' @@ -355,6 +356,9 @@ jobs: core.setFailed(`The specified working directory does not exist: ${workingDirectory}`); return; } + workingDirectory = path.resolve(workingDirectory); + core.debug(`Running in working directory: ${workingDirectory}`); + core.setOutput('working-directory', workingDirectory); const buildInput = process.env.BUILD_INPUT.trim(); @@ -489,7 +493,7 @@ jobs: - name: Run lint uses: ./self-workflow/actions/lint with: - working-directory: ${{ inputs.working-directory }} + working-directory: ${{ needs.setup.outputs.working-directory }} container: ${{ inputs.container != '' && 'true' || 'false' }} command: ${{ steps.preparel-lint-options.outputs.command }} report-file: ${{ steps.preparel-lint-options.outputs.report-file }} @@ -536,7 +540,7 @@ jobs: uses: ./self-workflow/actions/build with: container: ${{ inputs.container != '' && 'true' || 'false' }} - working-directory: ${{ inputs.working-directory }} + working-directory: ${{ needs.setup.outputs.working-directory }} build-secrets: ${{ secrets.build-secrets }} build-commands: ${{ needs.setup.outputs.build-commands }} build-env: ${{ needs.setup.outputs.build-env }} @@ -610,7 +614,7 @@ jobs: - name: Run tests uses: ./self-workflow/actions/test with: - working-directory: ${{ inputs.working-directory }} + working-directory: ${{ needs.setup.outputs.working-directory }} container: ${{ inputs.container != '' && 'true' || 'false' }} command: ${{ steps.prepare-test-options.outputs.command }} coverage: ${{ steps.prepare-test-options.outputs.coverage }} diff --git a/actions/build/action.yml b/actions/build/action.yml index 127c153..5678a89 100644 --- a/actions/build/action.yml +++ b/actions/build/action.yml @@ -124,25 +124,17 @@ runs: with: script: | const fs = require('node:fs'); - const path = require('node:path'); - - const buildCommands = process.env.BUILD_COMMANDS || ''; - const runScriptCommand = process.env.RUN_SCRIPT_COMMAND; - - let workingDirectory = process.env.WORKING_DIRECTORY || '.'; - if (!path.isAbsolute(workingDirectory)) { - workingDirectory = path.join(process.env.GITHUB_WORKSPACE, workingDirectory); - } - + const workingDirectory = process.env.WORKING_DIRECTORY; if (!fs.existsSync(workingDirectory)) { core.setFailed(`The specified working directory does not exist: ${workingDirectory}`); return; } - - workingDirectory = path.resolve(workingDirectory); core.debug(`Running in working directory: ${workingDirectory}`); process.chdir(workingDirectory); + const buildCommands = process.env.BUILD_COMMANDS || ''; + const runScriptCommand = process.env.RUN_SCRIPT_COMMAND; + const commands = buildCommands.split('\n') .map(cmd => cmd.trim()) .filter(Boolean); diff --git a/actions/lint/action.yml b/actions/lint/action.yml index 8f4ce79..4ba247b 100644 --- a/actions/lint/action.yml +++ b/actions/lint/action.yml @@ -68,25 +68,17 @@ runs: with: script: | const fs = require('node:fs'); - const path = require('node:path'); - - const runScriptCommand = process.env.RUN_LINT_COMMAND; - const lintCommand = process.env.LINT_COMMAND || 'lint:ci'; - - let workingDirectory = process.env.WORKING_DIRECTORY || '.'; - if (!path.isAbsolute(workingDirectory)) { - workingDirectory = path.join(process.env.GITHUB_WORKSPACE, workingDirectory); - } - + const workingDirectory = process.env.WORKING_DIRECTORY; if (!fs.existsSync(workingDirectory)) { core.setFailed(`The specified working directory does not exist: ${workingDirectory}`); return; } - - workingDirectory = path.resolve(workingDirectory); core.debug(`Running in working directory: ${workingDirectory}`); process.chdir(workingDirectory); + const runScriptCommand = process.env.RUN_LINT_COMMAND; + const lintCommand = process.env.LINT_COMMAND || 'lint:ci'; + core.info(`๐Ÿ‘• Running lint command: ${lintCommand}...`); try { diff --git a/actions/test/action.yml b/actions/test/action.yml index 888a2ff..a3942dd 100644 --- a/actions/test/action.yml +++ b/actions/test/action.yml @@ -85,25 +85,18 @@ runs: with: script: | const fs = require('node:fs'); - const path = require('node:path'); - - const runScriptCommand = process.env.RUN_TEST_COMMAND; - const testCommand = process.env.TEST_COMMAND || 'test:ci'; - - let workingDirectory = process.env.WORKING_DIRECTORY || '.'; - if (!path.isAbsolute(workingDirectory)) { - workingDirectory = path.join(process.env.GITHUB_WORKSPACE, workingDirectory); - } - + const workingDirectory = process.env.WORKING_DIRECTORY; if (!fs.existsSync(workingDirectory)) { core.setFailed(`The specified working directory does not exist: ${workingDirectory}`); return; } - - workingDirectory = path.resolve(workingDirectory); core.debug(`Running in working directory: ${workingDirectory}`); process.chdir(workingDirectory); + const runScriptCommand = process.env.RUN_TEST_COMMAND; + const testCommand = process.env.TEST_COMMAND || 'test:ci'; + + core.info(`๐Ÿงช Running test command: ${testCommand}...`); try { @@ -152,6 +145,8 @@ runs: if: always() && inputs.coverage == 'codecov' uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1 with: + directory: ${{ inputs.working-directory }} + root_dir: ${{ inputs.working-directory }} working-directory: ${{ inputs.working-directory }} use_oidc: true disable_telem: true