2023-08-03 17:34:41 +00:00
|
|
|
# Temporarily disabled while v2.0.0 of @actions/artifact is under development
|
|
|
|
|
2020-04-23 18:52:53 +00:00
|
|
|
name: artifact-unit-tests
|
2020-05-14 20:18:21 +00:00
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
2020-07-21 15:33:05 +00:00
|
|
|
- main
|
2020-05-14 20:18:21 +00:00
|
|
|
paths-ignore:
|
|
|
|
- '**.md'
|
|
|
|
pull_request:
|
|
|
|
paths-ignore:
|
|
|
|
- '**.md'
|
2020-04-23 18:52:53 +00:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
name: Build
|
|
|
|
|
|
|
|
strategy:
|
|
|
|
matrix:
|
2020-05-14 20:18:21 +00:00
|
|
|
runs-on: [ubuntu-latest, windows-latest, macos-latest]
|
2020-04-23 18:52:53 +00:00
|
|
|
fail-fast: false
|
|
|
|
|
|
|
|
runs-on: ${{ matrix.runs-on }}
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2023-01-03 15:59:01 +00:00
|
|
|
uses: actions/checkout@v3
|
2020-04-23 18:52:53 +00:00
|
|
|
|
2022-12-14 00:19:05 +00:00
|
|
|
- name: Set Node.js 16.x
|
2023-01-03 15:38:50 +00:00
|
|
|
uses: actions/setup-node@v3
|
2020-04-23 18:52:53 +00:00
|
|
|
with:
|
2022-12-14 00:19:05 +00:00
|
|
|
node-version: 16.x
|
2020-04-23 18:52:53 +00:00
|
|
|
|
|
|
|
# In order to upload & download artifacts from a shell script, certain env variables need to be set that are only available in the
|
|
|
|
# node context. This runs a local action that gets and sets the necessary env variables that are needed
|
|
|
|
- name: Set env variables
|
|
|
|
uses: ./packages/artifact/__tests__/ci-test-action/
|
|
|
|
|
|
|
|
# Need root node_modules because certain npm packages like jest are configured for the entire repository and it won't be possible
|
|
|
|
# without these to just compile the artifacts package
|
|
|
|
- name: Install root npm packages
|
|
|
|
run: npm ci
|
|
|
|
|
|
|
|
- name: Compile artifact package
|
|
|
|
run: |
|
|
|
|
npm ci
|
|
|
|
npm run tsc
|
|
|
|
working-directory: packages/artifact
|
2021-12-14 20:50:50 +00:00
|
|
|
|
2020-04-23 18:52:53 +00:00
|
|
|
- name: Set artifact file contents
|
2020-09-30 13:46:54 +00:00
|
|
|
shell: bash
|
2020-04-23 18:52:53 +00:00
|
|
|
run: |
|
2023-08-17 13:37:45 +00:00
|
|
|
echo "file1=hello from file 1" >> $GITHUB_ENV
|
|
|
|
echo "file2=hello from file 2" >> $GITHUB_ENV
|
2020-04-23 18:52:53 +00:00
|
|
|
|
|
|
|
- name: Create files that will be uploaded
|
|
|
|
run: |
|
2021-12-14 20:50:50 +00:00
|
|
|
mkdir artifact-path
|
2023-08-17 13:37:45 +00:00
|
|
|
echo '${{ env.file1 }}' > artifact-path/first.txt
|
|
|
|
echo '${{ env.file2 }}' > artifact-path/second.txt
|
2020-04-23 18:52:53 +00:00
|
|
|
|
|
|
|
# We're using node -e to call the functions directly available in the @actions/artifact package
|
|
|
|
- name: Upload artifacts using uploadArtifact()
|
|
|
|
run: |
|
2023-08-17 15:25:37 +00:00
|
|
|
node -e "Promise.resolve(require('./packages/artifact/lib/artifact').create().uploadArtifact('my-artifact-${{ matrix.node-version }}',['artifact-path/first.txt','artifact-path/second.txt'], process.argv[1]))" "${{ github.workspace }}"
|
2020-04-23 18:52:53 +00:00
|
|
|
|
2021-12-14 20:50:50 +00:00
|
|
|
|
2020-04-23 18:52:53 +00:00
|
|
|
|