build: add gitea runner
This commit is contained in:
parent
e27626d087
commit
e0b890361b
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 }}."
|
48
.gitea/workflows/deploy.yml
Normal file
48
.gitea/workflows/deploy.yml
Normal file
|
@ -0,0 +1,48 @@
|
|||
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
|
||||
--ssh-extra-args="-p 65535"
|
||||
|
||||
- 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