47 Commits

Author SHA1 Message Date
Peter Evans
93b93397c2 Merge pull request #79 from peter-evans/fix-tag-push
Some checks failed
Publish Docker Image / publish (push) Has been cancelled
fix: push all tags
2022-11-07 15:07:34 +09:00
Peter Evans
3103d1465d fix: push all tags 2022-11-07 15:06:08 +09:00
Peter Evans
0b9f9c4786 Merge pull request #76 from peter-evans/fix-any
fix: replace use of any type
2022-10-21 15:12:44 +09:00
Peter Evans
3b9f4f25f0 fix: replace use of any type 2022-10-21 15:10:59 +09:00
Peter Evans
1488116043 Merge pull request #75 from peter-evans/update-distribution
Some checks failed
Publish Docker Image / publish (push) Has been cancelled
Update distribution
2022-10-18 15:21:30 +09:00
peter-evans
4fd465609e build: update distribution 2022-10-18 06:21:05 +00:00
Peter Evans
9404f28f56 Merge pull request #74 from peter-evans/dependabot/npm_and_yarn/actions/core-1.10.0
build(deps): bump @actions/core from 1.9.1 to 1.10.0
2022-10-18 15:19:51 +09:00
dependabot[bot]
eef18f85b1 build(deps): bump @actions/core from 1.9.1 to 1.10.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.9.1 to 1.10.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-18 06:16:47 +00:00
Peter Evans
db792ed6c9 ci: update dependabot 2022-10-18 15:16:21 +09:00
Peter Evans
4fdf852815 docs: add funding 2022-08-26 10:41:06 +09:00
Peter Evans
bc97286b92 Merge pull request #73 from peter-evans/update-distribution
Update distribution
2022-08-19 11:59:20 +09:00
peter-evans
b2ff61bdb1 build: update distribution 2022-08-19 02:59:02 +00:00
Peter Evans
c908a72eaf Merge pull request #72 from peter-evans/dependabot/npm_and_yarn/actions/core-1.9.1
build(deps): bump @actions/core from 1.6.0 to 1.9.1
2022-08-19 11:57:49 +09:00
dependabot[bot]
2c9ccb12d6 build(deps): bump @actions/core from 1.6.0 to 1.9.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.6.0 to 1.9.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-19 02:56:43 +00:00
Peter Evans
27a09e0234 ci: add workflow permissions 2022-08-19 11:53:46 +09:00
Peter Evans
da890086d3 Merge pull request #71 from peter-evans/rm-byte-limit
Some checks failed
Publish Docker Image / publish (push) Has been cancelled
feat: remove error when content limit exceeded
2022-08-18 12:20:07 +09:00
Peter Evans
afa309ec72 feat: remove error when content limit exceeded 2022-08-18 12:17:06 +09:00
Peter Evans
22ceabb390 docs: add pat scope details 2022-07-21 14:26:40 +09:00
Peter Evans
5edfa5bd9e docs: update to reflect access tokens can be used 2022-07-19 15:46:44 +09:00
Peter Evans
1cf9afbac3 Merge pull request #65 from peter-evans/dependabot/github_actions/peter-evans/create-pull-request-4 2022-03-29 00:31:00 +09:00
dependabot[bot]
8a5577cb53 build(deps): bump peter-evans/create-pull-request from 3 to 4
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 4.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 14:26:09 +00:00
Peter Evans
836d7e6aa8 Merge pull request #64 from peter-evans/v3
Some checks failed
Publish Docker Image / publish (push) Has been cancelled
Update runtime to node 16
2022-03-22 15:26:26 +09:00
Peter Evans
6c2330d495 Update runtime to node 16 2022-03-22 15:22:47 +09:00
Peter Evans
7e2c013575 Merge pull request #63 from peter-evans/rm-workflow
ci: remove workflow
2022-01-27 17:34:35 +09:00
Peter Evans
451dfdc2a0 ci: remove workflow 2022-01-27 17:32:28 +09:00
Peter Evans
72b5f8eb8c Merge pull request #62 from peter-evans/node-fetch
chore: update node-fetch
2022-01-27 17:21:45 +09:00
Peter Evans
142e236b5b chore: update node-fetch 2022-01-27 17:19:41 +09:00
Peter Evans
89908cabb5 Merge pull request #59 from peter-evans/update-distribution
Update distribution
2021-12-02 10:34:18 +09:00
peter-evans
d8b35356f3 build: update distribution 2021-12-02 01:33:50 +00:00
Peter Evans
b73baad189 Merge pull request #58 from peter-evans/update-dependencies
Update dependencies
2021-12-02 10:32:39 +09:00
actions-bot
2f090b7665 chore: update dependencies 2021-12-02 01:24:45 +00:00
Peter Evans
05c1ee4f23 Merge pull request #56 from peter-evans/dependabot/npm_and_yarn/ansi-regex-5.0.1
build(deps): bump ansi-regex from 5.0.0 to 5.0.1
2021-10-07 11:15:32 +09:00
Peter Evans
051fe81a00 Merge pull request #57 from peter-evans/update-distribution
Update distribution
2021-10-07 10:58:08 +09:00
peter-evans
71d921164d build: update distribution 2021-10-07 01:39:26 +00:00
dependabot[bot]
675b619ca6 build(deps): bump ansi-regex from 5.0.0 to 5.0.1
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-07 01:38:53 +00:00
Peter Evans
ff044ee025 Merge pull request #55 from peter-evans/update-dependencies
Update dependencies
2021-10-07 10:38:20 +09:00
actions-bot
2ad1a4749f chore: update dependencies 2021-10-07 01:25:22 +00:00
Peter Evans
b9a0540444 ci: ignore node-fetch updates 2021-09-09 11:24:16 +09:00
Peter Evans
ec57f928ad Merge pull request #52 from peter-evans/update-dependencies
Update dependencies
2021-09-02 13:55:29 +09:00
Peter Evans
86903dfeb9 fix: set error type to any 2021-09-02 13:50:05 +09:00
Peter Evans
ebf083452f chore: update package-lock 2021-09-02 13:49:53 +09:00
Peter Evans
0940284a04 fix: lock node-fetch to minor releases 2021-09-02 13:49:41 +09:00
actions-bot
27aaeae4e5 chore: update dependencies 2021-09-02 01:23:31 +00:00
Peter Evans
c827149363 Merge pull request #51 from peter-evans/update-distribution
Update distribution
2021-07-22 11:00:45 +09:00
peter-evans
0151f40476 build: update distribution 2021-07-22 01:59:05 +00:00
Peter Evans
31c84f79aa Merge pull request #48 from peter-evans/update-dependencies
Update dependencies
2021-07-22 10:58:04 +09:00
actions-bot
d43a08dfeb chore: update dependencies 2021-07-22 01:25:54 +00:00
12 changed files with 8113 additions and 6417 deletions

