Skip to content
47 linesCodeBlameRaw
1name: Detect a g1t.page project
2description: Says what a g1t.page build of this checkout would find, without building anything. Its kind, how it installs, what builds it and where its output is.
3author: g1t
4
5inputs:
6 root-dir:
7 description: Where the project is in the checkout. The checkout itself unless you say.
8 required: false
9 default: ""
10 build-command:
11 description: A build command of your own, as g1t/deploy takes it.
12 required: false
13 default: ""
14 output-dir:
15 description: An output folder of your own, as g1t/deploy takes it.
16 required: false
17 default: ""
18
19outputs:
20 kind:
21 description: workers (a Wrangler config), static (a site a build writes), html (the files as they are) or none.
22 value: ${{ steps.detect.outputs.kind }}
23 install:
24 description: How its dependencies are installed, such as npm ci. Empty without a package.json.
25 value: ${{ steps.detect.outputs.install }}
26 build:
27 description: What builds it. Empty when nothing does.
28 value: ${{ steps.detect.outputs.build }}
29 output-dir:
30 description: The folder that is served, relative to the project (. for the project itself). Empty when a build has yet to write it.
31 value: ${{ steps.detect.outputs.output-dir }}
32
33runs:
34 using: composite
35 steps:
36 - id: detect
37 shell: bash
38 env:
39 ROOT_DIR: ${{ inputs.root-dir }}
40 BUILD_COMMAND: ${{ inputs.build-command }}
41 OUTPUT_DIR: ${{ inputs.output-dir }}
42 run: |
43 set -euo pipefail
44 runner="$(bash "$GITHUB_ACTION_PATH/runner.sh")"
45 found="$("$runner" detect)"
46 echo "$found"
47 echo "$found" >> "$GITHUB_OUTPUT"