From d9291ac87485b541b73480ca31a1ebb967d0ab1e Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Wed, 1 Dec 2021 16:52:51 -0500 Subject: [PATCH] chore: expand prettier and ESLint globs --- .eslintrc.json | 36 +-- .github/ISSUE_TEMPLATE/bug-report.yml | 4 +- .../ISSUE_TEMPLATE/documentation-issues.yml | 4 +- .github/ISSUE_TEMPLATE/feature-request.yml | 4 +- .github/workflows/codeql-analysis.yml | 50 ++-- .../workflows/release-new-action-version.yml | 12 +- .github/workflows/test.yml | 255 +++++++++--------- .licensed.yml | 2 +- .prettierignore | 3 +- .prettierrc.json | 19 +- CODE_OF_CONDUCT.md | 20 +- CONTRIBUTING.md | 4 +- README.md | 126 ++++----- action.yml | 2 +- jest.config.js | 22 +- package.json | 6 +- tsconfig.json | 32 +-- 17 files changed, 300 insertions(+), 301 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 4c959d7..afde092 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,19 +1,19 @@ { - "env": { "node": true, "jest": true }, - "parser": "@typescript-eslint/parser", - "parserOptions": { "ecmaVersion": 9, "sourceType": "module" }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "plugin:import/errors", - "plugin:import/warnings", - "plugin:import/typescript", - "plugin:prettier/recommended", - "prettier/@typescript-eslint" - ], - "rules": { - "@typescript-eslint/no-empty-function": "off" - }, - "plugins": ["@typescript-eslint", "jest"] -} \ No newline at end of file + "env": {"node": true, "jest": true}, + "parser": "@typescript-eslint/parser", + "parserOptions": {"ecmaVersion": 9, "sourceType": "module"}, + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended", + "plugin:import/errors", + "plugin:import/warnings", + "plugin:import/typescript", + "plugin:prettier/recommended", + "prettier/@typescript-eslint" + ], + "rules": { + "@typescript-eslint/no-empty-function": "off" + }, + "plugins": ["@typescript-eslint", "jest"] +} diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index c7dcfc1..65923e5 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -1,4 +1,4 @@ -name: "🐛 Bug report" +name: '🐛 Bug report' description: Let us know about a bug! labels: ['bug'] title: '[bug]' @@ -60,4 +60,4 @@ body: id: ghes attributes: label: Are you on GitHub Enterprise Server? If so, what version? - placeholder: vX.Y \ No newline at end of file + placeholder: vX.Y diff --git a/.github/ISSUE_TEMPLATE/documentation-issues.yml b/.github/ISSUE_TEMPLATE/documentation-issues.yml index f8fb1e0..5b1cc5b 100644 --- a/.github/ISSUE_TEMPLATE/documentation-issues.yml +++ b/.github/ISSUE_TEMPLATE/documentation-issues.yml @@ -1,4 +1,4 @@ -name: "📚 Documentation issues" +name: '📚 Documentation issues' description: Make a suggestion to improve the documentation! labels: ['documentation'] title: '[docs]' @@ -25,4 +25,4 @@ body: description: | Give as much detail as you can to help us understand the changes you want to see. validations: - required: true \ No newline at end of file + required: true diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml index 9be9655..88c9222 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.yml +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -1,4 +1,4 @@ -name: "🎁 Feature request" +name: '🎁 Feature request' description: Suggest a new feature/enhancement! labels: ['enhancement'] title: '[feat req]' @@ -17,4 +17,4 @@ body: attributes: label: Why is this needed? validations: - required: true \ No newline at end of file + required: true diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 692bd99..e516ded 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -1,8 +1,9 @@ -name: "Code scanning - action" +name: 'Code scanning - action' on: push: - branches-ignore: "dependabot/**" + branches-ignore: + - 'dependabot/**' pull_request: paths-ignore: - '**.md' @@ -11,36 +12,35 @@ on: jobs: CodeQL-Build: - # CodeQL runs on ubuntu-latest and windows-latest runs-on: ubuntu-latest steps: - - name: Checkout repository - uses: actions/checkout@v3 + - name: Checkout repository + uses: actions/checkout@v3 - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v1 - # Override language selection by uncommenting this and choosing your languages - # with: - # languages: go, javascript, csharp, python, cpp, java + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v1 + # Override language selection by uncommenting this and choosing your languages + # with: + # languages: go, javascript, csharp, python, cpp, java + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl + # ℹī¸ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl - # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language + # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language - #- run: | - # make bootstrap - # make release + #- run: | + # make bootstrap + # make release - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/.github/workflows/release-new-action-version.yml b/.github/workflows/release-new-action-version.yml index 1d0fb7f..e6ced83 100644 --- a/.github/workflows/release-new-action-version.yml +++ b/.github/workflows/release-new-action-version.yml @@ -20,9 +20,9 @@ jobs: name: releaseNewActionVersion runs-on: ubuntu-latest steps: - - name: Update the ${{ env.TAG_NAME }} tag - id: update-major-tag - uses: actions/publish-action@v0.2.1 - with: - source-tag: ${{ env.TAG_NAME }} - slack-webhook: ${{ secrets.SLACK_WEBHOOK }} + - name: Update the ${{ env.TAG_NAME }} tag + id: update-major-tag + uses: actions/publish-action@v0.2.1 + with: + source-tag: ${{ env.TAG_NAME }} + slack-webhook: ${{ secrets.SLACK_WEBHOOK }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f80b722..6a028d9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,6 @@ on: - '**.md' jobs: - build: name: Build @@ -22,149 +21,149 @@ jobs: runs-on: ${{ matrix.runs-on }} steps: - - name: Checkout - uses: actions/checkout@v3 + - name: Checkout + uses: actions/checkout@v3 - - name: Set Node.js 12.x - uses: actions/setup-node@v1 - with: - node-version: 12.x + - name: Set Node.js 12.x + uses: actions/setup-node@v1 + with: + node-version: 12.x - - name: Install dependencies - run: npm ci + - name: Install dependencies + run: npm ci - - name: Compile - run: npm run build + - name: Compile + run: npm run build - - name: npm test - run: npm test + - name: npm test + run: npm test - - name: Lint - run: npm run lint + - name: Lint + run: npm run lint - - name: Format - run: npm run format-check + - name: Format + run: npm run format-check - # 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 - echo "This is a going to be a test for a large enough file that should get compressed with GZip. The @actions/artifact package uses GZip to upload files. This text should have a compression ratio greater than 100% so it should get uploaded using GZip" > path/to/dir-3/gzip.txt + # 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 + echo "This is a going to be a test for a large enough file that should get compressed with GZip. The @actions/artifact package uses GZip to upload files. This text should have a compression ratio greater than 100% so it should get uploaded using GZip" > path/to/dir-3/gzip.txt - # Upload a single file artifact - - name: 'Upload artifact #1' - uses: ./ - with: - name: 'Artifact-A' - path: path/to/dir-1/file1.txt + # Upload a single file artifact + - name: 'Upload artifact #1' + uses: ./ + with: + name: 'Artifact-A' + path: path/to/dir-1/file1.txt - # Upload using a wildcard pattern, name should default to 'artifact' if not provided - - name: 'Upload artifact #2' - uses: ./ - with: - path: path/**/dir*/ + # Upload using a wildcard pattern, name should default to 'artifact' if not provided + - name: 'Upload artifact #2' + uses: ./ + with: + path: path/**/dir*/ - # Upload a directory that contains a file that will be uploaded with GZip - - name: 'Upload artifact #3' - uses: ./ - with: - name: 'GZip-Artifact' - path: path/to/dir-3/ + # Upload a directory that contains a file that will be uploaded with GZip + - name: 'Upload artifact #3' + uses: ./ + with: + name: 'GZip-Artifact' + path: path/to/dir-3/ - # Upload a directory that contains a file that will be uploaded with GZip - - name: 'Upload artifact #4' - uses: ./ - with: - name: 'Multi-Path-Artifact' - path: | - path/to/dir-1/* - path/to/dir-[23]/* - !path/to/dir-3/*.txt + # Upload a directory that contains a file that will be uploaded with GZip + - name: 'Upload artifact #4' + uses: ./ + with: + name: 'Multi-Path-Artifact' + path: | + path/to/dir-1/* + path/to/dir-[23]/* + !path/to/dir-3/*.txt - # Verify artifacts. Switch to download-artifact@v2 once it's out of preview + # Verify artifacts. Switch to download-artifact@v2 once it's out of preview - # Download Artifact #1 and verify the correctness of the content - - name: 'Download artifact #1' - uses: actions/download-artifact@v1 - with: - name: 'Artifact-A' - path: some/new/path + # Download Artifact #1 and verify the correctness of the content + - name: 'Download artifact #1' + uses: actions/download-artifact@v1 + with: + name: 'Artifact-A' + path: some/new/path - - name: 'Verify Artifact #1' - run: | - $file = "some/new/path/file1.txt" - if(!(Test-Path -path $file)) - { - Write-Error "Expected file does not exist" - } - if(!((Get-Content $file) -ceq "Lorem ipsum dolor sit amet")) - { - Write-Error "File contents of downloaded artifact are incorrect" - } - shell: pwsh + - name: 'Verify Artifact #1' + run: | + $file = "some/new/path/file1.txt" + if(!(Test-Path -path $file)) + { + Write-Error "Expected file does not exist" + } + if(!((Get-Content $file) -ceq "Lorem ipsum dolor sit amet")) + { + Write-Error "File contents of downloaded artifact are incorrect" + } + shell: pwsh - # Download Artifact #2 and verify the correctness of the content - - name: 'Download artifact #2' - uses: actions/download-artifact@v1 - with: - name: 'artifact' - path: some/other/path + # Download Artifact #2 and verify the correctness of the content + - name: 'Download artifact #2' + uses: actions/download-artifact@v1 + with: + name: 'artifact' + path: some/other/path - - name: 'Verify Artifact #2' - run: | - $file1 = "some/other/path/to/dir-1/file1.txt" - $file2 = "some/other/path/to/dir-2/file2.txt" - if(!(Test-Path -path $file1) -or !(Test-Path -path $file2)) - { - Write-Error "Expected files do not exist" - } - if(!((Get-Content $file1) -ceq "Lorem ipsum dolor sit amet") -or !((Get-Content $file2) -ceq "Hello world from file #2")) - { - Write-Error "File contents of downloaded artifacts are incorrect" - } - shell: pwsh - - # Download Artifact #3 and verify the correctness of the content - - name: 'Download artifact #3' - uses: actions/download-artifact@v1 - with: - name: 'GZip-Artifact' - path: gzip/artifact/path + - name: 'Verify Artifact #2' + run: | + $file1 = "some/other/path/to/dir-1/file1.txt" + $file2 = "some/other/path/to/dir-2/file2.txt" + if(!(Test-Path -path $file1) -or !(Test-Path -path $file2)) + { + Write-Error "Expected files do not exist" + } + if(!((Get-Content $file1) -ceq "Lorem ipsum dolor sit amet") -or !((Get-Content $file2) -ceq "Hello world from file #2")) + { + Write-Error "File contents of downloaded artifacts are incorrect" + } + shell: pwsh - # Because a directory was used as input during the upload the parent directories, path/to/dir-3/, should not be included in the uploaded artifact - - name: 'Verify Artifact #3' - run: | - $gzipFile = "gzip/artifact/path/gzip.txt" - if(!(Test-Path -path $gzipFile)) - { - Write-Error "Expected file do not exist" - } - if(!((Get-Content $gzipFile) -ceq "This is a going to be a test for a large enough file that should get compressed with GZip. The @actions/artifact package uses GZip to upload files. This text should have a compression ratio greater than 100% so it should get uploaded using GZip")) - { - Write-Error "File contents of downloaded artifact is incorrect" - } - shell: pwsh + # Download Artifact #3 and verify the correctness of the content + - name: 'Download artifact #3' + uses: actions/download-artifact@v1 + with: + name: 'GZip-Artifact' + path: gzip/artifact/path - - name: 'Download artifact #4' - uses: actions/download-artifact@v1 - with: - name: 'Multi-Path-Artifact' - path: multi/artifact + # Because a directory was used as input during the upload the parent directories, path/to/dir-3/, should not be included in the uploaded artifact + - name: 'Verify Artifact #3' + run: | + $gzipFile = "gzip/artifact/path/gzip.txt" + if(!(Test-Path -path $gzipFile)) + { + Write-Error "Expected file do not exist" + } + if(!((Get-Content $gzipFile) -ceq "This is a going to be a test for a large enough file that should get compressed with GZip. The @actions/artifact package uses GZip to upload files. This text should have a compression ratio greater than 100% so it should get uploaded using GZip")) + { + Write-Error "File contents of downloaded artifact is incorrect" + } + shell: pwsh - - name: 'Verify Artifact #4' - run: | - $file1 = "multi/artifact/dir-1/file1.txt" - $file2 = "multi/artifact/dir-2/file2.txt" - if(!(Test-Path -path $file1) -or !(Test-Path -path $file2)) - { - Write-Error "Expected files do not exist" - } - if(!((Get-Content $file1) -ceq "Lorem ipsum dolor sit amet") -or !((Get-Content $file2) -ceq "Hello world from file #2")) - { - Write-Error "File contents of downloaded artifacts are incorrect" - } - shell: pwsh + - name: 'Download artifact #4' + uses: actions/download-artifact@v1 + with: + name: 'Multi-Path-Artifact' + path: multi/artifact + + - name: 'Verify Artifact #4' + run: | + $file1 = "multi/artifact/dir-1/file1.txt" + $file2 = "multi/artifact/dir-2/file2.txt" + if(!(Test-Path -path $file1) -or !(Test-Path -path $file2)) + { + Write-Error "Expected files do not exist" + } + if(!((Get-Content $file1) -ceq "Lorem ipsum dolor sit amet") -or !((Get-Content $file2) -ceq "Hello world from file #2")) + { + Write-Error "File contents of downloaded artifacts are incorrect" + } + shell: pwsh diff --git a/.licensed.yml b/.licensed.yml index 0d6fe86..6a1d846 100644 --- a/.licensed.yml +++ b/.licensed.yml @@ -12,4 +12,4 @@ allowed: reviewed: npm: - - fs.realpath \ No newline at end of file + - fs.realpath diff --git a/.prettierignore b/.prettierignore index 2186947..154f191 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,4 @@ dist/ lib/ -node_modules/ \ No newline at end of file +node_modules/ +.licenses/ diff --git a/.prettierrc.json b/.prettierrc.json index bbf4311..c34bafc 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,11 +1,10 @@ { - "printWidth": 80, - "tabWidth": 2, - "useTabs": false, - "semi": false, - "singleQuote": true, - "trailingComma": "none", - "bracketSpacing": false, - "arrowParens": "avoid", - "parser": "typescript" - } \ No newline at end of file + "printWidth": 80, + "tabWidth": 2, + "useTabs": false, + "semi": false, + "singleQuote": true, + "trailingComma": "none", + "bracketSpacing": false, + "arrowParens": "avoid" +} diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 3a64696..5f1b1c6 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -14,21 +14,21 @@ appearance, race, religion, or sexual identity and orientation. Examples of behavior that contributes to creating a positive environment include: -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members Examples of unacceptable behavior by participants include: -* The use of sexualized language or imagery and unwelcome sexual attention or +- The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a +- Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3269d1c..d73d76a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,8 +32,8 @@ Artifact related issues will be tracked in this repository so please do not open 6. Make sure your code is correctly formatted: `npm run format` 7. Make sure your code passes linting: `npm run lint` 8. Update `dist/index.js` using `npm run release`. This creates a single javascript file that is used as an entry-point for the action -7. Push to your fork and [submit a pull request][pr] -8. Pat your self on the back and wait for your pull request to be reviewed and merged. +9. Push to your fork and [submit a pull request][pr] +10. Pat your self on the back and wait for your pull request to be reviewed and merged. Here are a few things you can do that will increase the likelihood of your pull request being accepted: diff --git a/README.md b/README.md index 0da14ce..642a851 100644 --- a/README.md +++ b/README.md @@ -28,16 +28,16 @@ See [action.yml](action.yml) ```yaml steps: -- uses: actions/checkout@v3 + - uses: actions/checkout@v3 -- run: mkdir -p path/to/artifact + - run: mkdir -p path/to/artifact -- run: echo hello > path/to/artifact/world.txt + - run: echo hello > path/to/artifact/world.txt -- uses: actions/upload-artifact@v3 - with: - name: my-artifact - path: path/to/artifact/world.txt + - uses: actions/upload-artifact@v3 + with: + name: my-artifact + path: path/to/artifact/world.txt ``` ### Upload an Entire Directory @@ -152,17 +152,17 @@ With the following example, the available artifact (named `artifact` by default Each artifact behaves as a file share. Uploading to the same artifact multiple times in the same workflow can overwrite and append already uploaded files: ```yaml - strategy: - matrix: - node-version: [8.x, 10.x, 12.x, 13.x] - steps: - - name: Create a file - run: echo ${{ matrix.node-version }} > my_file.txt - - name: Accidentally upload to the same artifact via multiple jobs - uses: actions/upload-artifact@v3 - with: - name: my-artifact - path: ${{ github.workspace }} +strategy: + matrix: + node-version: [8.x, 10.x, 12.x, 13.x] +steps: + - name: Create a file + run: echo ${{ matrix.node-version }} > my_file.txt + - name: Accidentally upload to the same artifact via multiple jobs + uses: actions/upload-artifact@v3 + with: + name: my-artifact + path: ${{ github.workspace }} ``` > **_Warning:_** Be careful when uploading to the same artifact via multiple jobs as artifacts may become corrupted. When uploading a file with an identical name and path in multiple jobs, uploads may fail with 503 errors due to conflicting uploads happening at the same time. Ensure uploads to identical locations to not interfere with each other. @@ -170,10 +170,10 @@ Each artifact behaves as a file share. Uploading to the same artifact multiple t In the above example, four jobs will upload four different files to the same artifact but there will only be one file available when `my-artifact` is downloaded. Each job overwrites what was previously uploaded. To ensure that jobs don't overwrite existing artifacts, use a different name per job: ```yaml - uses: actions/upload-artifact@v3 - with: - name: my-artifact ${{ matrix.node-version }} - path: ${{ github.workspace }} +uses: actions/upload-artifact@v3 +with: + name: my-artifact ${{ matrix.node-version }} + path: ${{ github.workspace }} ``` ### Environment Variables and Tilde Expansion @@ -181,42 +181,42 @@ In the above example, four jobs will upload four different files to the same art You can use `~` in the path input as a substitute for `$HOME`. Basic tilde expansion is supported: ```yaml - - run: | - mkdir -p ~/new/artifact - echo hello > ~/new/artifact/world.txt - - uses: actions/upload-artifact@v3 - with: - name: Artifacts-V3 - path: ~/new/**/* +- run: | + mkdir -p ~/new/artifact + echo hello > ~/new/artifact/world.txt +- uses: actions/upload-artifact@v3 + with: + name: Artifacts-V3 + path: ~/new/**/* ``` Environment variables along with context expressions can also be used for input. For documentation see [context and expression syntax](https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions): ```yaml - env: - name: my-artifact - steps: - - run: | - mkdir -p ${{ github.workspace }}/artifact - echo hello > ${{ github.workspace }}/artifact/world.txt - - uses: actions/upload-artifact@v3 - with: - name: ${{ env.name }}-name - path: ${{ github.workspace }}/artifact/**/* +env: + name: my-artifact +steps: + - run: | + mkdir -p ${{ github.workspace }}/artifact + echo hello > ${{ github.workspace }}/artifact/world.txt + - uses: actions/upload-artifact@v3 + with: + name: ${{ env.name }}-name + path: ${{ github.workspace }}/artifact/**/* ``` For environment variables created in other steps, make sure to use the `env` expression syntax ```yaml - steps: - - run: | - mkdir testing - echo "This is a file to upload" > testing/file.txt - echo "artifactPath=testing/file.txt" >> $GITHUB_ENV - - uses: actions/upload-artifact@v3 - with: - name: artifact - path: ${{ env.artifactPath }} # this will resolve to testing/file.txt at runtime +steps: + - run: | + mkdir testing + echo "This is a file to upload" > testing/file.txt + echo "artifactPath=testing/file.txt" >> $GITHUB_ENV + - uses: actions/upload-artifact@v3 + with: + name: artifact + path: ${{ env.artifactPath }} # this will resolve to testing/file.txt at runtime ``` ### Retention Period @@ -224,15 +224,15 @@ For environment variables created in other steps, make sure to use the `env` exp Artifacts are retained for 90 days by default. You can specify a shorter retention period using the `retention-days` input: ```yaml - - name: Create a file - run: echo "I won't live long" > my_file.txt +- name: Create a file + run: echo "I won't live long" > my_file.txt - - name: Upload Artifact - uses: actions/upload-artifact@v3 - with: - name: my-artifact - path: my_file.txt - retention-days: 5 +- name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: my-artifact + path: my_file.txt + retention-days: 5 ``` The retention period must be between 1 and 90 inclusive. For more information see [artifact and log retention policies](https://docs.github.com/en/free-pro-team@latest/actions/reference/usage-limits-billing-and-administration#artifact-and-log-retention-policy). @@ -266,14 +266,14 @@ During a workflow run, files are uploaded and downloaded individually using the If file permissions and case sensitivity are required, you can `tar` all of your files together before artifact upload. Post download, the `tar` file will maintain file permissions and case sensitivity: ```yaml - - name: Tar files - run: tar -cvf my_files.tar /path/to/my/directory +- name: Tar files + run: tar -cvf my_files.tar /path/to/my/directory - - name: Upload Artifact - uses: actions/upload-artifact@v3 - with: - name: my-artifact - path: my_files.tar +- name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: my-artifact + path: my_files.tar ``` ### Too many uploads resulting in 429 responses diff --git a/action.yml b/action.yml index 94a583a..debfb58 100644 --- a/action.yml +++ b/action.yml @@ -1,7 +1,7 @@ name: 'Upload a Build Artifact' description: 'Upload a build artifact that can be used by subsequent workflow steps' author: 'GitHub' -inputs: +inputs: name: description: 'Artifact name' default: 'artifact' diff --git a/jest.config.js b/jest.config.js index aaa71f9..39b6cbb 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,12 +1,12 @@ module.exports = { - clearMocks: true, - moduleFileExtensions: ['js', 'ts'], - roots: [''], - testEnvironment: 'node', - testMatch: ['**/*.test.ts'], - testRunner: 'jest-circus/runner', - transform: { - '^.+\\.ts$': 'ts-jest' - }, - verbose: true - } \ No newline at end of file + clearMocks: true, + moduleFileExtensions: ['js', 'ts'], + roots: [''], + testEnvironment: 'node', + testMatch: ['**/*.test.ts'], + testRunner: 'jest-circus/runner', + transform: { + '^.+\\.ts$': 'ts-jest' + }, + verbose: true +} diff --git a/package.json b/package.json index 687c594..3128eb9 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,9 @@ "build": "tsc", "release": "ncc build src/upload-artifact.ts && git add -f dist/", "check-all": "concurrently \"npm:format-check\" \"npm:lint\" \"npm:test\" \"npm:build\"", - "format": "prettier --write **/*.ts", - "format-check": "prettier --check **/*.ts", - "lint": "eslint **/*.ts", + "format": "prettier --write .", + "format-check": "prettier --check .", + "lint": "eslint .", "test": "jest --testTimeout 10000" }, "repository": { diff --git a/tsconfig.json b/tsconfig.json index bd4ee70..48fd507 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,17 +1,17 @@ { - "compilerOptions": { - "target": "es6", - "module": "commonjs", - "outDir": "./lib", - "rootDir": "./src", - "strict": true, - "noImplicitAny": false, - "moduleResolution": "node", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "declaration": false, - "sourceMap": true, - "lib": ["es6"] - }, - "exclude": ["node_modules", "**/*.test.ts"] - } \ No newline at end of file + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "outDir": "./lib", + "rootDir": "./src", + "strict": true, + "noImplicitAny": false, + "moduleResolution": "node", + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "declaration": false, + "sourceMap": true, + "lib": ["es6"] + }, + "exclude": ["node_modules", "**/*.test.ts"] +}