Compare commits

...

11 Commits

Author SHA1 Message Date
claude-ceo-assistant 17dfca638d chore: remove upstream CI workflows (mirror inertization per internal#233) 2026-05-10 14:28:28 +00:00
claude-ceo-assistant c94abe622f chore: remove upstream CI workflows (mirror inertization per internal#233) 2026-05-10 14:28:27 +00:00
claude-ceo-assistant c880721688 chore: remove upstream CI workflows (mirror inertization per internal#233) 2026-05-10 14:28:27 +00:00
claude-ceo-assistant 1620699294 chore: remove upstream CI workflows (mirror inertization per internal#233) 2026-05-10 14:28:26 +00:00
Fabian fc324d3547 Merge pull request #139 from Tom-van-Woudenberg/patch-1
Update upload-artifact action to version 7
2026-04-08 14:09:19 -05:00
Tom van Woudenberg fe9d4b7d84 Merge branch 'main' into patch-1 2026-04-08 21:07:21 +02:00
Fabian 0ca16172ca Merge pull request #137 from jonchurch/include-hidden-files
feat: add `include-hidden-files` input
2026-03-26 12:20:46 -05:00
Tom van Woudenberg 57f0e8492b Update action.yml
Co-authored-by: Martin Costello <martin@martincostello.com>
2026-03-26 07:40:27 +01:00
Tom van Woudenberg 4a90348b29 v7 --> hash 2026-03-23 08:16:10 +01:00
Tom van Woudenberg 56f665a6f2 Update upload-artifact action to version 7
As required for https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
2026-03-11 16:16:36 +01:00
Jon Church f7615f5917 Add include-hidden-files input
# The Problem

Hidden files and directories (e.g. `.well-known`) are unconditionally excluded from the tar archive. There is no way to include them. (#129)

# The Solution

Add an `include-hidden-files` input (default `false`) that skips the `--exclude=.[^/]*` pattern when set to `true`. `.git` and `.github` are always excluded regardless. Test coverage added for the new option.

I think this is the right approach rather than #134. Keep the default behavior safe, and give a sane option to users who know what they're doing. It was safe enough for upload-artifact, it should be safe enough here.

# Context

`actions/upload-artifact` introduced hidden file exclusion and a corresponding `include-hidden-files` option in [v4.4.0](https://github.com/actions/upload-artifact/releases/tag/v4.4.0). This action adopted the same exclusion behavior in its tar step but never added the equivalent option. This PR closes that gap.

The only sane workaround without this option is to drop this action, manually create the tar, and hand it to `upload-artifact` directly. See [expressjs/expressjs.com#2173](https://github.com/expressjs/expressjs.com/pull/2173) for an example.
2026-01-30 14:03:56 -05:00
6 changed files with 9 additions and 127 deletions
-14
View File
@@ -1,14 +0,0 @@
name: Draft release
on:
push:
branches:
- main
jobs:
draft-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: release-drafter/release-drafter@3f0f87098bd6b5c5b9a36d49c41d998ea58f9348
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -1,20 +0,0 @@
name: 'Publish Immutable Action Version'
on:
release:
types: [published]
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: write
steps:
- name: Checking out
uses: actions/checkout@v4
- name: Publish
id: publish
uses: actions/publish-immutable-action@0.0.3
-30
View File
@@ -1,30 +0,0 @@
name: Release
on:
release:
types: [released]
workflow_dispatch:
inputs:
TAG_NAME:
description: "Tag name that the major tag will point to"
required: true
env:
TAG_NAME: ${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }}
permissions:
contents: write
jobs:
update_tag:
name: Update the major tag to include the ${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }} changes
runs-on: ubuntu-latest
environment:
# Note: this environment is protected
name: Release
steps:
- name: Update the ${{ env.TAG_NAME }} tag
id: update-major-tag
uses: actions/publish-action@v0.3.0
with:
source-tag: ${{ env.TAG_NAME }}
slack-webhook: ${{ secrets.SLACK_WEBHOOK }}
-59
View File
@@ -1,59 +0,0 @@
name: Run Tests
#
# Create some files with script/new-artifact.sh and confirm they are properly packaged and uploaded
# as artifacts with the actions.
#
# This is tested on all OS platforms where we have hosted runners.
#
on:
push:
branches:
- main
pull_request:
jobs:
test:
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-${{ matrix.os }}
path: artifact
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: pages-artifact-${{ matrix.os }}
path: artifact2
- name: Extract artifact
run: tar -xf artifact2/artifact.tar -C artifact2 && rm artifact2/artifact.tar
shell: bash
- name: Check for absence of hidden files
run: if [ $(find artifact2 -regex ".*/\..*" | wc -l) != 0 ]; then echo "Hidden files found"; exit 1; fi
shell: bash
- name: Compare files
run: |
rm artifact/.hidden
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
+1
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 📤
+8 -4
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::
@@ -77,7 +81,7 @@ runs:
- name: Upload artifact
id: upload-artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: ${{ inputs.name }}
path: ${{ runner.temp }}/artifact.tar