Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
da890086d3 | ||
|
|
afa309ec72 | ||
|
|
22ceabb390 | ||
|
|
5edfa5bd9e | ||
|
|
1cf9afbac3 | ||
|
|
8a5577cb53 | ||
|
|
836d7e6aa8 | ||
|
|
6c2330d495 | ||
|
|
7e2c013575 | ||
|
|
451dfdc2a0 | ||
|
|
72b5f8eb8c | ||
|
|
142e236b5b | ||
|
|
89908cabb5 | ||
|
|
d8b35356f3 | ||
|
|
b73baad189 | ||
|
|
2f090b7665 | ||
|
|
05c1ee4f23 | ||
|
|
051fe81a00 | ||
|
|
71d921164d | ||
|
|
675b619ca6 | ||
|
|
ff044ee025 | ||
|
|
2ad1a4749f | ||
|
|
b9a0540444 | ||
|
|
ec57f928ad | ||
|
|
86903dfeb9 | ||
|
|
ebf083452f | ||
|
|
0940284a04 | ||
|
|
27aaeae4e5 | ||
|
|
c827149363 | ||
|
|
0151f40476 | ||
|
|
31c84f79aa | ||
|
|
d43a08dfeb |
8
.github/dependabot.yml
vendored
Normal file
8
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
labels:
|
||||
- "dependencies"
|
||||
22
.github/workflows/ci.yml
vendored
22
.github/workflows/ci.yml
vendored
@@ -14,20 +14,20 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v1
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 12.x
|
||||
node-version: 16.x
|
||||
- run: npm ci
|
||||
- run: npm run build
|
||||
- run: npm run format-check
|
||||
- run: npm run lint
|
||||
- run: npm run test
|
||||
- uses: actions/upload-artifact@v2
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: dist
|
||||
path: dist
|
||||
- uses: actions/upload-artifact@v2
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: action.yml
|
||||
path: action.yml
|
||||
@@ -40,14 +40,14 @@ jobs:
|
||||
matrix:
|
||||
target: [built, committed]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- if: matrix.target == 'built' || github.event_name == 'pull_request'
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: dist
|
||||
path: dist
|
||||
- if: matrix.target == 'built' || github.event_name == 'pull_request'
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: action.yml
|
||||
path: .
|
||||
@@ -80,13 +80,13 @@ jobs:
|
||||
needs: [test]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/download-artifact@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: dist
|
||||
path: dist
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
with:
|
||||
commit-message: 'build: update distribution'
|
||||
title: Update distribution
|
||||
|
||||
2
.github/workflows/dockerhub-description.yml
vendored
2
.github/workflows/dockerhub-description.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
dockerHubDescription:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Modify readme for DockerHub
|
||||
run: |
|
||||
|
||||
2
.github/workflows/publish-docker.yml
vendored
2
.github/workflows/publish-docker.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Docker Hub login
|
||||
run: echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
|
||||
|
||||
31
.github/workflows/update-dep.yml
vendored
31
.github/workflows/update-dep.yml
vendored
@@ -1,31 +0,0 @@
|
||||
name: Update Dependencies
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 1 * * 4'
|
||||
jobs:
|
||||
update-dep:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: '12.x'
|
||||
- name: Update dependencies
|
||||
run: |
|
||||
npx -p npm-check-updates ncu -u
|
||||
npm install
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
with:
|
||||
token: ${{ secrets.ACTIONS_BOT_TOKEN }}
|
||||
commit-message: 'chore: update dependencies'
|
||||
committer: GitHub <noreply@github.com>
|
||||
author: actions-bot <actions-bot@users.noreply.github.com>
|
||||
title: Update dependencies
|
||||
body: |
|
||||
- Dependency updates
|
||||
|
||||
Auto-generated by [create-pull-request][1]
|
||||
|
||||
[1]: https://github.com/peter-evans/create-pull-request
|
||||
branch: update-dependencies
|
||||
27
README.md
27
README.md
@@ -9,7 +9,7 @@ This is useful if you `docker push` your images to Docker Hub. It provides an ea
|
||||
|
||||
```yml
|
||||
- name: Docker Hub Description
|
||||
uses: peter-evans/dockerhub-description@v2
|
||||
uses: peter-evans/dockerhub-description@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
@@ -18,16 +18,19 @@ This is useful if you `docker push` your images to Docker Hub. It provides an ea
|
||||
|
||||
### Action inputs
|
||||
|
||||
**Note**: Docker Hub [Personal Access Tokens](https://docs.docker.com/docker-hub/access-tokens/) cannot be used as they are not supported by the API. See [here](https://github.com/docker/hub-feedback/issues/1927) and [here](https://github.com/docker/hub-feedback/issues/1914) for further details. Unfortunately, this means that enabling 2FA on Docker Hub will prevent the action from working.
|
||||
|
||||
| Name | Description | Default |
|
||||
| --- | --- | --- |
|
||||
| `username` | (**required**) Docker Hub username. If updating a Docker Hub repository belonging to an organization, this user must have `Admin` permissions for the repository. | |
|
||||
| `password` | (**required**) Docker Hub password. | |
|
||||
| `password` | (**required**) Docker Hub password or [Personal Access Token](https://docs.docker.com/docker-hub/access-tokens/) with `read/write/delete` scope. | |
|
||||
| `repository` | Docker Hub repository in the format `<namespace>/<name>`. | `github.repository` |
|
||||
| `short-description` | Docker Hub repository short description. Input exceeding 100 characters will be truncated. | |
|
||||
| `short-description` | Docker Hub repository short description. | |
|
||||
| `readme-filepath` | Path to the repository readme. | `./README.md` |
|
||||
|
||||
#### Content limits
|
||||
|
||||
DockerHub has content limits, which if exceeded will result in the content being automatically truncated.
|
||||
The readme content is limited to 25,000 bytes, and `short-description` is limited to 100 characters.
|
||||
|
||||
#### Specifying the file path
|
||||
|
||||
The action assumes that there is a file called `README.md` located at the root of the repository.
|
||||
@@ -35,7 +38,7 @@ If this is not the case the path can be specified with the `readme-filepath` inp
|
||||
|
||||
```yml
|
||||
- name: Docker Hub Description
|
||||
uses: peter-evans/dockerhub-description@v2
|
||||
uses: peter-evans/dockerhub-description@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
@@ -49,7 +52,7 @@ The GitHub repository description can be used for the Docker Hub `short-descript
|
||||
|
||||
```yml
|
||||
- name: Docker Hub Description
|
||||
uses: peter-evans/dockerhub-description@v2
|
||||
uses: peter-evans/dockerhub-description@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
@@ -74,10 +77,10 @@ jobs:
|
||||
dockerHubDescription:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Docker Hub Description
|
||||
uses: peter-evans/dockerhub-description@v2
|
||||
uses: peter-evans/dockerhub-description@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
@@ -94,10 +97,10 @@ jobs:
|
||||
dockerHubDescription:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Docker Hub Description
|
||||
uses: peter-evans/dockerhub-description@v2
|
||||
uses: peter-evans/dockerhub-description@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
@@ -116,7 +119,7 @@ docker run -v $PWD:/workspace \
|
||||
-e DOCKERHUB_PASSWORD='xxxxx' \
|
||||
-e DOCKERHUB_REPOSITORY='user1/my-docker-image' \
|
||||
-e README_FILEPATH='/workspace/README.md' \
|
||||
peterevans/dockerhub-description:2
|
||||
peterevans/dockerhub-description:3
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
@@ -6,22 +6,20 @@ inputs:
|
||||
description: Docker Hub username
|
||||
required: true
|
||||
password:
|
||||
description: Docker Hub password
|
||||
description: Docker Hub password or Personal Access Token with read/write/delete scope
|
||||
required: true
|
||||
repository:
|
||||
description: >
|
||||
Docker Hub repository in the format `<namespace>/<name>`
|
||||
Default: `github.repository`
|
||||
short-description:
|
||||
description: >
|
||||
Docker Hub repository short description
|
||||
Input exceeding 100 characters will be truncated
|
||||
description: Docker Hub repository short description
|
||||
readme-filepath:
|
||||
description: >
|
||||
Path to the repository readme
|
||||
Default: `./README.md`
|
||||
runs:
|
||||
using: 'node12'
|
||||
using: 'node16'
|
||||
main: 'dist/index.js'
|
||||
branding:
|
||||
icon: 'upload'
|
||||
|
||||
3452
dist/index.js
vendored
3452
dist/index.js
vendored
File diff suppressed because one or more lines are too long
9713
package-lock.json
generated
9713
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
30
package.json
30
package.json
@@ -27,22 +27,22 @@
|
||||
},
|
||||
"homepage": "https://github.com/peter-evans/dockerhub-description#readme",
|
||||
"dependencies": {
|
||||
"@actions/core": "1.3.0",
|
||||
"node-fetch": "2.6.1"
|
||||
"@actions/core": "^1.6.0",
|
||||
"node-fetch": "^2.6.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "26.0.23",
|
||||
"@types/node": "15.6.1",
|
||||
"@typescript-eslint/parser": "4.25.0",
|
||||
"@vercel/ncc": "0.28.6",
|
||||
"eslint": "7.27.0",
|
||||
"eslint-plugin-github": "4.1.3",
|
||||
"eslint-plugin-jest": "24.3.6",
|
||||
"jest": "27.0.1",
|
||||
"jest-circus": "27.0.1",
|
||||
"js-yaml": "4.1.0",
|
||||
"prettier": "2.3.0",
|
||||
"ts-jest": "27.0.1",
|
||||
"typescript": "4.3.2"
|
||||
"@types/jest": "^27.0.3",
|
||||
"@types/node": "^16.11.11",
|
||||
"@typescript-eslint/parser": "^5.5.0",
|
||||
"@vercel/ncc": "^0.32.0",
|
||||
"eslint": "^8.3.0",
|
||||
"eslint-plugin-github": "^4.3.5",
|
||||
"eslint-plugin-jest": "^25.3.0",
|
||||
"jest": "^27.4.3",
|
||||
"jest-circus": "^27.4.2",
|
||||
"js-yaml": "^4.1.0",
|
||||
"prettier": "^2.5.0",
|
||||
"ts-jest": "^27.0.7",
|
||||
"typescript": "^4.5.2"
|
||||
}
|
||||
}
|
||||
|
||||
12
src/main.ts
12
src/main.ts
@@ -2,9 +2,7 @@ import * as core from '@actions/core'
|
||||
import * as inputHelper from './input-helper'
|
||||
import * as dockerhubHelper from './dockerhub-helper'
|
||||
import * as fs from 'fs'
|
||||
import {inspect, TextEncoder} from 'util'
|
||||
|
||||
const MAX_BYTES = 25000
|
||||
import {inspect} from 'util'
|
||||
|
||||
async function run(): Promise<void> {
|
||||
try {
|
||||
@@ -17,12 +15,6 @@ async function run(): Promise<void> {
|
||||
const readmeContent = await fs.promises.readFile(inputs.readmeFilepath, {
|
||||
encoding: 'utf8'
|
||||
})
|
||||
const byteLength = new TextEncoder().encode(readmeContent).length
|
||||
if (byteLength > MAX_BYTES) {
|
||||
throw new Error(
|
||||
`File size exceeds the maximum allowed ${MAX_BYTES} bytes`
|
||||
)
|
||||
}
|
||||
|
||||
// Acquire a token for the Docker Hub API
|
||||
core.info('Acquiring token')
|
||||
@@ -39,7 +31,7 @@ async function run(): Promise<void> {
|
||||
readmeContent
|
||||
)
|
||||
core.info('Request successful')
|
||||
} catch (error) {
|
||||
} catch (error: any) {
|
||||
core.debug(inspect(error))
|
||||
core.setFailed(error.message)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user