1
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1 @@
github: peter-evans

15
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
labels:
- "dependencies"
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
allow:
- dependency-name: "@actions/*"

View File

@@ -10,24 +10,29 @@ on:
paths-ignore:
- 'README.md'
- 'docs/**'
permissions:
pull-requests: write
contents: write
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 +45,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 +85,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

View File

@@ -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: |

View File

@@ -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
@@ -38,4 +38,4 @@ jobs:
MAJOR_VERSION=$(echo $VERSION | sed -n "s/^\([0-9]*\).[0-9]*.[0-9]*$/\1/p")
[[ ${#MAJOR_VERSION} -gt 0 ]] && docker tag $IMAGE_NAME $IMAGE_NAME:$MAJOR_VERSION
docker push $IMAGE_NAME
docker push $IMAGE_NAME --all-tags

View File

@@ -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

View File

@@ -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

View File

@@ -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'

4658
dist/index.js vendored

File diff suppressed because one or more lines are too long

9712
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -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.10.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"
}
}

View File

@@ -2,9 +2,12 @@ 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'
import {inspect} from 'util'
const MAX_BYTES = 25000
function getErrorMessage(error: unknown) {
if (error instanceof Error) return error.message
return String(error)
}
async function run(): Promise<void> {
try {
@@ -17,12 +20,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')
@@ -41,7 +38,7 @@ async function run(): Promise<void> {
core.info('Request successful')
} catch (error) {
core.debug(inspect(error))
core.setFailed(error.message)
core.setFailed(getErrorMessage(error))
}
}