Pass public run ID to artifacts service. #21
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- '**.md' | |
pull_request: | |
paths-ignore: | |
- '**.md' | |
jobs: | |
build: | |
name: Build | |
strategy: | |
matrix: | |
runs-on: [namespace-profile-default, namespace-profile-default-arm64, namespace-profile-macos-sm] | |
fail-fast: false | |
runs-on: ${{ matrix.runs-on }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node 20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
cache: 'npm' | |
- run: | | |
git submodule update --init actions-toolkit | |
cd actions-toolkit/packages/artifact | |
npm install | |
- name: Install dependencies | |
run: npm ci | |
- name: Compile | |
run: npm run build | |
- name: Lint | |
run: npm run lint | |
- name: Format | |
run: npm run format-check | |
# - name: Test | |
# run: npm run test | |
# Test end-to-end by uploading two artifacts and then downloading them | |
- name: Create artifact files | |
run: | | |
mkdir -p path/to/dir-1 | |
mkdir -p path/to/dir-2 | |
mkdir -p path/to/dir-3 | |
echo "Lorem ipsum dolor sit amet" > path/to/dir-1/file1.txt | |
echo "Hello world from file #2" > path/to/dir-2/file2.txt | |
# Upload a single file artifact | |
- name: 'Upload artifact #1' | |
uses: ./ | |
with: | |
name: 'Artifact-A-${{ matrix.runs-on }}' | |
path: path/to/dir-1/file1.txt | |
# Upload using a wildcard pattern | |
- name: 'Upload artifact #2' | |
uses: ./ | |
with: | |
name: 'Artifact-Wildcard-${{ matrix.runs-on }}' | |
path: path/**/dir*/ | |
# Upload a multi-path artifact | |
- name: 'Upload artifact #3' | |
uses: ./ | |
with: | |
name: 'Multi-Path-Artifact-${{ matrix.runs-on }}' | |
path: | | |
path/to/dir-1/* | |
path/to/dir-[23]/* | |
!path/to/dir-3/*.txt | |
# Download Artifact #1 and verify the correctness of the content | |
- name: 'Download artifact #1' | |
uses: namespace-actions/download-artifact@v0 | |
with: | |
name: 'Artifact-A-${{ matrix.runs-on }}' | |
path: some/new/path | |
- name: 'Verify Artifact #1' | |
run: | | |
str="Lorem ipsum dolor sit amet" | |
if [[ $(< some/new/path/file1.txt) != "$str" ]]; then | |
exit 1 | |
fi | |
# Download Artifact #2 and verify the correctness of the content | |
- name: 'Download artifact #2' | |
uses: namespace-actions/download-artifact@v0 | |
with: | |
name: 'Artifact-Wildcard-${{ matrix.runs-on }}' | |
path: some/other/path | |
- name: 'Verify Artifact #2' | |
run: | | |
str="Lorem ipsum dolor sit amet" | |
if [[ $(< some/other/path/to/dir-1/file1.txt) != "$str" ]]; then | |
exit 1 | |
fi | |
str="Hello world from file #2" | |
if [[ $(< some/other/path/to/dir-2/file2.txt) != "$str" ]]; then | |
exit 1 | |
fi | |
# Download Artifact #4 and verify the correctness of the content | |
- name: 'Download artifact #4' | |
uses: namespace-actions/download-artifact@v0 | |
with: | |
name: 'Multi-Path-Artifact-${{ matrix.runs-on }}' | |
path: multi/artifact | |
- name: 'Verify Artifact #4' | |
run: | | |
str="Lorem ipsum dolor sit amet" | |
if [[ $(< multi/artifact/dir-1/file1.txt) != "$str" ]]; then | |
exit 1 | |
fi | |
str="Hello world from file #2" | |
if [[ $(< multi/artifact/dir-2/file2.txt) != "$str" ]]; then | |
exit 1 | |
fi | |
- name: 'Alter file 1 content' | |
run: | | |
echo "This file has changed" > path/to/dir-1/file1.txt | |
# Replace the contents of Artifact #1 | |
- name: 'Overwrite artifact #1' | |
uses: ./ | |
with: | |
name: 'Artifact-A-${{ matrix.runs-on }}' | |
path: path/to/dir-1/file1.txt | |
overwrite: true | |
# Download replaced Artifact #1 and verify the correctness of the content | |
- name: 'Download artifact #1 again' | |
uses: namespace-actions/download-artifact@v0 | |
with: | |
name: 'Artifact-A-${{ matrix.runs-on }}' | |
path: overwrite/some/new/path | |
- name: 'Verify Artifact #1 again' | |
run: | | |
str="This file has changed" | |
if [[ $(< overwrite/some/new/path/file1.txt) != "$str" ]]; then | |
exit 1 | |
fi |