Merge pull request 'update README and add actions' (#4) from lunny/update into main

Reviewed-on: https://gitea.com/actions/release-action/pulls/4
This commit is contained in:
Lunny Xiao 2023-05-15 13:50:58 +08:00
commit d7dc2ceaac
3 changed files with 69 additions and 3 deletions

43
.gitea/workflows/test.yml Normal file

@ -0,0 +1,43 @@
name: checks
on:
- push
- pull_request
env:
GOPROXY: https://goproxy.io,direct
GOPATH: /go_path
GOCACHE: /go_cache
jobs:
lint:
name: check and test
runs-on: ubuntu-latest
steps:
- name: cache go path
id: cache-go-path
uses: https://github.com/actions/cache@v3
with:
path: /go_path
key: go_path-${{ github.repository }}-${{ github.ref_name }}
restore-keys: |
go_path-${{ github.repository }}-
go_path-
- name: cache go cache
id: cache-go-cache
uses: https://github.com/actions/cache@v3
with:
path: /go_cache
key: go_cache-${{ github.repository }}-${{ github.ref_name }}
restore-keys: |
go_cache-${{ github.repository }}-
go_cache-
- uses: actions/setup-go@v3
with:
go-version: 1.20
- uses: actions/checkout@v3
- name: lint
run: go install golang.org/x/lint/golint@latest && golint ./...
- name: vet
run: go vet
- name: test
run: go test -v -race -coverprofile=coverage.txt -covermode=atomic ./...

@ -1,3 +1,26 @@
# Release Action # Release Action
This action will help Gitea users to publish release and attachments. This action will help Gitea users to publish release and attachments.
## Example
```yaml
name: release
on:
push:
tags:
- '*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Use Go Action
id: use-go-action
uses: https://gitea.com/actions/release-action@main
with:
files: |-
bin/**
api_key: '${{secrets.RELEASE_TOKEN}}'
```

@ -16,7 +16,7 @@ import (
func main() { func main() {
ctx, err := gha.Context() ctx, err := gha.Context()
if err != nil { if err != nil {
gha.Fatalf("failed to get context: %w", err) gha.Fatalf("failed to get context: %v", err)
} }
if !strings.HasPrefix(ctx.Ref, "refs/tags/") { if !strings.HasPrefix(ctx.Ref, "refs/tags/") {
@ -61,7 +61,7 @@ func main() {
// Note: rc.Note, // Note: rc.Note,
}) })
if err != nil { if err != nil {
gha.Fatalf("failed to create release: %w", err) gha.Fatalf("failed to create release: %v", err)
} }
matchedFiles, err := getFiles(ctx.Workspace, files) matchedFiles, err := getFiles(ctx.Workspace, files)
@ -70,7 +70,7 @@ func main() {
} }
if err := uploadFiles(ctx, c, owner, repo, rel.ID, matchedFiles); err != nil { if err := uploadFiles(ctx, c, owner, repo, rel.ID, matchedFiles); err != nil {
gha.Fatalf("Failed to upload files: %w", err) gha.Fatalf("Failed to upload files: %v", err)
} }
gha.SetOutput("status", "success") gha.SetOutput("status", "success")