diff --git a/.eslintrc.json b/.eslintrc.json index 4c959d70..afde092b 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 c7dcfc13..65923e53 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 f8fb1e0c..5b1cc5b7 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 9be9655a..88c9222b 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 692bd994..e516ded8 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 - - # 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 - - # 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 - - # ✏ī¸ 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 - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + - 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 + # 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 + + # ✏ī¸ 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 + + - 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 1d0fb7f9..e6ced830 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 f80b722a..6a028d9a 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: Set Node.js 12.x - uses: actions/setup-node@v1 - with: - node-version: 12.x - - - name: Install dependencies - run: npm ci - - - name: Compile - run: npm run build - - - name: npm test - run: npm test - - - name: Lint - run: npm run lint - - - 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 - - # 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 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 - - # 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 - - - 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 - - - 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 - - # 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: '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 + - name: Checkout + uses: actions/checkout@v3 + + - name: Set Node.js 12.x + uses: actions/setup-node@v1 + with: + node-version: 12.x + + - name: Install dependencies + run: npm ci + + - name: Compile + run: npm run build + + - name: npm test + run: npm test + + - name: Lint + run: npm run lint + + - 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 + + # 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 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 + + # 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 + + - 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 + + - 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 + + # 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: '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 0d6fe86b..6a1d846d 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 21869472..154f191e 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 bbf43114..c34bafcb 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 3a64696b..5f1b1c6a 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 3269d1c0..d73d76a8 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 0da14ce3..ad314a38 100644 --- a/README.md +++ b/README.md @@ -30,14 +30,14 @@ See [action.yml](action.yml) steps: - 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 94a583af..debfb58d 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 aaa71f95..39b6cbb6 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 687c5946..3128eb90 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 bd4ee70e..48fd507d 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"] +}