7 Commits

Author SHA1 Message Date
8b3b4f4429 fix: Add permission for workflow 2023-12-04 10:24:41 +08: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
4 changed files with 49 additions and 7 deletions

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

@ -0,0 +1,36 @@
name: Build and Publish
permissions:
contents: write
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
jobs:
build:
runs-on: ubuntu-latest
name: 构建
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: 'main'
- uses: actions/setup-node@v4
with:
node-version: 16
cache: 'npm'
cache-dependency-path: package-lock.json
- run: npm install -D
- run: npm run package
- run: |
git config user.name github-actions
git config user.email github-actions@github.com
- run: |
git add .
git commit -m "Auto Build"
- id: get_version
uses: battila7/get-version-action@v2
- run: git tag -f "v${{ steps.get_version.outputs.major }}"
- run: git push -f --follow-tags

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:

4
dist/index.js vendored
View File

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

14
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"))
@ -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,
@ -128,4 +128,10 @@ async function uploadFiles(client, owner, repo, release_id, all_files) {
}
}
run();
function getReleaseBody(body, body_path) {
return (
(body_path && fs.readFileSync(body_path).toString("utf8")) || body
)
}
run()