build: add gitea runner

This commit is contained in:
xuu 2023-10-13 11:29:51 -06:00
parent e27626d087
commit b5dfb72c30
Signed by: xuu
GPG Key ID: 8B3B0604F164E04F
7 changed files with 187 additions and 0 deletions

View File

@ -0,0 +1,14 @@
[Unit]
Description=sour.is paste
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/sour.is-paste
User=www-data
Restart=always
RestartSec=30
[Install]
WantedBy=multi-user.target

5
.ansible/inventory Normal file
View File

@ -0,0 +1,5 @@
[lavana]
lavana.sour.is
[kapha]
kapha.sour.is

25
.ansible/playbook.yml Normal file
View File

@ -0,0 +1,25 @@
---
- name: Deploy EV
hosts: kapha
tasks:
- name: Copy build to remote
ansible.builtin.copy:
src: ../build/sour.is-paste
dest: /usr/local/bin/sour.is-paste
owner: root
group: root
- name: Copy build to remote
ansible.builtin.copy:
src: sour.is-paste.service
dest: /etc/systemd/system/sour.is-paste.service
owner: root
group: root
- name: Restart service
systemd:
name: sour.is-paste
enabled: true
daemon_reload: true
state: restarted

View File

@ -0,0 +1,25 @@
name: Go Bump
on:
push:
branches: [ "main" ]
jobs:
bump:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
fetch-tags: true
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.21.1
- run: go install github.com/psanetra/git-semver/cli@master
- run: git tag v$(cli next --stable=false) && git push --tags || echo no change
- run: echo "🍏 This job's status is ${{ job.status }}."

38
.gitea/workflows/bump.yml Normal file
View File

@ -0,0 +1,38 @@
name: Go Bump
on:
workflow_dispatch:
inputs:
NAME:
description: "A random input name for the workflow"
type: string
SOME_VALUE:
description: "Some other input to pass"
type: string
# push:
# branches: [ "main" ]
# pull_request:
# branches: [ "main" ]
jobs:
bump:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
fetch-tags: true
- run: echo stable=${{ inputs.STABLE }} pre=${{ inputs.BETA }}
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.21.1
- run: go install github.com/psanetra/git-semver/cli@master
- run: cli next --stable=false
- run: echo "🍏 This job's status is ${{ job.status }}."

View File

@ -0,0 +1,47 @@
name: Deploy
on:
push:
branches: [ "main" ]
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 }}."

33
.gitea/workflows/test.yml Normal file
View File

@ -0,0 +1,33 @@
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 }}."