mirror of
https://github.com/actions/upload-pages-artifact.git
synced 2026-02-09 03:45:23 +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:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: release-drafter/release-drafter@v5
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -1,7 +1,7 @@
|
||||
name: Release
|
||||
on:
|
||||
release:
|
||||
types: [edited]
|
||||
types: [released]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
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
|
||||
steps:
|
||||
- name: Archive artifact
|
||||
shell: bash
|
||||
shell: sh
|
||||
if: runner.os == 'Linux'
|
||||
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 \
|
||||
--dereference --hard-dereference \
|
||||
--directory ${{ inputs.path }} \
|
||||
-cvf ${{ runner.temp }}/artifact.tar \
|
||||
--directory "$INPUT_PATH" \
|
||||
-cvf "$RUNNER_TEMP/artifact.tar" \
|
||||
--exclude=.git \
|
||||
--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)
|
||||
- name: Archive artifact
|
||||
shell: bash
|
||||
shell: sh
|
||||
if: runner.os == 'macOS'
|
||||
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 \
|
||||
--dereference --hard-dereference \
|
||||
--directory ${{ inputs.path }} \
|
||||
-cvf ${{ runner.temp }}/artifact.tar \
|
||||
--directory "$INPUT_PATH" \
|
||||
-cvf "$RUNNER_TEMP/artifact.tar" \
|
||||
--exclude=.git \
|
||||
--exclude=.github \
|
||||
.
|
||||
env:
|
||||
INPUT_PATH: ${{ inputs.path }}
|
||||
|
||||
# Massage the paths for Windows only
|
||||
- name: Archive artifact
|
||||
@@ -45,12 +57,14 @@ runs:
|
||||
run: |
|
||||
tar \
|
||||
--dereference --hard-dereference \
|
||||
--directory "${{ inputs.path }}" \
|
||||
-cvf "${{ runner.temp }}\artifact.tar" \
|
||||
--directory "$INPUT_PATH" \
|
||||
-cvf "$RUNNER_TEMP\artifact.tar" \
|
||||
--exclude=.git \
|
||||
--exclude=.github \
|
||||
--force-local \
|
||||
"."
|
||||
env:
|
||||
INPUT_PATH: ${{ inputs.path }}
|
||||
|
||||
- name: Upload artifact
|
||||
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