build: add gitea runner
This commit is contained in:
parent
e27626d087
commit
b5dfb72c30
14
.ansible/files/sour.is-paste.service
Normal file
14
.ansible/files/sour.is-paste.service
Normal 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
5
.ansible/inventory
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
[lavana]
|
||||||
|
lavana.sour.is
|
||||||
|
|
||||||
|
[kapha]
|
||||||
|
kapha.sour.is
|
25
.ansible/playbook.yml
Normal file
25
.ansible/playbook.yml
Normal 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
|
25
.gitea/workflows/bump-push.yml
Normal file
25
.gitea/workflows/bump-push.yml
Normal 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
38
.gitea/workflows/bump.yml
Normal 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 }}."
|
47
.gitea/workflows/deploy.yml
Normal file
47
.gitea/workflows/deploy.yml
Normal 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
33
.gitea/workflows/test.yml
Normal 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 }}."
|
Loading…
Reference in New Issue
Block a user