48 lines
1.1 KiB
YAML
48 lines
1.1 KiB
YAML
name: Deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [ "main", "master" ]
|
|
release:
|
|
types: [ published ]
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
|
|
- run: apt-get update && apt-get -y install ansible
|
|
|
|
- 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/sour.is-paste ./cmd/paste
|
|
|
|
- name: Compress
|
|
uses: https://git.sour.is/actions/ghaction-upx@v2.4.0
|
|
with:
|
|
version: latest
|
|
files: |
|
|
./build/sour.is-paste
|
|
args: -fq
|
|
|
|
- name: Deploy
|
|
uses: https://git.sour.is/actions/action-ansible-playbook@v2
|
|
with:
|
|
playbook: ${{ gitea.workspace }}/.ansible/playbook.yml
|
|
key: ${{secrets.deploy_ssh}}
|
|
options: |
|
|
--inventory .ansible/inventory
|
|
--become
|
|
--become-method sudo
|
|
--user deploy
|
|
|
|
- run: echo "🍏 This job's status is ${{ job.status }}."
|