65 lines
1.7 KiB
YAML
65 lines
1.7 KiB
YAML
|
name: Go Test
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
branches: [ "main" ]
|
||
|
pull_request:
|
||
|
branches: [ "main" ]
|
||
|
|
||
|
jobs:
|
||
|
test:
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
|
||
|
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!"
|
||
|
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
|
||
|
|
||
|
- uses: actions/checkout@v3
|
||
|
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
|
||
|
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
|
||
|
|
||
|
- name: List files in the repository
|
||
|
run: |
|
||
|
ls ${{ gitea.workspace }}
|
||
|
|
||
|
- name: Set up Go
|
||
|
uses: actions/setup-go@v3
|
||
|
with:
|
||
|
go-version: 1.21.1
|
||
|
|
||
|
- name: Test
|
||
|
run: go test -v -race -skip '^TestE2E|TestMain' ./...
|
||
|
|
||
|
- run: echo "🍏 This job's status is ${{ job.status }}."
|
||
|
|
||
|
deploy:
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
- uses: actions/checkout@v3
|
||
|
- name: Set up Go
|
||
|
uses: actions/setup-go@v3
|
||
|
with:
|
||
|
go-version: 1.21.1
|
||
|
|
||
|
- name: Build
|
||
|
run: go build -ldflags "-s -w" -o build/ev ./cmd/ev
|
||
|
|
||
|
- name: Compress
|
||
|
uses: gruebel/upx:latest
|
||
|
run: upx --best --lzma -o .ansible/ev build/ev
|
||
|
|
||
|
- name: Deploy
|
||
|
uses: plugins/ansible:3
|
||
|
run: upx --best --lzma -o .ansible/ev build/ev
|
||
|
with:
|
||
|
playbook: .ansible/playbook.yml
|
||
|
inventory: .ansible/inventory
|
||
|
become: true
|
||
|
become_method: sudo
|
||
|
ssh_common_args: -p 65535
|
||
|
user: deploy
|
||
|
private_key:
|
||
|
from_secret: deploy_ssh
|
||
|
|
||
|
- run: echo "🍏 This job's status is ${{ job.status }}."
|