Use actions instead of drone #163
55
.drone.yml
55
.drone.yml
|
@ -1,55 +0,0 @@
|
|||
---
|
||||
kind: pipeline
|
||||
name: testing
|
||||
|
||||
steps:
|
||||
- name: fetch-tags
|
||||
pull: default
|
||||
image: docker:git
|
||||
commands:
|
||||
- git fetch --tags --force
|
||||
when:
|
||||
event:
|
||||
exclude:
|
||||
- pull_request
|
||||
|
||||
- name: linter
|
||||
image: golang:1.14
|
||||
commands:
|
||||
- go get github.com/golangci/golangci-lint/cmd/golangci-lint@v1.30.0
|
||||
- golangci-lint run
|
||||
environment:
|
||||
GOPROXY: https://goproxy.cn,direct
|
||||
|
||||
- name: test
|
||||
pull: always
|
||||
image: golang:1.13
|
||||
commands:
|
||||
- export PATH=$PATH:/go:/srv/app/bin
|
||||
- go vet ./...
|
||||
- go test -v -race ./...
|
||||
environment:
|
||||
GOPATH: /srv/app
|
||||
MINIO_SERVER_ENDPOINT: minio:9000
|
||||
MINIO_SERVER_ACCESS_KEY_ID:
|
||||
from_secret: aws_access_key_id
|
||||
MINIO_SERVER_SECRET_KEY:
|
||||
from_secret: aws_secret_access_key
|
||||
MINIO_SERVER_BUCKET: test
|
||||
GOPROXY: https://goproxy.cn,direct
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
- tag
|
||||
- pull_request
|
||||
|
||||
services:
|
||||
- name: minio
|
||||
image: minio/minio:RELEASE.2020-03-14T02-21-58Z
|
||||
commands:
|
||||
- minio server ./data
|
||||
environment:
|
||||
MINIO_ACCESS_KEY:
|
||||
from_secret: aws_access_key_id
|
||||
MINIO_SECRET_KEY:
|
||||
from_secret: aws_secret_access_key
|
84
.gitea/workflows/release_tag.yml
Normal file
84
.gitea/workflows/release_tag.yml
Normal file
|
@ -0,0 +1,84 @@
|
|||
name: release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: setup go
|
||||
uses: https://github.com/actions/setup-go@v4
|
||||
with:
|
||||
go-version: '>=1.20.1'
|
||||
- name: go generate
|
||||
run: go generate ./...
|
||||
- name: release-build
|
||||
run: go build -ldflags="-s -w -X 'main.Version=${{ github.ref_name }}'" -o bin/ftpd-${{ github.ref_name }}-linux-amd64
|
||||
- name: release-build-windows
|
||||
run: GOOS=windows GOARCH=amd64 go build -ldflags="-s -w -X 'main.Version=${{ github.ref_name }}'" -o bin/ftpd-${{ github.ref_name }}-windows-amd64.exe
|
||||
- name: release-build-darwin
|
||||
run: GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w -X 'main.Version=${{ github.ref_name }}'" -o bin/ftpd-${{ github.ref_name }}-darwin-amd64
|
||||
- name: Use Go Action
|
||||
id: use-go-action
|
||||
uses: actions/release-action@main
|
||||
with:
|
||||
files: |-
|
||||
bin/**
|
||||
api_key: '${{secrets.RELEASE_TOKEN}}'
|
||||
|
||||
release-image:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: catthehacker/ubuntu:act-latest
|
||||
env:
|
||||
DOCKER_ORG: gitea
|
||||
DOCKER_LATEST: latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0 # all history for all branches and tags
|
||||
|
||||
- name: dockerfile lint check
|
||||
uses: https://github.com/hadolint/hadolint-action@v3.1.0
|
||||
with:
|
||||
dockerfile: Dockerfile
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
|
||||
- name: Set up Docker BuildX
|
||||
uses: docker/setup-buildx-action@v2
|
||||
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Get Meta
|
||||
id: meta
|
||||
run: |
|
||||
echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT
|
||||
echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v4
|
||||
env:
|
||||
ACTIONS_RUNTIME_TOKEN: '' # See https://gitea.com/gitea/act_runner/issues/119
|
||||
with:
|
||||
context: .
|
||||
file: ./Dockerfile
|
||||
platforms: |
|
||||
linux/amd64
|
||||
linux/arm64
|
||||
push: true
|
||||
tags: |
|
||||
${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.REPO_VERSION }}
|
||||
${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ env.DOCKER_LATEST }}
|
58
.gitea/workflows/test.yml
Normal file
58
.gitea/workflows/test.yml
Normal file
|
@ -0,0 +1,58 @@
|
|||
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: https://github.com/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 ./...
|
||||
env:
|
||||
MINIO_SERVER_ENDPOINT: minio:9000
|
||||
MINIO_SERVER_ACCESS_KEY_ID: ${{ secrets.aws_access_key_id }}
|
||||
MINIO_SERVER_SECRET_KEY: ${{ secrets.aws_secret_access_key }}
|
||||
MINIO_SERVER_BUCKET: test
|
||||
services:
|
||||
minio:
|
||||
image: minio/minio:RELEASE.2022-07-24T01-54-52Z
|
||||
env:
|
||||
MINIO_ACCESS_KEY: ${{ secrets.aws_access_key_id }}
|
||||
MINIO_SECRET_KEY: ${{ secrets.aws_secret_access_key }}
|
||||
cmd:
|
||||
- 'minio'
|
||||
- 'server'
|
||||
- '/data'
|
|
@ -1,6 +1,6 @@
|
|||
# server
|
||||
|
||||
[![Build Status](https://drone.gitea.com/api/badges/goftp/server/status.svg)](https://drone.gitea.com/goftp/server) [![](http://gocover.io/_badge/gitea.com/goftp/server)](http://gocover.io/gitea.com/goftp/server)
|
||||
[![](http://gocover.io/_badge/gitea.com/goftp/server)](http://gocover.io/gitea.com/goftp/server)
|
||||
[![](https://goreportcard.com/badge/gitea.com/goftp/server)](https://goreportcard.com/report/gitea.com/goftp/server)
|
||||
|
||||
A FTP server framework forked from [github.com/yob/graval](http://github.com/yob/graval) and changed a lot.
|
||||
|
|
Loading…
Reference in New Issue
Block a user