Merge pull request #137 from jonchurch/include-hidden-files

feat: add `include-hidden-files` input
This commit is contained in:
Fabian
2026-03-26 12:20:46 -05:00
committed by GitHub
3 changed files with 51 additions and 3 deletions

View File

@@ -57,3 +57,46 @@ jobs:
- name: Check for absence of symlinks
run: if [ $(find artifact2 -type l | wc -l) != 0 ]; then echo "Symlinks found"; exit 1; fi
shell: bash
test-include-hidden:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Generate files
run: mkdir artifact && mkdir artifact2 && cd artifact && ../script/new-artifact.sh
shell: bash
- name: Upload Pages artifact
uses: ./
with:
name: pages-artifact-hidden-${{ matrix.os }}
path: artifact
include-hidden-files: true
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: pages-artifact-hidden-${{ matrix.os }}
path: artifact2
- name: Extract artifact
run: tar -xf artifact2/artifact.tar -C artifact2 && rm artifact2/artifact.tar
shell: bash
- name: Check for presence of hidden files
run: if [ $(find artifact2 -regex ".*/\..*" | wc -l) == 0 ]; then echo "Hidden files not found"; exit 1; fi
shell: bash
- name: Compare files
run: diff -qr artifact artifact2
shell: bash
- name: Check for absence of symlinks
run: if [ $(find artifact2 -type l | wc -l) != 0 ]; then echo "Symlinks found"; exit 1; fi
shell: bash

View File

@@ -48,6 +48,7 @@ jobs:
| `name` | `false` | `github-pages` | Artifact name |
| `path` | `true` | `_site/` | Path of the directory containing the static assets |
| `retention-days` | `false` | `1` | Duration after which artifact will expire in days |
| `include-hidden-files` | `false` | `false` | Include hidden files and directories (those starting with a dot) in the artifact. Excludes `.git` and `.github` regardless. |
### Outputs 📤

View File

@@ -14,6 +14,10 @@ inputs:
description: "Duration after which artifact will expire in days."
required: false
default: "1"
include-hidden-files:
description: "Include hidden files and directories (those starting with a dot) in the artifact. Excludes .git and .github regardless."
required: false
default: "false"
outputs:
artifact_id:
description: "The ID of the artifact that was uploaded."
@@ -32,7 +36,7 @@ runs:
-cvf "$RUNNER_TEMP/artifact.tar" \
--exclude=.git \
--exclude=.github \
--exclude=".[^/]*" \
${{ inputs.include-hidden-files != 'true' && '--exclude=.[^/]*' || '' }} \
.
echo ::endgroup::
env:
@@ -50,7 +54,7 @@ runs:
-cvf "$RUNNER_TEMP/artifact.tar" \
--exclude=.git \
--exclude=.github \
--exclude=".[^/]*" \
${{ inputs.include-hidden-files != 'true' && '--exclude=.[^/]*' || '' }} \
.
echo ::endgroup::
env:
@@ -68,7 +72,7 @@ runs:
-cvf "$RUNNER_TEMP\artifact.tar" \
--exclude=.git \
--exclude=.github \
--exclude=".[^/]*" \
${{ inputs.include-hidden-files != 'true' && '--exclude=.[^/]*' || '' }} \
--force-local \
"."
echo ::endgroup::