mirror of
https://github.com/actions/upload-pages-artifact.git
synced 2026-05-14 11:56:59 +00:00
Compare commits
22 Commits
v1.0.3
...
change-fil
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61a978d261 | ||
|
|
3cb2c0f93b | ||
|
|
e02d70a4e3 | ||
|
|
73b4a0753a | ||
|
|
aff0f4398b | ||
|
|
42a1761ba2 | ||
|
|
12e73a1efa | ||
|
|
a597aecd27 | ||
|
|
fa880244ea | ||
|
|
70a14093be | ||
|
|
fb03cce750 | ||
|
|
287627f624 | ||
|
|
88565766e5 | ||
|
|
d3a918bb5e | ||
|
|
8ad82273b5 | ||
|
|
2f3239288b | ||
|
|
fc6db751bf | ||
|
|
888798aeba | ||
|
|
2ab5cde5b2 | ||
|
|
ae9ee82aa6 | ||
|
|
78f064a158 | ||
|
|
6b3212610f |
2
.github/workflows/draft-release.yml
vendored
2
.github/workflows/draft-release.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
|||||||
draft-release:
|
draft-release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: release-drafter/release-drafter@v5
|
- uses: release-drafter/release-drafter@v5
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -1,7 +1,7 @@
|
|||||||
name: Release
|
name: Release
|
||||||
on:
|
on:
|
||||||
release:
|
release:
|
||||||
types: [edited]
|
types: [released]
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
TAG_NAME:
|
TAG_NAME:
|
||||||
|
|||||||
52
.github/workflows/test-hosted-runners.yml
vendored
Normal file
52
.github/workflows/test-hosted-runners.yml
vendored
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
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@v3
|
||||||
|
|
||||||
|
- name: Generate files
|
||||||
|
run: mkdir artifact && mkdir artifact2 && cd artifact && ../script/new-artifact.sh
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Upload Pages artifact
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
path: artifact
|
||||||
|
|
||||||
|
- name: Download artifact
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: github-pages
|
||||||
|
path: artifact2
|
||||||
|
|
||||||
|
- name: Extract artifact
|
||||||
|
run: tar -xf artifact2/artifact.tar -C artifact2 && rm artifact2/artifact.tar
|
||||||
|
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
|
||||||
30
action.yml
30
action.yml
@@ -14,29 +14,41 @@ runs:
|
|||||||
using: composite
|
using: composite
|
||||||
steps:
|
steps:
|
||||||
- name: Archive artifact
|
- name: Archive artifact
|
||||||
shell: bash
|
shell: sh
|
||||||
if: runner.os == 'Linux'
|
if: runner.os == 'Linux'
|
||||||
run: |
|
run: |
|
||||||
|
for f in $(chmod -c -R +r . | awk '{print substr($3, 2, length($3)-2)}')
|
||||||
|
do
|
||||||
|
echo "::warning::Added read permission to $f"
|
||||||
|
done
|
||||||
tar \
|
tar \
|
||||||
--dereference --hard-dereference \
|
--dereference --hard-dereference \
|
||||||
--directory ${{ inputs.path }} \
|
--directory "$INPUT_PATH" \
|
||||||
-cvf ${{ runner.temp }}/artifact.tar \
|
-cvf "$RUNNER_TEMP/artifact.tar" \
|
||||||
--exclude=.git \
|
--exclude=.git \
|
||||||
--exclude=.github \
|
--exclude=.github \
|
||||||
.
|
.
|
||||||
|
env:
|
||||||
|
INPUT_PATH: ${{ inputs.path }}
|
||||||
|
|
||||||
# Switch to gtar (GNU tar instead of bsdtar which is the default in the MacOS runners so we can use --hard-dereference)
|
# Switch to gtar (GNU tar instead of bsdtar which is the default in the MacOS runners so we can use --hard-dereference)
|
||||||
- name: Archive artifact
|
- name: Archive artifact
|
||||||
shell: bash
|
shell: sh
|
||||||
if: runner.os == 'macOS'
|
if: runner.os == 'macOS'
|
||||||
run: |
|
run: |
|
||||||
|
for f in $(gchmod -c -R +r . | awk '{print substr($3, 2, length($3)-2)}')
|
||||||
|
do
|
||||||
|
echo "::warning::Added read permission to $f"
|
||||||
|
done
|
||||||
gtar \
|
gtar \
|
||||||
--dereference --hard-dereference \
|
--dereference --hard-dereference \
|
||||||
--directory ${{ inputs.path }} \
|
--directory "$INPUT_PATH" \
|
||||||
-cvf ${{ runner.temp }}/artifact.tar \
|
-cvf "$RUNNER_TEMP/artifact.tar" \
|
||||||
--exclude=.git \
|
--exclude=.git \
|
||||||
--exclude=.github \
|
--exclude=.github \
|
||||||
.
|
.
|
||||||
|
env:
|
||||||
|
INPUT_PATH: ${{ inputs.path }}
|
||||||
|
|
||||||
# Massage the paths for Windows only
|
# Massage the paths for Windows only
|
||||||
- name: Archive artifact
|
- name: Archive artifact
|
||||||
@@ -45,12 +57,14 @@ runs:
|
|||||||
run: |
|
run: |
|
||||||
tar \
|
tar \
|
||||||
--dereference --hard-dereference \
|
--dereference --hard-dereference \
|
||||||
--directory "${{ inputs.path }}" \
|
--directory "$INPUT_PATH" \
|
||||||
-cvf "${{ runner.temp }}\artifact.tar" \
|
-cvf "$RUNNER_TEMP\artifact.tar" \
|
||||||
--exclude=.git \
|
--exclude=.git \
|
||||||
--exclude=.github \
|
--exclude=.github \
|
||||||
--force-local \
|
--force-local \
|
||||||
"."
|
"."
|
||||||
|
env:
|
||||||
|
INPUT_PATH: ${{ inputs.path }}
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@main
|
uses: actions/upload-artifact@main
|
||||||
|
|||||||
10
script/new-artifact.sh
Executable file
10
script/new-artifact.sh
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Create some files and directories in the current folder
|
||||||
|
echo 'hello' > hello.txt
|
||||||
|
mkdir subdir
|
||||||
|
echo 'world' > subdir/world.txt
|
||||||
|
|
||||||
|
# Add some symlinks (which we should dereference properly when archiving)
|
||||||
|
ln -s subdir subdir-link
|
||||||
|
ln -s hello.txt bonjour.txt
|
||||||
Reference in New Issue
Block a user