13 Commits

Author SHA1 Message Date
a21af5d066 fix: workflow add write permission 2023-12-04 10:37:58 +08:00
1050fbf050 chore: change to manual 2023-12-04 10:35:23 +08:00
3494e663be wip 2023-12-04 10:31:05 +08:00
e458649bef fix: Add permission for workflow 2023-12-04 10:31:04 +08:00
ce62ea769e Auto Build 2023-12-04 02:25:07 +00:00
5951579e82 fix: always update main branch 2023-12-04 10:21:17 +08:00
74c59ef00c fix: Add npm install command 2023-12-04 10:17:21 +08:00
d2833c6905 feat: Add github workflow 2023-12-04 10:12:59 +08:00
1def5c9f21 feat: add body_path support 2023-12-04 09:43:35 +08:00
0a1d8705a2 docs: update README.md 2023-12-02 19:24:05 +08:00
1652635ed8 fix: for of loop 2023-12-02 19:16:47 +08:00
1e8f8cc30e fix: upload attachment 2023-12-02 19:09:42 +08:00
9ed6f482bf fix 2023-12-02 13:18:10 +08:00
4 changed files with 76 additions and 31 deletions

33
.github/workflows/publish.yml vendored Normal file
View File

@ -0,0 +1,33 @@
name: Update Main Version
run-name: Move ${{ github.event.inputs.major_version }} to ${{ github.event.inputs.target }}
permissions:
contents: write
on:
workflow_dispatch:
inputs:
target:
description: The tag or reference to use
required: true
major_version:
type: choice
description: The major version to update
options:
- v1
jobs:
tag:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Git config
run: |
git config user.name github-actions
git config user.email github-actions@github.com
- name: Tag new target
run: git tag -f ${{ github.event.inputs.major_version }} ${{ github.event.inputs.target }}
- name: Push new tag
run: git push origin ${{ github.event.inputs.major_version }} --force

View File

@ -22,7 +22,7 @@ The following are optional as `step.with` keys
## Example usage
```yaml
uses: akkuman/gitea-release-action@v1.0.0
uses: akkuman/gitea-release-action@v1
env:
NODE_OPTIONS: '--experimental-fetch' # if nodejs < 18
with:

36
dist/index.js vendored
View File

@ -40898,7 +40898,7 @@ async function run() {
try {
const server_url = core.getInput("server_url")
const name = core.getInput("name")
const body = core.getInput("body")
const body = getReleaseBody(core.getInput("body"), core.getInput("body_path"))
const tag_name = core.getInput("tag_name")
const draft = Boolean(core.getInput("draft"))
const prerelease = Boolean(core.getInput("prerelease"))
@ -40971,7 +40971,7 @@ async function createOrGetRelease(client, owner, repo, body) {
function paths(patterns) {
return patterns.reduce((acc, pattern) => {
return acc.concat(
sync(pattern).filter((path) => statSync(path).isFile())
sync(pattern).filter((path) => external_fs_.statSync(path).isFile())
);
}, []);
};
@ -40990,8 +40990,8 @@ async function uploadFiles(client, owner, repo, release_id, all_files) {
repo: repo,
id: release_id,
})
for (const filepath in all_files) {
for (const attachment in attachments) {
for (const filepath of all_files) {
for (const attachment of attachments) {
if (attachment.name === external_path_.basename(filepath)) {
await client.repository.repoDeleteReleaseAttachment({
owner: owner,
@ -41001,21 +41001,27 @@ async function uploadFiles(client, owner, repo, release_id, all_files) {
})
console.log(`Successfully deleted old release attachment ${attachment.name}`)
}
const content = external_fs_.readFileSync(filepath);
const blob = new external_buffer_.Blob([content]);
await client.repository.repoCreateReleaseAttachment({
owner: owner,
repo: repo,
id: release_id,
attachment: blob,
name: external_path_.basename(filepath),
})
console.log(`Successfully uploaded release attachment ${filepath}`)
}
const content = external_fs_.readFileSync(filepath);
const blob = new external_buffer_.Blob([content]);
await client.repository.repoCreateReleaseAttachment({
owner: owner,
repo: repo,
id: release_id,
attachment: blob,
name: external_path_.basename(filepath),
})
console.log(`Successfully uploaded release attachment ${filepath}`)
}
}
run();
function getReleaseBody(body, body_path) {
return (
(body_path && external_fs_.readFileSync(body_path).toString("utf8")) || body
)
}
run()
})();

36
main.js
View File

@ -11,7 +11,7 @@ async function run() {
try {
const server_url = core.getInput("server_url")
const name = core.getInput("name")
const body = core.getInput("body")
const body = getReleaseBody(core.getInput("body"), core.getInput("body_path"))
const tag_name = core.getInput("tag_name")
const draft = Boolean(core.getInput("draft"))
const prerelease = Boolean(core.getInput("prerelease"))
@ -84,7 +84,7 @@ async function createOrGetRelease(client, owner, repo, body) {
function paths(patterns) {
return patterns.reduce((acc, pattern) => {
return acc.concat(
glob.sync(pattern).filter((path) => statSync(path).isFile())
glob.sync(pattern).filter((path) => fs.statSync(path).isFile())
);
}, []);
};
@ -103,8 +103,8 @@ async function uploadFiles(client, owner, repo, release_id, all_files) {
repo: repo,
id: release_id,
})
for (const filepath in all_files) {
for (const attachment in attachments) {
for (const filepath of all_files) {
for (const attachment of attachments) {
if (attachment.name === path.basename(filepath)) {
await client.repository.repoDeleteReleaseAttachment({
owner: owner,
@ -114,18 +114,24 @@ async function uploadFiles(client, owner, repo, release_id, all_files) {
})
console.log(`Successfully deleted old release attachment ${attachment.name}`)
}
const content = fs.readFileSync(filepath);
const blob = new Blob([content]);
await client.repository.repoCreateReleaseAttachment({
owner: owner,
repo: repo,
id: release_id,
attachment: blob,
name: path.basename(filepath),
})
console.log(`Successfully uploaded release attachment ${filepath}`)
}
const content = fs.readFileSync(filepath);
const blob = new Blob([content]);
await client.repository.repoCreateReleaseAttachment({
owner: owner,
repo: repo,
id: release_id,
attachment: blob,
name: path.basename(filepath),
})
console.log(`Successfully uploaded release attachment ${filepath}`)
}
}
run();
function getReleaseBody(body, body_path) {
return (
(body_path && fs.readFileSync(body_path).toString("utf8")) || body
)
}
run()